Teil I Architektur von DBMS

Ähnliche Dokumente
Teil II Architektur von DBMS

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur

Aufbau Datenbanksysteme

Architektur von Datenbanksystemen

Prozessarchitektur einer Oracle-Instanz

Datenbank- Implementierungstechniken

Abschluss Einblick und Ausblick

ORACLE PROZESSARCHITEKTUR J O N N Y R I L L I C H

Schema-Architektur II. Schema-Architektur. 2. Architekturen von DBS. Zusammenhang zwischen. Konzeptuellen Schema (Ergebnis der Datendefinition)

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme

Datenbanksystem. System Global Area. Hintergrundprozesse. Dr. Frank Haney 1

Datenbanken Konsistenz und Mehrnutzerbetrieb III

Datenmodellierung VU Einführung SS 2016

2. Architekturen von DBS

OPERATIONEN AUF EINER DATENBANK

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

Andreas Heuer Gunter Saake Kai-Uwe Sattler. Datenbanken. kompakt

Themen des Kapitels. 2 Oracle Features und Architektur

Grundlagen von Datenbanken

Die Grundbegriffe Die Daten Die Informationen

Oracle Datenbank - Recovery

Kapitel 8: Physischer Datenbankentwurf

Dateiorganisation und Zugriffsstrukturen

Gunter Saake Kai-Uwe Sattler Andreas Heuer. 3. Auflage. Datenbanken. Implementierungstechniken

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221

Architektur von Datenbanksystemen Vorlesung Datenbanksysteme Michael Tschuggnall, PhD Dr. Eva Zangerle

Wiederherstellung (Recovery)

Die Sicht eines Sysadmins auf DB systeme

Archivierung in DBMS

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

Oracle Datenbank Architektur nicht nur für Einsteiger. Martin Klier Klug GmbH integrierte Systeme, Teunz

Inhalt. Unland, Rainer Datenbanken im Einsatz digitalisiert durch: IDS Basel Bern

Grundlagen von Datenbanken SS Einführung in das Thema

Bisher haben wir ein RDBMS als Black Box betrachtet und gelernt, wie man es effektiv einsetzen kann

Teil I Was sind Datenbanken?

3. Speicher- und Seitenzuordnung

Datenbanken: Indexe. Motivation und Konzepte

Datenbanksysteme. Motivation

3. Architektur eines DBS (Oracle)

Verteilte Datenbanken. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Vorlesung ) Einführung

KAPITEL 4 BASISALGORITHMEN FÜR DATENBANKOPERATIONEN

1. Einführung Seite 1. Kapitel 1: Einführung

Entwicklung der Datenbanksysteme

View. Arbeiten mit den Sichten:

Kommunikation und Datenhaltung

Datenbanken Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt:

Einführung in Datenbanken

Datenbank- Implementierung

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Recovery- und Buffermanager

! DBMS organisiert die Daten so, dass minimal viele Plattenzugriffe nötig sind.

Daten, Datenbanken, Datenbankmanagmentsysteme

Datenbanken. Dateien und Datenbanken:

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Einführung und Überblick

Physischer Datenbankentwurf: Datenspeicherung

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

Informatik II Datenorganisation Datenbanken

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

1. Einführung: 1.3 Aufbau und Architektur von DBMS

Realisierung von Datenbanksystemen

KAPITEL 2 VERWALTUNG DES HINTERGRUNDSPEICHERS

Anfragebearbeitung. Anfrage. Übersetzer. Ausführungsplan. Laufzeitsystem. Ergebnis

Relationale Datenbanken Kursziele

Physische Datenorganisation

Grundlagen der Dateisysteme. Daniel Lieck

Datenbanken (WS 2015/2016)

Transaktionsverwaltung

Benutzer. Dateiverwaltung

1. Einführung. Datenbanken Grundlagen

Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD

Grundbegriffe. World Wide Web Architektur. Dokumente und Links. ƒ World Wide Web Architektur, Protokolle Inhalte, Sprachen

