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