Datenbanksysteme

Post on 21-Jan-2016

24 views 0 download

description

Datenbanksysteme. Donald Kossmann TU München. Übersicht. Wie benutze ich ein Datenbanksystem? Datenmodellierung (ER, UML, Theorie) Datenbankprogrammierung (SQL) Wie baue ich ein Datenbanksystem? Anfrageoptimierung Transaktionsverwaltung Wie sieht die nächste Generation aus? - PowerPoint PPT Presentation

Transcript of Datenbanksysteme

Datenbanksysteme

Donald Kossmann

TU München

Übersicht• Wie benutze ich ein Datenbanksystem?

– Datenmodellierung (ER, UML, Theorie)– Datenbankprogrammierung (SQL)

• Wie baue ich ein Datenbanksystem?– Anfrageoptimierung– Transaktionsverwaltung

• Wie sieht die nächste Generation aus?– Objektorientierte, objektrelationale Datenbanken– Data Warehousing, Decision Support, Data Mining– XML, verteilte Datenbanken, WWW

Was ist ein Datenbanksystem?

• Ein Datenbanksystem ist ein Werkzeug zur Entwicklung von datenintensiven Anwendungen:– großer Datenbestand– große Datenströme

Vision

• Alles Wissen dieser Welt elektronisch speichern und jederzeit und an jedem Ort jedem autorisierten Benutzer zur Verfügung stellen.

• Status: Technologie ist da (Karteikästen). Das Modell fehlt (Beschriftung der Kästen).

Typische Anwendungen

• Bank (Buchungen Kontoverwaltung)

• Bibliothek (Volltextsuche, Entleihe)

• Redaktionssysteme im Internet(Dokumente erstellen, Struktur einer Website)

• E-Business (Auftrag, Katalog)

• ERP (Personal, Buchhaltung, Controlling)

• Decision Support (statistische Auswertungen)

Architekturen und Ausprägungen

• Großrechner

• Client-Server

• Multi-Tier Architekturen

• Parallele Datenbanksysteme

• Verteilte, Peer-to-peer Datenbanken

Großrechner

Großrechner(Anwendung + DB)

Terminals Batch Jobs

einfache Text- interfaces zur

Administration

Hier spielt die ganze

Musik

Client-Server

Datenbankserver

Client Client

Anwendungslogik,GUIs

Datenhaltung

Vorteile von Client/Server

• Skalierbarkeit: Clientrechner übernehmen einen Teil der Last – je mehr Nutzer desto mehr Clientrechner

• Verfügbarkeit: Hardware am Server kann redundant ausgelegt werden

• Sicherheit: Beschütze Server und Zugang zum Server

• Administrierbarkeit: Backups nur am Server

• Nachteil: Komplexität (Caching, usw.)

Three-Tier

Datenbankserver

Application-Server

Application-Server

PC PC PC PC PC

Datenbanken im Web

Datenbankserver

Application-Server

Application-Server

Browser

Web-Server Web-Server Web-Server

Browser Browser BrowserBrowserBrowser

Internet

Multi-Tier-Architekturen

• Schichtenarchitektur:– Jede Ebene implementiert einen anderen Aspekt

(Datenbank, Anwendungen, GUI, ...)– Unterschiedliche Anbieter für einzelnen Schichten

(Oracle für die Datenbank, sd&m für die Anwendung, Apache für den Webserver, Microsoft fürs GUI)

• Jede Schicht kann auf einem eigenen Rechner implementiert werden. Es können aber auch mehrere Schichten auf einem Rechner installiert werden.

• Skalierbarkeit auf jeder Schicht bis auf Datenbank.

Paralleles Datenbanksystem

Application-Server

Application-Server

PC PC PC PC PC

DB1 DB2 DB3

Paralleles Datenbanksystem

• Das Datenbanksystem selber ist aus mehreren Knoten (Festplatten, CPUs) aufgebaut. Die Knoten sind durch ein schnelles Netzwerk verbunden.

• Ziele:– Höheren Durchsatz (Inter-Query Parallelität)– Niedrigere Antwortzeiten (Intra-Query Parall.)– Höhere Verfügbarkeit– Kosten, Erweiterbarkeit, Skalierbarkeit

• Wichtig: Transparenz

Verteiltes Datenbanksystem

DB1

Internet /Intranet Internet /Intranet

DB1

DB2 DB3

Client

Client

Verteilte Datenbanken

• Die einzelnen Datenbanken sind autonom und durch ein langsames, instabiles Netzwerk verbunden. Zugriff von überall auf alles möglich.

• Großen Organisationen mit vielen Filialen.

• Prinzip: Speichere Daten, wo sie gebraucht werden. Eventuell: Replikation.

• Transparenz:– Benutzer weiß nicht, wo Kopien, welcher Daten

liegen. Aus Sicht des Benutzers ist der Zugriff auf das gesamte System wie bei einem zentralen System.