Wiederholung VU Datenmodellierung

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

9. Einführung in Datenbanken

Heide Faeskorn-Woyke Birgit Bertelsmeier. Datenbanksysteme. Theorie und Praxis mit SQL2003, Oracle und MySQL

Architektur und Implementierung von Apache Derby

Gliederung Datenbanksysteme

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog

Relationale Datenbanken - Theorie und Praxis

Teil II: Architektur und Entwicklung (verteilter) Informationssysteme, Information Retrieval

Im Fall einer Personaldatenbank würde eine Relation beispielsweise wie folgt aussehen:

Datenbanksysteme II. Vorlesung: PD Dr. Peer Kröger

Listener: Bei Oracle erfolgt die Steuerung (konventionell) via listener.ora (Listener Konfiguration), tnsnames.ora (Client Konfiguration)

Informations- und Wissensmanagement

SQL/Datenbanken Klausur: Basics

SODA. Die Datenbank als Document Store. Rainer Willems. Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Redundanz: Dieselben Informationen werden doppelt gespeichert.

Übersicht über Datenbanken

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Transaktionen und Synchronisation konkurrierender Zugriffe

Datenbanken. Prof. Dr. Bernhard Schiefer.

Datenbanksysteme Kapitel 3: Datenorganisation

Datenbanksystem Datenbankmanagementsystem Datenbank Inhaltsverzeichnis Geschichte

Abstraktionsschichten. Das Relationale Datenmodell

Transkript:

Teil I Architektur von DBMS

Überblick 1 Anwendersicht auf DBMS c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 13. April 2017 1 1

Überblick 1 Anwendersicht auf DBMS 2 Überblick über behandelte Komponenten c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 13. April 2017 1 1

Ü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

Ü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

Ü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

Anwendersicht auf DBMS Datenbankgrundbegriffe: Komponenten Externe Ebene Konzeptuelle Ebene Interne Ebene Anfragen Updates Optimierer Auswertung Plattenzugriff P 1... DB- Operationen Einbettung Data Dictionary P n Masken Sichtdefinition Datendefinition Dateiorganisation c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 13. April 2017 1 2

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

Anwendersicht auf DBMS Datenbankmodelle & -sprachen Datenbankmodelle: 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 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

Ü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

Überblick über behandelte Komponenten Optimierer Äquivalenz von Algebra-Termen 1 σ A=Konst ( REL1 REL2 ) und A aus REL1 2 σ A=Konst (REL1) 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 5000 ( ) + 5000 (σ) = 10000 Operationen 2 100 (σ) + 10 50 ( ) = 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

Überblick über behandelte Komponenten Dateiorganisation und Zugriffspfade Dateiorganisation: Abbildung Konzeptionelle Ebene Interne Ebene Platte Relationen Dateien (Files) Tupel Sätze (Records) Blöcke Attributwerte Felder Zugriffspfade Primär- versus Sekundär-Index eindimensional versus mehrdimensional c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 13. April 2017 1 7

Ü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: 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

Ü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

Schichtenmodell eines relationalen DBMS Betrachtete Fragestellungen Externe Ebene Konzeptuelle Ebene Interne Ebene Anfragen Updates Optimierer Auswertung Plattenzugriff P 1... DB- Operationen Einbettung Data Dictionary P n Masken Sichtdefinition Datendefinition Dateiorganisation c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 13. April 2017 1 10

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

Schichtenmodell eines relationalen DBMS 5-Schichten-Architektur: Schnittstellen mengenorientierte Schnittstelle deklarative DML auf Tabellen, Sichten, Zeilen satzorientierte Schnittstelle Sätze, logische Dateien, logische Zugriffspfade navigierender Zugriff interne Satzschnittstelle Sätze, Zugriffspfade Manipulation von Sätzen und Zugriffspfaden c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 13. April 2017 1 12

