Kapitel 2: Referenzarchitektur für Datenbanksysteme Kapitel 2

Werbung
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
Herunterladen