Architektur von Datenbanksystemen

Werbung
Architektur von
Datenbanksystemen
Prof. Dr. Uta Störl
Hochschule Darmstadt
Fachbereich Informatik
Wintersemester 2015/16
Motivation
In Datenbanken-Grundvorlesung betrachtet:
• Funktionalität von Datenbanksystemen aus Sicht des Datenbank-Entwicklers
bzw. -Benutzers:
– Datenbank-Entwurf
– Datenbank erstellen (logische Sicht)
– Datenbankinhalte abfragen
– Datenbankanwendungen schreiben
Was fehlt?
• Betrachtung der Funktionalität von Datenbanksystemen aus Sicht des
Datenbank-Administrators bzw. des Software-Architekten
– physischer Datenbank-Entwurf
– Datenbank erstellen (physische Sicht)
– Performance-Optimierung der Datenbank
– Performance-Optimierung der Gesamtarchitektur
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
2
Motivation: Beispiele für große Datenbanken
• WalMart Data Warehouse
– Produktinfos (Verkäufe etc.) von 60.00 Märkten
– > 500 TB (2005)
– > 2.5 PB (2008)
• Lufthansa (2011)
– Verarbeitung von 5,7 Mio. Coupons im Monat
– 650 Mio. Dokumente (ca. 38 TB)
• SAP R/3-Installation der Deutschen Telekom AG
– Financial Accounting: Rechnungen, Zahlungsaufford., Lastschriften etc.
– 15 SAP R/3-Systeme; jedes verarbeitet 200.000 Rechnungen, 12.000
Mahnungen, 10.000 Änderungen von Kundendaten pro Tag
– bis zu jeweils 1000 Nutzer gleichzeitig, > 13.000 Datenbanktabellen
• UPS (Winter Corporation Report, 2005)
– UPS: 1,1 Milliarden SQL-Statements pro Stunde (DB2 for z/OS)
• Facebook (2013)
– 300 PB
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
3
DBMS-Benchmarks – 1(2)
• … der Versuch, verschiedene DBMS-Plattformen mit realitätsnahen
Anwendungsszenarien zu vergleichen
• Wichtigste und anerkannteste Benchmarks für DBMS:
TPC (Transaction Processing Performance Council, www.tpc.org)
Benchmarks:
– TPC-C: OLTP-Szenario – aktuell der Benchmark für OLTP
– TPC-E: neuer OLTP-Benchmark
– TPC-H: Decision Support Szenario – aktuell der Benchmark für
OLAP
– TPC-DS: neuer Decision Support Benchmark
– Inzwischen „obsolet“: TPC-A, -B, -D, -R, -W und -App
• Weitere „Spezial“-Benchmarks z.B. für XML-Daten u.ä. außerhalb des
TPC-Konsortiums
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
4
DBMS-Benchmarks – 2(2)
• TPC-C Benchmark
– Modelliert Auftragsverarbeitung in einem Handelsunternehmen
– Performance-Maß: tpmC (transactions per minute)
– Price/Performance-Maß: $/tpmC
• Top 3 by Performance (Stand: 03/2014)
Hardware
BS
DBMS
tmpC
Price/tpmC
Oracle SPARC
Oracle Solaris 11
Oracle 11g R2
8.552.523
0,55 US $
Oracle Server
Oracle LInux
Oracle 11g R2
5.055.888
0,89 US $
IBM System
SUSE Linux
IBM DB2 9.7
3.014.684
0,59 US $
tmpC
Price/tpmC
• Top 3 by Price/Performance (Stand: 03/2014)
Hardware
BS
DBMS
Cisco UCS C240
Oracle Linux
Oracle 11g
1.609.186
0,47 US $
IBM System
Red Hat Linux
IBM DB2 9.7
1.320.082
0,51 US $
HP ProLiant
MS Wind. 2008
MS SQL Server 2005
1.263.599
0,51 US $
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
5
Ziele der Lehrveranstaltung
Erarbeitung eines tiefergehenden Verständnisses
• für das Zusammenspiel der Datenbanksystem-Schichten und
-Komponenten und der Wechselwirkung von
Implementierungsverfahren
• zur Erklärung und Verbesserung des Leistungsverhaltens bei der
Abwicklung von Datenbankoperationen
• für das Entwerfen, Aufbauen und Warten von Datenbanken sowie der
Entwicklung von Datenbank-Anwendungen
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
6
Überblick
• Architektur von Datenbanksystemen
• Verwaltung des Hintergrundspeichers
• Dateiorganisation und Zugriffsstrukturen
• Basisalgorithmen für Datenbank-Operationen
• Anfrageoptimierung
• Transaktionsverwaltung und Recovery
• Verteilte Datenbankarchitekturen
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
7
Praktikum
• Ziel: Vertiefung der in der Vorlesung behandelten Themen anhand der Arbeit
mit einem konkreten DBMS (hier: IBM DB2 und teilweise Lehr-DBMS dbj)
– sowohl praktische als auch theoretische Aufgabenstellungen
• Charakter des Praktikums: stärker auf selbst Erarbeiten und Ausprobieren
ausgerichtet, als im Bachelor-Studium
 entsprechende Vorbereitung notwendig