Schichtenmodell eines relationalen DBMS 5-Schichten-Architektur: Schnittstellen /2 Pufferschnittstelle Seiten, Seitenadressen Freigeben und Bereitstellen Datei- oder Seitenschnittstelle Hole Seite, Schreibe Seite Geräteschnittstelle Spuren, Zylinder Armbewegungen c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 13. April 2017 1 13

Schichtenmodell eines relationalen DBMS 5-Schichten-Architektur: Funktionen MOS SOS ISS SPS DS GS Mengenorientierte Schnittstelle Satzorientierte Schnittstelle Interne Satzschnittstelle Systempufferschnittstelle Dateischnittstelle Geräteschnittstelle Datensystem Zugriffssystem Speichersystem Pufferverwaltung Betriebssystem Externspeicher Übersetzung, Zugriffspfadwahl, Zugriffskontrolle, Integritätskontrolle Data Dictionary, Currency Pointer, Sortierung, Transaktionsverwaltung Record Manager, Zugriffspfadverwaltung, Sperrverwaltung, Logging, Recovery Systempufferverwaltung, Seitenersetzung, Seitenzuordnung Externspeicherverwaltung, Speicherzuordnung c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 13. April 2017 1 14

Schichtenmodell eines relationalen DBMS 5-Schichten-Architektur: Objekte Relationen Sichten Externe Sätze Indexstrukturen Scans Interne Sätze Bäume Hashtabellen Segmente Seiten Dateien Blöcke Zylinder Spuren MOS SOS ISS SPS DS GS Datensystem Zugriffssystem Speichersystem Pufferverwaltung Betriebssystem SELECT... FROM... WHERE... FIND NEXT satz STORE satz LOOKUP im B-Baum INSERT in B-Baum Bereitstellen Seite j Freigeben Seite j Lies Block k Schreibe Block k c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 13. April 2017 1 15

Schichtenmodell eines relationalen DBMS Erläuterungen mengenorientierte Schnittstelle MOS: deklarative Datenmanipulationssprache auf Tabellen und Sichten (etwa SQL) durch Datensystem auf satzorientierte Schnittstelle SOS umgesetzt: 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

Schichtenmodell eines relationalen DBMS Erläuterungen /2 durch Zugriffssystem auf interne Satzschnittstelle ISS umgesetzt: 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

Schichtenmodell eines relationalen DBMS Erläuterungen /3 durch Speichersystem Datenstrukturen und Operationen der ISS auf interne Seiten eines virtuellen linearen Adressraums umsetzen Manipulation des Adressraums durch Operationen der Systempufferschnittstelle SPS Typische Objekte: interne Seiten, Seitenadressen Typische Operationen: Freigeben und Bereitstellen von Seiten, Seitenwechselstrategien, Sperrverwaltung, Schreiben des Log- Buchs durch Pufferverwaltung interne Seiten auf Blöcke der Dateischnittstelle DS abbilden Umsetzung der DS-Operationen auf Geräteschnittstelle erfolgt durch BS c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 13. April 2017 1 18

Schichtenmodell eines relationalen DBMS Speicherhierarchie Cache Primärspeicher Hauptspeicher Festplatten, Solid-State-Disk Sekundärspeicher Optische Platten Tertiärspeicher Magnetbänder c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 13. April 2017 1 19

Schichtenmodell eines relationalen DBMS Eigenschaften von Speichermedien Primär Sekundär Tertiär Geschwindigkeit schnell langsam sehr langsam Preis teuer preiswert billig Stabilität flüchtig stabil stabil Größe klein groß sehr groß Granulate fein grob grob c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 13. April 2017 1 20

Schichtenmodell eines relationalen DBMS Speichermedien Primärspeicher Primärspeicher: Cache und Hauptspeicher sehr schnell, Zugriff auf Daten fein granular: jedes Byte adressierbar Sekundärspeicher Sekundärspeicher oder Online-Speicher meist Plattenspeicher, nicht-flüchtig Granularität des Zugriffs gröber: Blöcke, oft 512 Bytes Zugriffslücke: Faktor 10 5 langsamerer Zugriff Tertiärspeicher 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

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

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: 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

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

