Upload
avel
View
24
Download
0
Embed Size (px)
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
Citation preview
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.