Kapitel 2: Referenzarchitektur für Datenbanksysteme Kapitel 2: Referenzarchitektur für Datenbanksysteme Methodischer Architekturentwurf Architekturentwurf für Datenbanksysteme Referenzarchitektur Methodischer Architekturentwurf Architekturentwurf für Datenbanksysteme Referenzarchitektur SS 2004 B. König-Ries: Datenbanksysteme 2-1 Was ist ein Dienst? SS 2004 B. König-Ries: Datenbanksysteme 2-2 Entwurfsthese (1): Diensthierarchien Grundlage: Teile-und-herrsche Dienstnehmer Prozessschritt Prozessschritt höherwertige Verantwortlichkeit Dienst Anforderungen Dienstleistungsvereinbarung Dienst = Verpflichtung Kompetenz Dienstentwurf: RessourcenVerwalter Ermittle die Kompetenzen für einen breiten Abnehmerkreis Dienstgeber Lege fest, welche Verpflichtungen (Verantwortlichkeiten) übernommen werden sollen Prozessschritt Prozessschritt SS 2004 Funktionalität Merkmale B. König-Ries: Datenbanksysteme Dienst Funktionalität Merkmale Dienst Funktionalität Merkmale Dienst Funktionalität Merkmale niederwertige Verantwortlichkeiten 2-3 SS 2004 B. König-Ries: Datenbanksysteme 2-4 1 Entwurfsthese (2): Diensthierarchien Entwurfsthese (3): Systemschichtung Funktionale Zerlegung Schicht n höherwertige Verantwortlichkeit Dienst Schrittweise Verfeinerung Funktionalität Merkmale Zerlegung: teile höherwertige Verantwortlichkeit auf Komposition: verbinde zu höherwertiger Verantwortlichkeit Dienst ? Funktionalität Merkmale Dienst ? Funktionalität Merkmale Schnittstelle n-1 Zerlegung einer Schicht in Bausteine, die gemeinsam unter Nutzung der Dienste der darunterliegenden Schicht den Dienst der oberen Schicht schaffen Schicht n-1 Schnittstelle n-2 Schicht n-2 Dienst ? Funktionalität Merkmale Schnittstelle 0 (Geräteschnittstelle) niederwertige Verantwortlichkeiten SS 2004 Schnittstelle n (Nutzerschnittstelle) B. König-Ries: Datenbanksysteme 2-5 B. König-Ries: Datenbanksysteme 2-6 Korrektheit von Schichtenarchitekturen (1) Entwurfsthese (3): Systemschichtung Schicht n SS 2004 Schnittstelle n (Nutzerschnittstelle) Grundsatz: Sei Di Dienst von Schicht i. Di-1 bildet die vollständige und alleinige Grundlage für die Realisierung von Dienst Di. Schnittstelle n-1 Schicht n-1 Begründung : Schnittstelle n-2 Schrittweise Vergröberung Zusammenfassung von Dienstfunktionen einer unteren Schicht in Bausteine, die gemeinsam den Dienst der oberen Schicht schaffen Schicht n-2 Keine unkontrollierte Fortpflanzung der Änderungen in einer Schicht nach oben. Beweis der Korrektheit der Realisierung der Dienste Di eines Verwalters Mi lokal führbar, weil man die Korrektheit von Di-1 unterstellen kann. Schnittstelle 0 (Geräteschnittstelle) SS 2004 B. König-Ries: Datenbanksysteme 2-7 SS 2004 B. König-Ries: Datenbanksysteme 2-8 2 Ausgangspunkt der Schichtung Erfordert nichtflüchtiges Speichermedium: Langsamer Plattenspeicher als physischer Engpass Nachrangige Merkmale: Lassen sie sich orthogonal hinzufügen? Kapitel 2: Referenzarchitektur für Datenbanksysteme Dienstfunktionalität Datenmodell Dienstmerkmale Bedeutungstreue Konsistenz Dauerhaftigkeit Leistung |Performanz Skalierbarkeit | Robustheit Persistenz/Resistenz Dienst Methodischer Architekturentwurf Architekturentwurf für Datenbanksysteme Referenzarchitektur Algorithmen und Datenstrukturen Behauptung 2: Erfordert Kooperation SS 2004 B. König-Ries: Datenbanksysteme 2-9 Entwurf von DBMS (1) SS 2004 B. König-Ries: Datenbanksysteme Behauptung 1: Wichtigstes Merkmal 2-10 Entwurf von DBMS (2) Schicht n Schicht n Schrittweise Verfeinerung Zerlegung einer Schicht in Bausteine, die gemeinsam unter Nutzung der Datenmodell Dienste der darunterliegenden Schicht den Dienst der oberen Schicht schaffen Schicht n-1 Schicht n-2 SS 2004 Schicht n-1 Datenmodell Schrittweise Vergröberung Schicht n-2 Zusammenfassung von Dienstfunktionen einer unteren Schicht Performanz in Bausteine, die gemeinsam den Dienst der oberen Schicht schaffen B. König-Ries: Datenbanksysteme 2-11 Konsistenz Persistenz Resistenz Dauerhaftigkeit Performanz SS 2004 B. König-Ries: Datenbanksysteme 2-12 3 Entwurf einer Schicht Datenmodell mächtigeres Datenmodell Datenmodell abbildung ausdrucksschwächeres Datenmodell Schnittstelle Di (Datenmodell) Daten- verbessertes auftritt Kontextwissen Zugriffsprofil Kapitel 12: Referenzarchitektur für Datenbanksysteme Schicht i Schnittstelle Di-1 Methodischer Architekturentwurf Architekturentwurf für Datenbanksysteme Referenzarchitektur geringeres Kontextwissen Performanz SS 2004 B. König-Ries: Datenbanksysteme 2-13 Datenbasis-Verwalter (1) Datentypen: Sätze und Satzmengen Operatoren: Operatoren auf Sätzen Datenmodell Datenauftritt Externes Datenmodell Logische Datenstruktur Anfragebearbeitung Internes Datenmodell B. König-Ries: Datenbanksysteme Datentypen: Satzmengen Operatoren: Operatoren auf Mengen Datentypen: Sätze und Satzmengen Operatoren: Operatoren auf Sätzen Statische Struktur Aufgaben: Abbildung von externen auf interne Satzmengen gemäß Zugriffsdichte Übersetzung von Anfragen auf Mengen in Folgen von Satz-Operationen Optimierung dieser Operationsfolgen Durchsetzung von Konsistenzbedingungen gemäß statischer Datenstruktur SS 2004 B. König-Ries: Datenbanksysteme 2-14 Datenbasis-Verwalter (2) Datenmodell Datentypen: Satzmengen Operatoren: Operatoren auf Mengen SS 2004 2-15 Datentypen: Listen, Suchbäume, Hashtabellen,... Operatoren: Listen: seq. Durchlauf Bäume: seq. Durchlauf, gez. Suche Hashtabellen: gezielte Suche SS 2004 Datenauftritt Externes Datenmodell Logische Datenstruktur Anfragebearbeitung Internes Datenmodell Statische Struktur Satz- u. Satzmengenverwaltung Physische Datenstrukturen Dynamische Struktur Aufgaben: Abbildung von Satzmengen auf physische Datenstrukturen (Bäume, Hashtabellen, ...) gemäß Zugriffsmuster Abbildung von Satz- u. Satzmengenoperatoren auf Operatoren der unterliegenden Datenstruktur B. König-Ries: Datenbanksysteme 2-16 4 Datenbasis-Verwalter (2) Datenbasis-Verwalter (3) Datenmodell Datentypen: Satzmengen Operatoren: Operatoren auf Mengen Datentypen: Sätze und Satzmengen Operatoren: Operatoren auf Sätzen Datentypen: Listen, Suchbäume, Hashtabellen,... Operatoren: Listen: seq. Durchlauf Bäume: seq. Durchlauf, gez. Suche Hashtabellen: gezielte Suche Datenmodell Datenauftritt Externes Datenmodell Anfragebearbeitung Internes Datenmodell Statische Struktur Satz- u. Satzmengenverwaltung Physische Datenstrukturen Aufgaben: Bereitstellung eines Namensraums für Dateien Platzierung von logischen Blöcken auf dem Speichermedium gemäß Geräteprofil Freispeicherverwaltung auf dem Speichermedium Prüfung von Lese- u. Schreiboperationen Bedienung der Geräteschnittstelle Dynamische Struktur Datentypen: Block = feste Anzahl von Bytes Datei = variable Anzahl v. Blöcken Operatoren: Dateien anlegen/öffnen/schließen Lesen/Schreiben von Blöcken Geräte-E/A SS 2004 Datenauftritt Logische Datenstruktur B. König-Ries: Datenbanksysteme 2-17 Datenbasis-Verwalter (4) SS 2004 Dateien Dateiverwaltung Geräteschnittstelle Vereinheitlichte Speicherstruktur Individuelle Speicherstruktur B. König-Ries: Datenbanksysteme 2-18 Datenbasis-Verwalter (4) Datenmodell Datenmodell Datenauftritt Datenauftritt Aufgaben: Zuordnung von Segmenten zu Dateien Zuordnung von Seiten zu Dateiblöcken Anstoß und Überwachung von Seiten-Transfers zwischen Haupt- u. Hintergrundspeicher Minimierung von Transfer-Wartezeiten durch geeignete Pufferungs-Strategien gemäß Zugriffsmuster Datentypen: Seite = feste Anzahl von Bytes Segment = var. Anzahl von Seiten Operatoren: Anforderung/Freigabe von Seiten Segmente anlegen/öffnen/schließen Datentypen: Block = feste Anzahl von Bytes Datei = variable Anzahl v. Blöcken Operatoren: Dateien anlegen/öffnen/schließen Lesen/Schreiben von Blöcken Geräte-E/A SS 2004 Hauptspeicherseiten u. Segmente Segment- u. Pufferverwaltung Dateien Dateiverwaltung Geräteschnittstelle B. König-Ries: Datenbanksysteme Bevorratung von Daten im Hauptspeicher Keine sichtbare Abweichung zwischen Haupt- und Hintergrundspeicherinhalt Vereinheitlichte Speicherstruktur Datentypen: Seite = feste Anzahl von Bytes Segment = var. Anzahl von Seiten Operatoren: Anforderung/Freigabe von Seiten Segmente anlegen/öffnen/schließen Datentypen: Block = feste Anzahl von Bytes Datei = variable Anzahl v. Blöcken Operatoren: Dateien anlegen/öffnen/schließen Lesen/Schreiben von Blöcken Individuelle Speicherstruktur Geräte-E/A 2-19 SS 2004 Hauptspeicherseiten u. Segmente Segment- u. Pufferverwaltung Dateien Dateiverwaltung Geräteschnittstelle B. König-Ries: Datenbanksysteme Bevorratung von Daten im Hauptspeicher Keine sichtbare Abweichung zwischen Haupt- und Hintergrundspeicherinhalt Vereinheitlichte Speicherstruktur Individuelle Speicherstruktur 2-20 5 Datenbasis-Verwalter (5) Datenbasis-Verwalter (5) Datenmodell Datenmodell Datentypen: Satzmengen Operatoren: Operatoren auf Mengen Externes Datenmodell Datentypen: Sätze und Satzmengen Operatoren: Operatoren auf Sätzen Zugriffsschicht Datentypen: Seite = feste Anzahl von Bytes Segment = var. Anzahl von Seiten Operatoren: Anforderung/Freigabe von Seiten Segmente anlegen/öffnen/schließen Hauptspeicherseiten u. Segmente Segment- u. Pufferverwaltung Datentypen: Block = feste Anzahl von Bytes Datei = variable Anzahl v. Blöcken Operatoren: Dateien anlegen/öffnen/schließen Lesen/Schreiben von Blöcken Geräte-E/A Logische Datenstruktur Anfragebearbeitung Aufgaben: Implementierung der physischen Datenstrukturen in Statische Struktur einem virtuellen Adressraum Internes Datenmodell Abbildung von Datensätzen auf Seiten Satz- u. Satzmengenverwaltung Gruppierung von Datenelementen (Clustering) gemäß Nachbarschaftsprofil zur Minimierung von Plattenzugriffen Dynamische Struktur Physische Datenstrukturen Datentypen: Listen, Suchbäume, Hashtabellen,... Operatoren: Listen: seq. Durchlauf Bäume: seq. Durchlauf, gez. Suche Hashtabellen: gezielte Suche SS 2004 Dateien Dateiverwaltung Geräteschnittstelle Bevorratung von Daten im Hauptspeicher Keine sichtbare Abweichung zwischen Haupt- und Hintergrundspeicherinhalt Individuelle Speicherstruktur B. König-Ries: Datenbanksysteme 2-21 Anfragebearbeitung Internes Datenmodell Datentypen: Listen, Suchbäume, Hashtabellen,... Operatoren: Listen: seq. Durchlauf Bäume: seq. Durchlauf, gez. Suche Hashtabellen: gezielte Suche Physische Datenstrukturen Geräte-E/A Dynamische Struktur Zugriffsschicht Datentypen: Seite = feste Anzahl von Bytes Segment = var. Anzahl von Seiten Operatoren: Anforderung/Freigabe von Seiten Segmente anlegen/öffnen/schließen SS 2004 Statische Struktur Satz- u. Satzmengenverwaltung Hauptspeicherseiten u. Segmente Segment- u. Pufferverwaltung Dateien Dateiverwaltung Geräteschnittstelle Bevorratung von Daten im Hauptspeicher Keine sichtbare Abweichung zwischen Haupt- und Hintergrundspeicherinhalt Vereinheitlichte Speicherstruktur Individuelle Speicherstruktur B. König-Ries: Datenbanksysteme 2-22 Verallgemeinerung auf alle semantiktragenden Schichten Schnittstelle Di (Datenmodell) Metadaten ausdrucksschwächeres Datenmodell Datentypen: Sätze und Satzmengen Operatoren: Operatoren auf Sätzen Statische Datenstruktur Schemakonsistenz (2) Datenmodell Datenmodellabbildung Datenauftritt Externes Datenmodell Datentypen: Block = feste Anzahl von Bytes Datei = variable Anzahl v. Blöcken Operatoren: Dateien anlegen/öffnen/schließen Lesen/Schreiben von Blöcken Vereinheitlichte Speicherstruktur Schemakonsistenz (1) ausdrucksstärkeres Datenmodell Datentypen: Satzmengen Operatoren: Operatoren auf Mengen Datenauftritt verbessertes Kontextwissen Datenauftritt Metadaten Zugriffsprofil Schicht i höherwertiges Datenmodell Strukturabbildung Anfrage- oder Operatorimplementierung Schemaabbildung Schnittstelle Di-1 geringeres Kontextwissen Metadaten niederwertiges Datenmodell Strukturabbildung Anfrage- oder Operatorimplementierung Performanz Polymorphe Operatoren interpretieren Metadaten. In der obersten Schicht: Schema sind die Metadaten. SS 2004 B. König-Ries: Datenbanksysteme 2-23 SS 2004 B. König-Ries: Datenbanksysteme 2-24 6 Schemakonsistenz (3) Konsistenz, Persistenz, Resistenz (1) Konsistenz: Transaktion als Ausführung einer Transaktionsprozedur Persistenz: Herstellen der Dauerhaftigkeit erst bei erfolgreichem Transaktionsabschluss Fehler-Resistenz: Üblich: Zurücksetzen auf den Transaktionsanfang. Konflikt-Resistenz: Isolation der Transaktionen untereinander. Externes Datenmodell Anfragebearbeitung Datenwörterbuch Internes Datenmodell Satz- u. Satzmengenverwaltung RecoveryVerwalter Physische Datenstrukturen Metadaten Zugriffsschicht Hauptspeicherseiten u. Segmente Segment- u. Pufferverwaltung Scheduler Dateien Dateiverwaltung Geräteschnittstelle SS 2004 Primärdaten B. König-Ries: Datenbanksysteme 2-25 Konsistenz, Persistenz, Resistenz (2) SS 2004 B. König-Ries: Datenbanksysteme 2-26 Konsistenz, Persistenz, Resistenz (3) Platzierung von Scheduler und Recovery-Verwalter: Recovery-Verwalter benötigt Wissen um Transporte zwischen Hauptund Hintergrundspeicher Konsequenz: Integration mit Segmentverwaltung Scheduler sollte mit denselben Einheiten wie der Recovery-Verwalter umgehen, daher Ansiedlung dort Transaktions-Koordinator: Entgegennahme von Start-, Ende- und Abbruch-Anforderungen Vergabe von Transaktionskennungen Buchführung über Stand der Transaktion Weiterreichen von Operationen mit Kennungen an Scheduler Externes Datenmodell Anfragebearbeitung Internes Datenmodell Satz- u. Satzmengenverwaltung Physische Datenstrukturen Zugriffsschicht Scheduler Hauptspeicherseiten u. Segmente Recovery-Verwalter Segment- u. Pufferverwaltung Dateien Dateiverwaltung Geräteschnittstelle SS 2004 B. König-Ries: Datenbanksysteme 2-27 SS 2004 B. König-Ries: Datenbanksysteme 2-28 7 Konsistenz, Persistenz, Resistenz (4) Konsistenz, Persistenz, Resistenz (5) Platzierung des Transaktions-Koordinators: Variante 1: DBMS-intern Integration mit Scheduler und Recovery-Manager Transaktions-Beginn, -Ende und -Abbruch werden von Anfrageschicht durchgereicht Nur Bearbeitung lokaler Datenbasis-Transaktionen möglich Variante 2: Externes System (sog. Transaktions-Monitor): Völlig eigenständiges System, vorgelagert zu DBMS Kommunikation mit Recovery-Manager des DBMS über standardisierte Schnittstellen (X/OPEN DTP-Standard) Bearbeitung von Anwendungs-Transaktionen möglich Sinnvoll bei verteilten Informationssystemen SS 2004 B. König-Ries: Datenbanksysteme Nutzer Transaktions-Monitor 2-29 Dauerhaftigkeit DBMS 1 DBMS 2 DB 1 DB 2 SS 2004 DBMS n … DB 3 B. König-Ries: Datenbanksysteme 2-30 Hauptkomponenten eines DBMS Sichern der Persistenz nach Abschluss der Transaktion: Kann offenkundig nicht Angelegenheit der Transaktionsverwaltung sein. Darf normalen Betrieb nicht behindern. Daher eigene Komponente: Archiv-Verwaltung Query engine Externes Datenmodell Anfragebearbeitung Internes Datenmodell Satz- u. Satzmengenverwaltung Datenwörterbuch Metadaten-Verwaltung Physische Datenstrukturen Storage engine OS Zugriffsschicht Hauptspeicherseiten u. Segmente Scheduler Recovery-Verwalter Segment- u. Pufferverwaltung Dateiverwaltung Transaktionsverwaltung Archiv-Verwaltung Backup Endlosspeicherung Dateien Geräteschnittstelle SS 2004 B. König-Ries: Datenbanksysteme 2-31 SS 2004 B. König-Ries: Datenbanksysteme 2-32 8