Datenbanksysteme

16
Datenbanksysteme Donald Kossmann TU München

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

Page 1: Datenbanksysteme

Datenbanksysteme

Donald Kossmann

TU München

Page 2: Datenbanksysteme

Ü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

Page 3: Datenbanksysteme

Was ist ein Datenbanksystem?

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

Page 4: Datenbanksysteme

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).

Page 5: Datenbanksysteme

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)

Page 6: Datenbanksysteme

Architekturen und Ausprägungen

• Großrechner

• Client-Server

• Multi-Tier Architekturen

• Parallele Datenbanksysteme

• Verteilte, Peer-to-peer Datenbanken

Page 7: Datenbanksysteme

Großrechner

Großrechner(Anwendung + DB)

Terminals Batch Jobs

einfache Text- interfaces zur

Administration

Hier spielt die ganze

Musik

Page 8: Datenbanksysteme

Client-Server

Datenbankserver

Client Client

Anwendungslogik,GUIs

Datenhaltung

Page 9: Datenbanksysteme

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.)

Page 10: Datenbanksysteme

Three-Tier

Datenbankserver

Application-Server

Application-Server

PC PC PC PC PC

Page 11: Datenbanksysteme

Datenbanken im Web

Datenbankserver

Application-Server

Application-Server

Browser

Web-Server Web-Server Web-Server

Browser Browser BrowserBrowserBrowser

Internet

Page 12: Datenbanksysteme

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.

Page 13: Datenbanksysteme

Paralleles Datenbanksystem

Application-Server

Application-Server

PC PC PC PC PC

DB1 DB2 DB3

Page 14: Datenbanksysteme

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

Page 15: Datenbanksysteme

Verteiltes Datenbanksystem

DB1

Internet /Intranet Internet /Intranet

DB1

DB2 DB3

Client

Client

Page 16: Datenbanksysteme

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.