Schichtenmodell eines relationalen DBMS Adressierung von Sätzen Adressierung logisch direkt physisch Seitennr. + Offset TID c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 13. April 2017 1 25

Schichtenmodell eines relationalen DBMS Zugriffssystem Zugriffssystem abstrahiert von interner Darstellung der Datensätze auf Seiten 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: Datenstruktur für zusätzlichen, schlüsselbasierten Zugriff auf Tupel ( Schlüsselattributwert, Tupeladresse ) 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

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) 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

Schichtenmodell eines relationalen DBMS Zugriff auf Datensätze Datensätze in Abhängigkeit vom Primärschlüsselwert in einer Datei 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

Schichtenmodell eines relationalen DBMS Beispiele B + -Baum 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 statische, eindimensionale Dateiorganisationsform bei wachsenden Tupelmengen immer mehr Kollisionen zu erwarten c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 13. April 2017 1 29

Schichtenmodell eines relationalen DBMS Datensystem Optimierung: mengenorientierte Anfrage (SQL) muss durch System optimiert werden 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

Architekturvarianten Client-Server-Systeme Aufteilung der Schichten auf Client- bzw. Serverprozesse Client sendet Anforderungen an Server zur Bearbeitung Client (Dienstnehmer) Server (Diensterbringer) 1. Anforderung 2. Bearbeitung 3. Antwort c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 13. April 2017 1 31

Architekturvarianten Architekturen Anwendung Anwendung Anwendung Deklarative Anfrage Anfrage-Client Anfrage- Server Tupel Objekt- Anforderung Objekt-Client Objekt- Server Objekte Seiten- Anforderung Seiten-Client Seiten- Server Seiten DB DB DB c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 13. April 2017 1 32

Architekturvarianten Architekturen /2 Seiten-Server Sekundärspeicher- und Pufferverwaltung Seitensperren Ausnutzung von Zugriffspfaden und Auswertung von Anfragen nicht möglich niedrige Last, hoher Kommunikationsaufwand Objekt-Server Verwaltung von Datei- und Zugriffsstrukturen Bereitstellung von Objektstrukturen höhere Last als beim Seiten-Server; Cache-Kohärenz Anfrage-Server 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

Architekturvarianten Weitere Architekturen Verteilte Datenbanksysteme Server-Prozesse auf mehreren Rechnern Zuordnung der Daten Replikation: redundante Speicherung an mehreren Knoten Fragmentierung: bestimmte Teile der Daten auf bestimmten Knoten Parallele Datenbanksysteme 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

Architekturen konkreter DBMS IBM DB2: Systemarchitektur Client- Prozess Listener- Prozess DB2-Instanz DB2- Agent Subagenten Log- Reader Log- Writer Redo-Log-Puffer Datenbank-Puffer I/O- Prefetcher Page- Cleaner Redo-Log- File c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 13. April 2017 1 35

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

Architekturen konkreter DBMS Oracle: Prozessarchitektur Oracle-Instanz System Global Area LCKn Datenbank-Puffer Redo-Log-Puffer RECO PMON SMON CKPT Client- Prozess Server- Prozess DBWR LGWR ARCH Redo-Log- File Control-File c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 13. April 2017 1 37

Architekturen konkreter DBMS Oracle: SGA System Global Area: globale Hauptspeicherstruktur (Shared Memory) Bereiche: 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

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

Architekturen konkreter DBMS SQL Server: Architektur Client- Prozess SQL Server-Instanz Listener Redo-Log-Puffer Datenbank-Puffer Worker- Threads logwriter checkpoint lazywriter Redo-Log- File c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 13. April 2017 1 40

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

Architekturen konkreter DBMS Aktuelle Entwicklungen In-Memory-Datenbanksysteme 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 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

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