Architektur von DBMSs

Werbung
Teil I
Architektur von DBMS
Architektur von DBMS
Überblick
1
Anwendersicht auf DBMS
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–1
Architektur von DBMS
Überblick
1
Anwendersicht auf DBMS
2
Überblick über behandelte Komponenten
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–1
Architektur von DBMS
Überblick
1
Anwendersicht auf DBMS
2
Überblick über behandelte Komponenten
3
Schichtenmodell eines relationalen DBMS
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–1
Architektur von DBMS
Überblick
1
Anwendersicht auf DBMS
2
Überblick über behandelte Komponenten
3
Schichtenmodell eines relationalen DBMS
4
Architekturvarianten
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–1
Architektur von DBMS
Überblick
1
Anwendersicht auf DBMS
2
Überblick über behandelte Komponenten
3
Schichtenmodell eines relationalen DBMS
4
Architekturvarianten
5
Architekturen konkreter DBMS
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–1
Architektur von DBMS
Anwendersicht auf DBMS
Datenbankgrundbegriffe: Komponenten
Externe Ebene
Konzeptuelle Ebene
Interne Ebene
Optimierer
Plattenzugriff
Anfragen
Auswertung
Updates
P1
DBOperationen
Data
Dictionary
...
Einbettung
Pn
Masken
Sichtdefinition
Datendefinition
c Sattler / Saake
Datenbank-Implementierungstechniken
Dateiorganisation
Letzte Änderung: 13. April 2017
1–2
Architektur von DBMS
Anwendersicht auf DBMS
Neun Funktionen nach Codd
1
Integration
2
Operationen
3
Katalog
4
Benutzersichten
5
Konsistenzüberwachung
6
Datenschutz
7
Transaktionen
8
Synchronisation
9
Datensicherung
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–3
Architektur von DBMS
Anwendersicht auf DBMS
Datenbankmodelle & -sprachen
Datenbankmodelle:
I
I
I
wichtigstes Datenmodell in kommerziellen Systemen: relationales
Datenbankmodell → Daten in Tabellenform
teilweise erweitert um objektorientierte Konzepte: objektrelationale
Modelle
weiterhin: semistrukturiert (XML), objektorientiert, hierarchisch,
Netzwerk
Datenbanksprachen: Standardsprache SQL
I
I
I
Anfragesprache: Selektion, Projektion, Verbunde, Gruppierung &
Aggregation
DML: Einfügen, Löschen, Ändern von Tupeln
DDL: Definition von Tabellen, Indexen, . . .
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–4
Architektur von DBMS
Überblick über behandelte Komponenten
Überblick über behandelte Komponenten
Optimierer
Dateiorganisationen und Zugriffspfade
Organisation des Sekundärspeichers
Transaktionsverwaltung
Recovery-Komponente
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–5
Architektur von DBMS
Überblick über behandelte Komponenten
Optimierer
Äquivalenz von Algebra-Termen
1
2
σA=Konst ( REL1 o
n REL2 ) und A aus REL1
σA=Konst (REL1) o
n REL2
allgemeine Strategie: Selektionen möglichst früh, da sie
Tupelanzahlen in Relationen verkleinern
Beispiel: REL1 100 Tupel, REL2 50 Tupel
intern: Tupel sequenziell abgelegt
1
2
5000 (o
n) + 5000 (σ) = 10000 Operationen
100 (σ) + 10 · 50 (o
n) = 600 Operationen
falls 10 Tupel in REL1 die Bedingung A = Konst erfüllen
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–6
Architektur von DBMS
Überblick über behandelte Komponenten
Dateiorganisation und Zugriffspfade
Dateiorganisation: Abbildung
Konzeptionelle
Ebene
Relationen
Tupel
Attributwerte
Interne Ebene
−→
−→
−→
Dateien (Files)
Sätze (Records)
Felder
Platte
−→
−→
−→
Blöcke
Zugriffspfade
I
I
Primär- versus Sekundär-Index
eindimensional versus mehrdimensional
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–7
Architektur von DBMS
Überblick über behandelte Komponenten
Transaktionen
Eine Transaktion ist eine Folge von Operationen (Aktionen), die die
Datenbank von einem konsistenten Zustand in einen konsistenten,
eventuell veränderten, Zustand überführt, wobei das ACID-Prinzip
eingehalten werden muss.
Aspekte:
I
I
Semantische Integrität: Korrekter (konsistenter) DB-Zustand nach
Ende der Transaktion
Ablaufintegrität: Fehler durch „gleichzeitigen“ Zugriff mehrerer
Benutzer auf dieselben Daten vermeiden
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–8
Architektur von DBMS
Überblick über behandelte Komponenten
ACID-Eigenschaften
Atomicity (Atomarität):
Transaktion wird entweder ganz oder gar nicht ausgeführt
Consistency (Konsistenz oder auch Integritätserhaltung):
Datenbank ist vor Beginn und nach Beendigung einer Transaktion
jeweils in einem konsistenten Zustand
Isolation (Isolation):
Nutzer, der mit einer Datenbank arbeitet, sollte den Eindruck
haben, dass er mit dieser Datenbank alleine arbeitet
Durability (Dauerhaftigkeit / Persistenz):
nach erfolgreichem Abschluss einer Transaktion muss das
Ergebnis dieser Transaktion „dauerhaft“ in der Datenbank
gespeichert werden
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–9
Architektur von DBMS
Schichtenmodell eines relationalen DBMS
Betrachtete Fragestellungen
Externe Ebene
Konzeptuelle Ebene
Interne Ebene
Optimierer
Plattenzugriff
Anfragen
Auswertung
Updates
P1
...
Pn
DBOperationen
Data
Dictionary
Einbettung
Masken
Sichtdefinition
Datendefinition
c Sattler / Saake
Datenbank-Implementierungstechniken
Dateiorganisation
Letzte Änderung: 13. April 2017
1–10
Architektur von DBMS
Schichtenmodell eines relationalen DBMS
Fünf-Schichten-Architektur
basierend auf Idee von Senko 1973
Weiterentwicklung von Härder 1987
Umsetzung im Rahmen des IBM-Prototyps System R
genauere Beschreibung der Transformationskomponenten
I
I
schrittweise Transformation von Anfragen/Änderungen bis hin zu
Zugriffen auf Speichermedien
Definition der Schnittstellen zwischen Komponenten
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–11
Architektur von DBMS
Schichtenmodell eines relationalen DBMS
5-Schichten-Architektur: Schnittstellen
mengenorientierte Schnittstelle
I
deklarative DML auf Tabellen, Sichten, Zeilen
satzorientierte Schnittstelle
I
I
Sätze, logische Dateien, logische Zugriffspfade
navigierender Zugriff
interne Satzschnittstelle
I
I
Sätze, Zugriffspfade
Manipulation von Sätzen und Zugriffspfaden
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–12
Architektur von DBMS
Schichtenmodell eines relationalen DBMS
5-Schichten-Architektur: Schnittstellen /2
Pufferschnittstelle
I
I
Seiten, Seitenadressen
Freigeben und Bereitstellen
Datei- oder Seitenschnittstelle
I
Hole Seite, Schreibe Seite
Geräteschnittstelle
I
I
Spuren, Zylinder
Armbewegungen
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–13
Architektur von DBMS
Schichtenmodell eines relationalen DBMS
5-Schichten-Architektur: Funktionen
Mengenorientierte
MOS Schnittstelle
Datensystem
Übersetzung, Zugriffspfadwahl,
Zugriffskontrolle, Integritätskontrolle
Satzorientierte
SOS Schnittstelle
Zugriffssystem
Data Dictionary, Currency Pointer,
Sortierung, Transaktionsverwaltung
Speichersystem
Record Manager, Zugriffspfadverwaltung, Sperrverwaltung, Logging, Recovery
Interne
ISS Satzschnittstelle
Systempuffer-
SPS schnittstelle
Pufferverwaltung
Systempufferverwaltung,
Seitenersetzung, Seitenzuordnung
DS Datei-
schnittstelle
Betriebssystem
Externspeicherverwaltung,
Speicherzuordnung
GS Geräteschnittstelle
Externspeicher
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–14
Architektur von DBMS
Schichtenmodell eines relationalen DBMS
5-Schichten-Architektur: Objekte
Relationen
Sichten
SELECT ...
FROM ... WHERE ...
MOS
Externe Sätze
Indexstrukturen SOS
Scans
Interne Sätze
Bäume
Hashtabellen
ISS
Segmente
Seiten
SPS
Datensystem
FIND NEXT satz
STORE satz
Zugriffssystem
LOOKUP im B-Baum
INSERT in B-Baum
Speichersystem
Bereitstellen Seite j
Freigeben Seite j
Pufferverwaltung
Dateien
Blöcke
Lies Block k
Schreibe Block k
DS
Betriebssystem
Zylinder
Spuren
c Sattler / Saake
GS
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–15
Architektur von DBMS
Schichtenmodell eines relationalen DBMS
Erläuterungen
mengenorientierte Schnittstelle MOS:
I
deklarative Datenmanipulationssprache auf Tabellen und Sichten
(etwa SQL)
durch Datensystem auf satzorientierte Schnittstelle SOS
umgesetzt:
I
I
I
navigierender Zugriff auf interner Darstellung der Relationen
manipulierte Objekte: typisierte Datensätze und interne Relationen
sowie logische Zugriffspfade (Indexe)
Aufgaben des Datensystems: Übersetzung und Optimierung von
SQL-Anfragen
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–16
Architektur von DBMS
Schichtenmodell eines relationalen DBMS
Erläuterungen /2
durch Zugriffssystem auf interne Satzschnittstelle ISS umgesetzt:
I
I
interne Tupel einheitlich verwalten, ohne Typisierung
Speicherstrukturen der Zugriffspfade (konkrete Operationen auf B∗ Bäumen und Hashtabellen), Mehrbenutzerbetrieb mit
Transaktionen
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–17
Architektur von DBMS
Schichtenmodell eines relationalen DBMS
Erläuterungen /3
durch Speichersystem Datenstrukturen und Operationen der ISS
auf interne Seiten eines virtuellen linearen Adressraums
umsetzen
I
I
I
Manipulation des Adressraums durch Operationen der
Systempufferschnittstelle SPS
Typische Objekte: interne Seiten, Seitenadressen
Typische Operationen: Freigeben und Bereitstellen von Seiten,
Seitenwechselstrategien, Sperrverwaltung, Schreiben des LogBuchs
durch Pufferverwaltung interne Seiten auf Blöcke der
Dateischnittstelle DS abbilden
I
Umsetzung der DS-Operationen auf Geräteschnittstelle erfolgt
durch BS
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–18
Architektur von DBMS
Schichtenmodell eines relationalen DBMS
Speicherhierarchie
Primärspeicher
Cache
Hauptspeicher
Festplatten, Solid-State-Disk
Optische Platten
Sekundärspeicher
Tertiärspeicher
Magnetbänder
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–19
Architektur von DBMS
Schichtenmodell eines relationalen DBMS
Eigenschaften von Speichermedien
Geschwindigkeit
Preis
Stabilität
Größe
Granulate
c Sattler / Saake
Primär
schnell
teuer
flüchtig
klein
fein
Sekundär
langsam
preiswert
stabil
groß
grob
Datenbank-Implementierungstechniken
Tertiär
sehr langsam
billig
stabil
sehr groß
grob
Letzte Änderung: 13. April 2017
1–20
Architektur von DBMS
Schichtenmodell eines relationalen DBMS
Speichermedien
Primärspeicher
I
I
Primärspeicher: Cache und Hauptspeicher
sehr schnell, Zugriff auf Daten fein granular: jedes Byte
adressierbar
Sekundärspeicher
I
I
I
I
Sekundärspeicher oder Online-Speicher
meist Plattenspeicher, nicht-flüchtig
Granularität des Zugriffs gröber: Blöcke, oft 512 Bytes
Zugriffslücke: Faktor 105 langsamerer Zugriff
Tertiärspeicher
I
I
I
I
Zur langfristigen Datensicherung (Archivierung) oder kurzfristigen
Protokollierung (Journale)
üblich: optische Platten, Magnetbänder
„Offline-Speicher“ meist Wechselmedium
Nachteil: Zugriffslücke extrem groß
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–21
Architektur von DBMS
Schichtenmodell eines relationalen DBMS
Angebotene Dienste
Treiberprogramme zum Holen und Schreiben von Blöcken
Zuordnung von Blöcken zu Seiten
Ergänzen der Block-Informationen um Kontrollsummen, um
Schreib- oder Lesefehler zu ermitteln
Caching-Mechanismen, die bereits gelesene Daten im
Hauptspeicher halten und verwalten
Operationen des Dateisystems von Betriebssystemen (oft:
Datenbanksysteme nutzen nur eine einzige Datei)
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–22
Architektur von DBMS
Schichtenmodell eines relationalen DBMS
Pufferverwaltung
benötigte Blöcke des Sekundärspeichers im Hauptspeicher
verwalten
Speicherplatz für begrenzte Menge von Seiten im Hauptspeicher:
Puffer
Aufgabe der Pufferverwaltung: Verdrängung nicht mehr im Puffer
benötigter Seiten (Seitenwechselstrategien)
Unterschied: unter Verantwortung des Datenbanksystems
verwalteter Puffer ↔ Cache auf der Betriebssystemebene
Aufgaben:
I
I
I
Zuteilung von Speicherplatz für Seiten
Suchen und Ersetzen von Seiten im Puffer
Optimierung der Lastverteilung zwischen parallelen Transaktionen
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–23
Architektur von DBMS
Schichtenmodell eines relationalen DBMS
Speichersystem
Puffer: Seiten (Byte-Container) ↔ Speichersystem: interne
Datensätze ↔ Zugriffssystem: logische Datensätze, interne Tupel
Struktur
Tupel
internes Tupel oder
logischer Datensatz
interner Datensatz
Seite
Systemkomponente
Datensystem
Zugriffssystem
Speichersystem
Pufferverwaltung
Anwendungsobjekte im Speichersystem als interne Sätze
Hilfsdaten wie Indexeinträge als interne Sätze
Problem der Adressierung von Sätzen
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–24
Architektur von DBMS
Schichtenmodell eines relationalen DBMS
Adressierung von Sätzen
Adressierung
logisch
direkt
physisch
Seitennr. + Offset
c Sattler / Saake
Datenbank-Implementierungstechniken
TID
Letzte Änderung: 13. April 2017
1–25
Architektur von DBMS
Schichtenmodell eines relationalen DBMS
Zugriffssystem
Zugriffssystem abstrahiert von interner Darstellung der
Datensätze auf Seiten
I
I
I
I
logische Datensätze, interne Tupel
interne Tupel können Elemente einer Dateidarstellung der
konzeptuellen Relation oder Elemente eines Zugriffspfads sein
interne Tupel bestehen aus Feldern (entsprechen Attributen bei
konzeptuellen Tupeln)
Operationen im Zugriffssystem sind typischerweise Scans (interne
Cursor auf Dateien oder Zugriffspfaden)
Zugriffspfad oder -struktur:
I
I
I
Datenstruktur für zusätzlichen, schlüsselbasierten Zugriff auf Tupel
(hSchlüsselattributwert, Tupeladressei)
meist als Indexdatei realisiert: Zugriffspfad auf eine Datei ist selbst
wieder Datei
Primär- vs. Sekundärindex
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–26
Architektur von DBMS
Schichtenmodell eines relationalen DBMS
Dateioperationen
Einfügen eines Datensatzes (insert)
Löschen eines Datensatzes (remove oder delete)
Modifizieren eines Datensatzes (modify)
Suchen und Finden eines Satzes (lookup oder fetch)
I
I
I
I
Attributwert für ein Feld → single-match query
Werte für alle Felder einer Indexdatei → exact-match query
Werte für Teilmenge der Felder → partial-match query
Wertintervall → range query
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–27
Architektur von DBMS
Schichtenmodell eines relationalen DBMS
Zugriff auf Datensätze
Datensätze in Abhängigkeit vom Primärschlüsselwert in einer
Datei
I
I
geordnet oder
gehasht (gestreut)
gespeichert ⇒ schneller Zugriff über Primärschlüssel
schneller Zugriff über andere Attributmengen (Sekundärschlüssel)
standardmäßig über Indexdateien realisiert
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–28
Architektur von DBMS
Schichtenmodell eines relationalen DBMS
Beispiele
B+ -Baum
I
I
I
dynamischer, eindimensionaler Zugriffspfad
in den meisten Datenbanksystemen über mehrere Attribute einer
Datei definierbar
aber nur ein exact-match auf dieser Feldkombination möglich
klassisches Hashverfahren
I
I
statische, eindimensionale Dateiorganisationsform
bei wachsenden Tupelmengen immer mehr Kollisionen zu erwarten
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–29
Architektur von DBMS
Schichtenmodell eines relationalen DBMS
Datensystem
Optimierung: mengenorientierte Anfrage (SQL) muss durch
System optimiert werden
I
I
I
Umformung des Anfrageausdrucks in einen effizienter zu
bearbeitenden Ausdruck (Query Rewriting, Konzeptuelle oder
Logische Optimierung)
Auswahl der zur Anfragebearbeitung sinnvollen Zugriffspfade und
Auswertungsalgorithmen für jeden relationenalgebraischen
Operator (physische Optimierung)
Auswahl des effizientesten Anfrageausdrucks nach
Kostenschätzungen (Kostenbasierte Auswahl)
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–30
Architektur von DBMS
Architekturvarianten
Client-Server-Systeme
Aufteilung der Schichten auf Client- bzw. Serverprozesse
Client sendet Anforderungen an Server zur Bearbeitung
Client
Server
(Dienstnehmer)
(Diensterbringer)
1. Anforderung
2. Bearbeitung
3. Antwort
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–31
Architektur von DBMS
Architekturvarianten
Architekturen
Anwendung
Anfrage-Client
Deklarative
Anfrage
Tupel
AnfrageServer
DB
c Sattler / Saake
Anwendung
Anwendung
Objekt-Client
ObjektAnforderung
Objekte
ObjektServer
Seiten-Client
SeitenAnforderung
DB
Datenbank-Implementierungstechniken
Seiten
SeitenServer
DB
Letzte Änderung: 13. April 2017
1–32
Architektur von DBMS
Architekturvarianten
Architekturen /2
Seiten-Server
I
I
I
I
Sekundärspeicher- und Pufferverwaltung
Seitensperren
Ausnutzung von Zugriffspfaden und Auswertung von Anfragen
nicht möglich
niedrige Last, hoher Kommunikationsaufwand
Objekt-Server
I
I
I
Verwaltung von Datei- und Zugriffsstrukturen
Bereitstellung von Objektstrukturen
höhere Last als beim Seiten-Server; Cache-Kohärenz
Anfrage-Server
I
I
I
Anforderung von Objektmengen (Tupeln) über Anfragen
Anfrageverarbeitung komplett im Server
„Flaschenhals“, speziell bei navigierenden Operationen
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–33
Architektur von DBMS
Architekturvarianten
Weitere Architekturen
Verteilte Datenbanksysteme
I
I
Server-Prozesse auf mehreren Rechnern
Zuordnung der Daten
F
F
Replikation: redundante Speicherung an mehreren Knoten
Fragmentierung: bestimmte Teile der Daten auf bestimmten Knoten
Parallele Datenbanksysteme
I
I
Verteilung der Last (Anfragen, Transaktionen)
parallele Auswertung durch mehrere Prozessoren
siehe Vorlesung „Verteiltes Datenmanagement“
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–34
Architektur von DBMS
Architekturen konkreter DBMS
IBM DB2: Systemarchitektur
ClientProzess
ListenerProzess
DB2-Instanz
DB2Agent
Subagenten
LogReader
Redo-Log-Puffer
Datenbank-Puffer
I/OPrefetcher
LogWriter
PageCleaner
Redo-LogFile
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–35
Architektur von DBMS
Architekturen konkreter DBMS
DB2: Datenbankprozesse
Listener-Prozess: Verteilung eingehender
Verbindungsanforderungen
Koordinationsagenten: Verarbeitung der Datenbankanfragen
I/O-Prefetcher: Vorablesen von Seiten in den Puffer
Page-Cleaner-Prozess: Zurückschreiben von modifizierten
Seiten aus dem Puffer auf Festplatte
Log-Reader-Prozess: Behandlung von Logeinträgen für
Transaktionsverwaltung und Recovery im Falle des Abbruchs
einer Transaktion
Log-Writer-Prozess: Schreiben der Log-Einträge in das Logbuch
weitere Prozesse: Erkennung der Verklemmung von
Transaktionen durch gegenseitiges Sperren, Archivierung von
Logdateien, Überwachung der laufenden Prozesse auf abnormale
Beendigung, zur parallelen und verteilten Verarbeitung, . . .
Kommunikation der serverseitigen Prozesse über gemeinsamen
Speicherbereich: Database Global Memory
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–36
Architektur von DBMS
Architekturen konkreter DBMS
Oracle: Prozessarchitektur
Oracle-Instanz
System Global Area
Datenbank-Puffer
LCKn
Redo-Log-Puffer
RECO
PMON
SMON
CKPT
ClientProzess
ServerProzess
DBWR
LGWR
Redo-LogFile
c Sattler / Saake
Datenbank-Implementierungstechniken
ARCH
Control-File
Letzte Änderung: 13. April 2017
1–37
Architektur von DBMS
Architekturen konkreter DBMS
Oracle: SGA
System Global Area: globale Hauptspeicherstruktur (Shared
Memory)
Bereiche:
I
I
I
I
I
Puffer
Redo-Log-Puffer für die temporäre Verwaltung von Redo-Einträgen,
die für das Recovery benötigt werden
Shared Pool als Cache für Anfragen, Prozeduren etc.
Java Pool für serverseitig ausgeführten Java-Code
Data-Dictionary-Cache
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–38
Architektur von DBMS
Architekturen konkreter DBMS
Oracle: Spezielle Prozesse
Database Writer dbwn_dbname: schreibt verdrängte und
modifizierte Seiten aus dem Puffer auf Externspeicher
Log Writer lgwr :überträgt spätestens bei Transaktionsende die
Redo-Log-Einträge in das Logbuch
Checkpoint-Prozess ckpt: Realisierung von Sicherungspunkten
System Monitor smon: übernimmt beim Start einer Instanz das
Recovery
Process Monitor pmon: überwacht die laufenden Server- und
Hintergrundprozesse
Archiver-Prozess arcn: Archivierung der Redo-Logdateien auf
einem dafür vorgesehenen Speichermedium
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–39
Architektur von DBMS
Architekturen konkreter DBMS
SQL Server: Architektur
ClientProzess
SQL Server-Instanz
Listener
Redo-Log-Puffer
Datenbank-Puffer
WorkerThreads
logwriter
checkpoint
lazywriter
Redo-LogFile
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–40
Architektur von DBMS
Architekturen konkreter DBMS
SQL Server: Threads
Worker-Thread: verarbeitet komplette Anforderung (Realisierung
der Transformationskomponente)
Lazywriter-Thread: durchsucht periodisch den Puffer und
verdrängt nicht mehr genutzte Seiten
Checkpoint-Thread: implementiert Sicherungspunkte, indem
periodisch modifizierte Log-Einträge und Seiten auf die Festplatte
geschrieben werden
Logwriter-Thread: periodisches Schreiben der Log-Einträge aus
dem Puffer in das Logbuch
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–41
Architektur von DBMS
Architekturen konkreter DBMS
Aktuelle Entwicklungen
In-Memory-Datenbanksysteme
I
I
I
I
Server-Systeme mit Hauptspeicher im TB-Bereich: Daten können
komplett im Hauptspeicher gehalten werden
hauptspeicher-optimierte Datenstrukturen und Algorithmen
Kompressionstechniken
„Memory Wall“: RAM-Zugriff 60 ns, L1-Cache: 4 CPU-Zyklen
Cache-optimierte Strukturen
Datenbank-Accelerators
I
Hardware-unterstütztes Datenmanagement: FPGA, GPU als
Coprozessoren, Highspeed-Netzwerk, SSDs als zusätzliche
Cache-Ebene, . . .
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–42
Architektur von DBMS
Architekturen konkreter DBMS
Zusammenfassung
Aufgaben von DBMS
Fünf-Schichten-Architektur: Beschreibung der
Transformationskomponenten
Prozessarchitekturen konkreter DBMS
Literatur: „Datenbanken: Implementierungstechniken“, Kapitel 1
und 2
c Sattler / Saake
Datenbank-Implementierungstechniken
Letzte Änderung: 13. April 2017
1–43
Herunterladen