• Organisatorisches
– 5 Termine
– Unterlagen zu Vorlesung und Praktikum online auf der Homepage
– Vor(!)- und ggf. Nachbereitung des Praktikums notwendig
– Zusendung des Praktikumsberichts (per Mail) jeweils bis 1 Woche nach
dem Praktikumstermin
– Arbeit mit VM oder eigener DB2-Installation (siehe Homepage)
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
8
Prüfung
• Die Prüfung zur Vorlesung wird als mündliche Prüfung durchgeführt
• Zulassungsvoraussetzungen zur Prüfung: erfolgreich bestandenes
Praktikum (inkl. termingerechter Abgabe der Praktikumsberichte)
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
9
Literatur
Die Vorlesung basiert überwiegend auf dem folgendem Lehrbuch:
• G. Saake, A. Heuer, und K. Sattler: Datenbanken:
Implementierungstechniken. 2. Auflage, mitp-Verlag, 2005 (3. Auflage
2011)
… und einem darauf basierenden Foliensatz von Prof. Dr. Kai-Uwe
Sattler (TU Ilmenau)
Literatur zur Vertiefung:
• T. Härder, E. Rahm. Datenbanksysteme – Konzepte und Techniken der
Implementierung. Springer-Verlag, 2001.
• J. Gray, A. Reuter. Transaction Processing – Concepts and Techniques.
Morgan Kaufmann Publishers, Inc., San Mateo, CA, 1992.
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
10
KAPITEL 1
ARCHITEKTURMODELLE
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
11
Architekturmodelle
Inhalte des Kapitels
• 5- Schichten-Architekturmodell eines DBMS
• Systemarchitektur konkreter DBMS
– Komponentenarchitektur
– Prozessmodell
Lernziele
• Verstehen der Architekturmodelle
• Kennenlernen der Aufgaben der verschiedenen Schichten
des 5-Schichten-Architekturmodells
• Einblick in Komponentenarchitektur und Prozessmodelle
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
12
5-Schichten-Architektur eines DBMS
•
•
•
•
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
SQL
100110101
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
13
5-Schichten-Architektur eines DBMS
Mengenorientierte
Schnittstelle
Datensystem
Übersetzung, Zugriffspfadauswahl,
Zugriffskontrolle, Integritätskontrolle
Zugriffssystem
Data Dictionary, Currency Pointer,
Sortierung, Transaktionsverwaltung
Speichersystem
Record Manager, Zugriffspfadverwaltung,
Sperrverwaltung, Log/Recovery
Satzorientierte
Schnittstelle
Interne Satzschnittstelle
Systempufferschnittstelle
Pufferverwaltung
Dateischnittstelle
Betriebssystem
Geräteschnittstelle
h_da Prof. Dr. Uta Störl
Systempufferverwaltung mit
Seitenwechselstrategie
Externspeicherverwaltung
Externspeicher
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
14
5-Schichten-Architektur eines DBMS
Mengenorientierte
Schnittstelle
Relationen
Sichten
SQL: select … from
QBE, …
Datensystem
Externe Sätze, Scans, FIND NEXT satz
Index-Strukturen
STORE satz
Satzorientierte
Schnittstelle
Zugriffssystem
Interne Satzschnittstelle
Speichersystem
Systempufferschnittstelle
Dateischnittstelle
Geräteschnittstelle
h_da Prof. Dr. Uta Störl
Pufferverwaltung
Betriebssystem
Externspeicher
Interne Sätze, Bäume Speichere internen Satz;
Hashtabellen
INSERT in B-Baum
Segmente
Seiten
Bereitstellen Seite j
Freigeben Seite j
Dateien
Blöcke
Lies Block k
Schreibe Block k
Zylinder
Spuren
Treiber
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
15
Aufgaben der Schichten – 1(2)
• mengenorientierte Schnittstelle:
– deklarative Datenmanipulationssprache auf Tabellen und Sichten (etwa
SQL)
• durch Datensystem auf satzorientierte Schnittstelle 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 SQLAnfragen
• durch Zugriffssystem auf interne Satzschnittstelle umgesetzt:
– interne Tupel einheitlich verwalten, ohne Typisierung
– Speicherstrukturen der Zugriffspfade (konkrete Operationen auf BBäumen und Hash-Tabellen), Mehrbenutzerbetrieb mit Transaktionen
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
16
Aufgaben der Schichten – 2(2)
• durch Speichersystem Datenstrukturen und Operationen der internen
Satzschnittstelle auf interne Seiten eines virtuellen linearen
Adressraums umsetzen
– Manipulation des Adressraums durch Operationen der
Systempufferschnittstelle
– Typische Objekte: interne Seiten, Seitenadressen
– Verwendete Operationen: Freigeben und Bereitstellen von Seiten,
Seitenwechselstrategien, Sperrverwaltung, Schreiben des Log
• durch Pufferverwaltung interne Seiten auf Blöcke der Dateischnittstelle
abbilden
– Umsetzung der Operationen der Dateischnittstelle auf
Geräteschnittstelle erfolgt (i.a.) durch das Betriebssystem
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
17
Systemarchitektur
• Prinzipiell lassen sich die fünf Schichten und ihre zugehörigen
Komponenten in den meisten (nicht nur relationalen) DBMS
identifizieren
– Praxis: nicht immer klare Trennung zwischen den Schichten
• Konzeptuelle Unterschiede vor allem im
– Speichermodell (Organisation der Daten auf dem Externspeicher)
– Prozessmodell, d.h. Umsetzung der Komponenten auf
Betriebssystemebene und deren Kommunikation
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
18
Typische Komponentenarchitektur eines DBMS
Compiler
Optimizer
RunTime
Catalog Manager
Index Manager
Record Manager
Lock Manager
Log Manager
Buffer Manager
File Manager
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
19
Typische Komponentenarchitektur eines DBMS
Compiler
Optimizer
RunTime
Catalog Manager
Index Manager
Record Manager
Lock Manager
Log Manager
Buffer Manager
File Manager
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
20
Prozessmodell Oracle – 1(2)
Quelle: Saake/Heuer/Sattler:2005
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
21
Prozessmodell Oracle – 2(2)
• Client-Prozess: Oracle-Anwendungen (z.B. sqlplus)
• Shared-Server-Prozess: implementiert die Transformationskomponenten, d.h.
– Übersetzung und Ausführung von Anfragen
– Laden von benötigten Seiten von der Festplatte in den Puffer
– Rückgabe der Ergebnisse an den Client
• System Monitor SMON: übernimmt beim Start das Recovery (Kap. 6)
• Prozess Monitor PMON: überwacht die laufenden Server- und
Hintergrundprozesse; startet diese ggf. neu
• LCK: Sperren (locking) von Ressourcen (Kap. 2 und Kap. 6)
• DBWR: Ausschreiben verdrängter und modifizierter Seiten aus dem Puffer
(Kap. 2)
• LGWR: Ausschreiben der Log-Einträge in die Log-Dateien (Kap. 6)
• ARCH: Archivierung der Log-Dateien (Kap. 6)
• CHKPT: Schreiben von Sicherungspunkten (checkpoints) (Kap. 6)
• RECO: Recovery verteilter Transaktionen (Kap. 7)
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
22
Prozessmodell SQLServer – 1(2)
Quelle: Saake/Heuer/Sattler:2005
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
23
Prozessmodell SQLServer – 2(2)
• pro Instanz ein Prozess, der als Windows-Dienst realisiert ist
• jede Anforderung wird durch einen Worker Thread übernommen
• Worker Thread: implementiert die Transformationskomponenten
• lazywriter: Ausschreiben verdrängter und modifizierter Seiten aus dem
Puffer (Kap. 2)
• logwriter: Ausschreiben der Log-Einträge in die Log-Dateien (Kap. 6)
• checkpoint: Schreiben von Sicherungspunkten (checkpoints) (Kap. 6)
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
24
Prozessmodell DB2 – 1(2)
Quelle: DB2 Dokumentation
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
25
Prozessmodell DB2 – 2(2)
• pro Instanz ein Prozess
• jede Anforderung wird durch einen db2agent Thread übernommen
• db2tcpcm: TCP/IP Kommunikation mit Anwendung
• db2ipccm: Inter-Prozess Kommunikation mit Anwendung
• db2agent: Bearbeiten SQL Anweisungen; implementiert die
Transformationskomponenten
• db2pfchr: Buffer Pool Prefetcher (Kap. 2)
• db2pclnr: Page Cleaner (Kap. 2)
• db2loggr/db2loggw/db2logts: Behandlung des Transaktion Logs
(Kap. 6)
• db2dlock: Dead Lock Detection (Kap. 2)
• …
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
26
Zusammenfassung
• 5- Schichten-Architekturmodell als abstraktes Architekturmodell,
welches das Zusammenspiel und die Schnittstellen zwischen den
Schichten beschreibt
• Systemarchitektur konkreter DBMS
– Komponentenarchitektur (relativ ähnlich)
– Prozessmodell (sehr unterschiedlich)
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
27
Architektur von Datenbanksystemen
 Architekturmodelle
• Verwaltung des Hintergrundspeichers
• Dateiorganisation und Zugriffsstrukturen
• Basisalgorithmen für Datenbank-Operationen
• Anfrageoptimierung
• Transaktionsverwaltung und Recovery
• Verteilte Datenbankarchitekturen
h_da Prof. Dr. Uta Störl
Architektur von Datenbanksystemen WS 2015/16
Kapitel 1: Einführung und Übersicht
28
Herunterladen