Download - Datenbanksysteme

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