Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug...

47
Teil I Motivation und Grundlagen

Transcript of Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug...

Page 1: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Teil I

Motivation und Grundlagen

Page 2: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Überblick

1. Aufgaben und Komponenten eines DBMS

2. Relationale vs. nicht-relationale DBMS

3. OLTP, OLAP und HTAP

4. Disk- vs. Main-Memory-Systeme

5. Klassische 5-Schichtenarchitektur

6. Neue Entwicklungen

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–1

Page 3: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Aufgaben und Komponenten einesDBMS

Page 4: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Prinzipien: Die neun Codd’schen Regeln

1. Integration: einheitliche, nichtredundante Datenverwaltung2. Operationen: Speichern, Suchen, Ändern3. Katalog: Zugriffe auf Datenbankbeschreibungen im Data

Dictionary4. Benutzersichten5. Integritätssicherung: Korrektheit des Datenbankinhalts6. Datenschutz: Ausschluss unauthorisierter Zugriffe7. Transaktionen: mehrere DB-Operationen als Funktionseinheit8. Synchronisation: parallele Transaktionen koordinieren9. Datensicherung: Wiederherstellung von Daten nach

Systemfehlern

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–2

Page 5: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Betrachtete Fragestellungen

Data Dictionary

Optimierer Auswertung PlattenzugriffAnfragen

Updates

SichtdefinitionDatendefinition

Datei-organisation

DB-Operationen

Einbettung

Masken

P1

Pn

...

Externe Ebene Konzeptuelle Ebene Interne Ebene

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–3

Page 6: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Zentrale Komponenten

• Anfrageverarbeitung: Planung, Optimierung und Ausführungdeklarativer Anfragen

• Transaktionsverwaltung: Koordination und Synchronisationvon Transaktionen, Durchführung von Änderungen, Sicherungder ACID-Eigenschaften

• Speichersystem: Organisation der Daten im Hauptspeicherund auf dem Externspeicher für effizienten Zugriff undPersistenz

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–4

Page 7: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Klassische DB-Landschaft

Database

...

DBMS

Application Application „Banking,SAP, …“

„Server“

„Disk“

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–5

Page 8: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung
Page 9: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Relationale vs. nicht-relationaleDBMS

Page 10: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Relationale DBMS

• Basis: Relationenmodell = Daten in Tabellen strukturiert• Beziehungen über Werte (= Fremdschlüssel),

Integritätsbedingungen• SQL als standardisierte Anfragesprache• kommerziell erfolgreichstes Datenmodell: Oracle, IBM DB2,

MS SQL Server, SAP HANA, …

WEINE WeinID Name Farbe Jahrgang Weingut

1042 La Rose Grand Cru Rot 1998 Château ...2168 Creek Shiraz Rot 2003 Creek3456 Zinfandel Rot 2004 Helena2171 Pinot Noir Rot 2001 Creek3478 Pinot Noir Rot 1999 Helena4711 Riesling Reserve Weiß 1999 Müller4961 Chardonnay Weiß 2002 Bighorn

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–7

Page 11: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Kritik an RDBMS / SQL

• nicht skalierbar• Normalisierung von Relationen, viele Integritätsbedingungen zu

prüfen• kann man in RDBMS auch vermeiden!

• starre Tabellen nicht flexibel genug• schwach typisierte Tabellen (Tupel weichen in den tatsächlich

genutzten Attributen ab)• viele Nullwerte wenn alle potentiellen Attribute definiert• alternativ Aufspaltung auf viele Tabellen• Schema-Evolution mit alter table unflexibel

• tatsächlich in vielen Anwendungen ein Problem• Integration von spezifischen Operationen (Graphtraversierung,

Datenanalyse-Primitive) mit Stored Procedures zwar möglichführt aber oft zu schwer interpretierbarem Code

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–8

Page 12: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

NoSQL-Systeme

• Datenmodelle• KV-Stores• Wide Column Stores• Dokumenten-orientierte Datenhaltung• Graph-Speicher• …

• Anfragesprache ⇝ unterschiedliche Ansätze:• einfache funktionale API• Programmiermodell für parallele Funktionen• angelehnt an SQL-Syntax• …

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–9

Page 13: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

NoSQL-Systeme: Beispiele

• dokumentenorientierte Datenbanksysteme: MongoDB• semistrukturierte Dokumente in JSON- bzw. BSON-Format• Anfragen: CRUD erweitert um dokumentspezifische Suche

• Graph-Datenbanksysteme: Neo4j• Property Graphen als Datenmodell: Knoten und Kanten mit

Eigenschaften• Anfragesprache Cypher• Muster der Form ”Knoten → Kante → Knoten …“

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–10

Page 14: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

OLTP, OLAP und HTAP

Page 15: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

OLTP vs. OLAP

• Online Transactional Processing (OLTP)→ Klassische operative Informationssysteme• Erfassung und Verwaltung von Daten• Verarbeitung unter Verantwortung der jeweiligen Abteilung• Transaktionale Verarbeitung: kurze Lese-/ Schreibzugriffe auf

wenigen Datensätzen• ACID-Eigenschaften

• Online Analytical Processing (OLAP)→ Data Warehouse• Analyse im Mittelpunkt = entscheidungsunterstützende

Systeme• Langandauernde Lesetransaktionen auf vielen Datensätzen• Integration, Konsolidierung und Aggregation der Daten

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–11

Page 16: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

OLTP: Beispiel

BEGIN;SELECT KundenNr INTO KNr

FROM Kunden WHERE email = '...';INSERT INTO BESTELLUNG VALUES (KNr, BestNr, 1);UPDATE Artikel SET Bestand = Bestand-1

WHERE ArtNr = BestNr;COMMIT TRANSACTION;

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–12

Page 17: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

OLAP: Beispiel

SELECT DISTINCT ROW Zeit.Dimension AS Jahr,Produkt.Dimension AS Artikel,AVG(Fact.Umsatz) AS Umsatzdurchschnitt,Ort.Dimension AS Verkaufsgebiet

FROM (Produktgruppe INNER JOIN Produkt ON Produktgruppe.[Gruppen-Nr] = Produkt.[Gruppen-ID]) INNER JOIN((((Produkt INNER JOIN [Fact.Umsatz] ON Produkt.[Artikel-Nr]= [Fact.Umsatz].[Artikel-Nr]) INNER JOIN Order ON[Fact.Umsatz].[Bestell-Nr]= Order.[Order-ID]) INNER JOINZeit.Dimension ON Orders.[Order-ID] =Zeit.Dimension.[Order-ID]) INNER JOIN Ort.Dimension ONOrder.[Order-ID] = Ort.Dimension.[Order-ID]) ONProduktgruppe.[Gruppen-Nr] = Produkt.[Gruppen-ID]

GROUP BY Produkt.Dimension.Gruppenname, Ort.Dimension.Bundesland,Zeit.Dimension.Jahr;

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–13

Page 18: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Abgrenzung OLTP – OLAP: Anfragen

OLTP OLAPFokus Lesen, Schreiben, Modi-

fizieren, LöschenLesen, periodisches Hin-zufügen

Transaktionsdauerund -typ

kurze Lese- / Schreib-transaktionen

langandauernde Lese-transaktionen

Anfragestruktur einfach strukturiert komplexDatenvolumeneiner Anfrage

wenige Datensätze viele Datensätze

Datenmodell anfrageflexibel analysebezogenAntwortzeit msecs …secs secs …min

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–14

Page 19: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Abgrenzung OLTP – OLAP: Daten

OLTP OLAPDatenquellen meist eine mehrereEigenschaften nicht abgeleitet, zeitak-

tuell, autonom, dyna-misch

abgeleitet / konsolidiert,historisiert, integriert, stabil

Datenvolumen MByte …GByte GByte …TByte …PByteZugriffe Einzeltupelzugriff Tabellenzugriff (spaltenwei-

se)

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–15

Page 20: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

HTAP

• HTAP = Hybrid Transactional and Analytics Processing• Ziel: schnellere Geschäftsentscheidungen durch

”Echtzeit“-Verarbeitung• OLAP und OLTP auf der gleichen Datenbank: naheliegend,

aber große technische Herausforderung• sehr unterschiedliche Workloads (Anfrage- und Lastprofile)• Transaktionsverwaltung: gegenseitige Beeinflussung von

Änderungs- und Leseoperationen reduzieren• unterschiedliche Datenorganisation (physisch, logisch)

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–16

Page 21: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

HTAP: Herausforderungen

OLAP OLTP

Analytical (OLAP) und Transactional processing (OLTP):

• verschiedene Zugriffscharakterisiken• verschiedene Performance-Ziele (Latenz vs. Durchsatz)

=⇒ Unterschiedliche Optimierungen notwendig

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–17

Page 22: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Disk- vs. Main-Memory-Systeme

Page 23: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Traditionelle Annahmen

• Daten sollen dauerhauft aufbewahrt werden• Datenbank ≫ Hauptspeicher• Disk ≫ Hauptspeicher• Hauptspeicher = flüchtiger (volatiler) Speicher• Disk-IO dominiert Kosten

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–18

Page 24: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Traditionelle Annahmen /2

Quelle [1]

Knapper Hauptspeicher

Quelle [2]

Disk-basierte Systeme

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–19

Page 25: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Speicherhierarchie

Cache

Hauptspeicher

Optische Platten

Magnetbänder

Festplatten, Solid-State-Disk

Primärspeicher

Sekundärspeicher

Tertiärspeicher

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–20

Page 26: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Eigenschaften von Speichermedien

Primär Sekundär TertiärGeschwindigkeit schnell langsam sehr langsamPreis teuer preiswert billigStabilität flüchtig stabil stabilGröße klein groß sehr großGranulate fein grob grob

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–21

Page 27: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Speichermedien

• Primärspeicher• Primärspeicher: Cache und Hauptspeicher• sehr schnell, Zugriff auf Daten fein granular: theoretisch jedes

Byte adressierbar (Cachelines)• 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 105 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ß

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–22

Page 28: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Transferraten HDD vs. SSD

0.01

0.1

1

10

100

1000

1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192

Band

brei

te in

MB/

s

Blockgröße in KB

HDD randomSSD random

HDD seqSSD seq

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–23

Page 29: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Konsequenz für disk-basierte Systeme

• blockbasierter Zugriff mit typischen Blockgrößen ≥ 4 KB• speziell für Magnetplatten Optimierung auf sequentielle

Zugriffe• Disklayout: Organisation der Daten auf der Disk =

fortlaufende Folge von Blöcken• sequentielles Lesen und Schreiben

• Zugriffslücke zwischen Hauptspeicher und Disk durch Cachingverbergen (Lokalität von Zugriffen ausnutzen)

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–24

Page 30: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Main-Memory-Datenbanken

• klassische Annahmen nicht mehr zutreffend:• Systeme mit Hauptspeicher im TB-Bereich verfügbar• Datenbank kann komplett im Hauptspeicher gehalten werden

(muss aber dennoch persistent sein)

• Main-Memory- oder Hauptspeicher-Datenbanken:Ausnutzung der großen Hauptspeicher undMulticore-Architekturen• Beispiele: SAP HANA, Oracle TimesTen, SQL Server Hekaton,

Hyper, MemSQL, …• Besonderheiten: hauptspeicheroptimierte Datenstrukturen

(Main-Memory-Scans), Persistenz trotz volatilem Speicher,Datenkompression, Nebenläufigkeitskontrolle

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–25

Page 31: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Klassische 5-Schichtenarchitektur

Page 32: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Fünf-Schichtenarchitektur

• Architektur für klassische 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 hinzu Zugriffen auf Speichermedien

• Definition der Schnittstellen zwischen Komponenten

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–26

Page 33: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

5-Schichtenarchitektur: Funktionen

Datensystem

Zugriffssystem

Speichersystem

Pufferverwaltung

Betriebssystem

MengenorientierteSchnittstelle

SatzorientierteSchnittstelle

InterneSatzschnittstelle

Systempuffer-schnittstelle

Datei-schnittstelle

Geräteschnittstelle

Externspeicher

Übersetzung, Zugriffspfadwahl,Zugriffskontrolle, Integritätskontrolle

Data Dictionary, Currency Pointer,Sortierung, Transaktionsverwaltung

Record Manager, Zugriffs-pfadverwaltung, Sperr-verwaltung, Logging, Recovery

Systempufferverwaltung, Seitenersetzung, Seitenzuordnung

Externspeicherverwaltung,Speicherzuordnung

MOS

SOS

ISS

SPS

DS

GS

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–27

Page 34: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

5-Schichtenarchitektur: Objekte

Datensystem

Zugriffssystem

Speichersystem

Pufferverwaltung

Betriebssystem

RelationenSichten MOS

SOS

ISS

SPS

DS

GS

Externe SätzeIndexstrukturenScans

Interne SätzeBäumeHashtabellen

SegmenteSeiten

DateienBlöcke

ZylinderSpuren

Lies Block kSchreibe Block k

Bereitstellen Seite jFreigeben Seite j

FIND NEXT satzSTORE satz

SELECT ...FROM ... WHERE ...

LOOKUP im B-BaumINSERT in B-Baum

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–28

Page 35: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Erläuterungen

• mengenorientierte Schnittstelle MOS:• deklarative Datenmanipulationssprache auf Tabellen und

Sichten (etwa SQL)

• durch Datensystem auf satzorientierte Schnittstelle SOSumgesetzt:• 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

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–29

Page 36: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Erläuterungen /2

• durch Zugriffssystem auf interne Satzschnittstelle ISSumgesetzt:• interne Tupel einheitlich verwalten, ohne Typisierung• Speicherstrukturen der Zugriffspfade (konkrete Operationen

auf B+-Bäumen und Hashtabellen), Mehrbenutzerbetrieb mitTransaktionen

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–30

Page 37: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Erläuterungen /3

• durch Speichersystem Datenstrukturen und Operationen derISS auf interne Seiten eines virtuellen linearen Adressraumsumsetzen• Manipulation des Adressraums durch Operationen der

Systempufferschnittstelle SPS• Typische Objekte: interne Seiten, Seitenadressen• Typische Operationen: Freigeben und Bereitstellen von Seiten,

Seitenwechselstrategien, Sperrverwaltung, Schreiben des Logs

• durch Pufferverwaltung interne Seiten auf Blöcke derDateischnittstelle DS abbilden• Umsetzung der DS-Operationen auf Geräteschnittstelle erfolgt

durch BS

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–31

Page 38: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Neue Entwicklungen

Page 39: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Anforderungen aus neuen Anwendungen

• Nicht-Standard-Datenmodelle (siehe NoSQL-Systeme)• flexibler Umgang mit Datenstrukturen (JSON, Schema on

Read, …)• beschränkte (Lookups) vs. erweiterte (z.B. Graphoperationen,

Datenanalysen) Anfragefunktionalität• Skalierbarkeit zu Big Data (massiv parallele/verteilte

Systeme)• dynamische Daten / Datenströme• …

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–32

Page 40: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Aktuelle Anwendungen / Themen

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–33

Page 41: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Entwicklungen im Hardware-Bereich

Picture adapted from [1]

Großer HauptspeicherQuelle [3]

Multi-core CPUs

Quelle [4]

Solid State DisksQuelle [5]

Co-ProzessorenSattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–34

Page 42: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Entwicklungen im Hardware-Bereich /2

• Multicore- und Manycore-Prozessoren: 64+ Cores• Nutzung erfordert Parallelisierungstechniken und

Nebenläufigkeitskontrolle

• Memory Wall: Hauptspeicherzugriff als Flaschenhals• 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ätzlicheCache-Ebene, …

• Persistenter Memory: nicht-volatiler Speicher• Instant Restart / Recovery von Main-Memory-Datenbanken

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–35

Page 43: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Übungsprojekt

Page 44: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

ToyDB: Überblick

• Sammlung von Java-Modulen zur Implementierung vonKernfunktionen eines DBMS

• Single-Process-Modell in Anlehnung an5-Schichten-Architektur

• Organisation des Externspeichers in Dateien mit Seiten festerGröße (4KByte)

• B+-Baum- und R-Baum-Indexe• Anfrageoperatoren für relationale Algebra• rudimentärer Support für Transaktionen

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–36

Page 45: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

ToyDB: Systemarchitektur und Module

Paged File Managerdbis.toydb.pf

Record Managerdbis.toydb.rm

Index Managerdbis.toydb.ix.

btree

Index Managerdbis.toydb.ix.

rtree

Query Execution Plan Operators

dbis.toydb.qep

Statistics Managerdbis.toydb.statistics

Transaction & Lock Manager

dbis.toydb.tx

Query Processor (Rewriting & Optimization)dbis.toydb.qp

Buffer Pool Managerdbis.toydb.bp

System Managerdbis.

toydb.sm

SQL Parserdbis.toydb.parser

Command Line Processordbis.toydb.CmdLine

Con

figur

atio

n M

anag

emen

tdb

is.t

oydb

.uti

l.Co

nfig

urat

ion

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–37

Page 46: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Zusammenfassung

• Datenmanagementfunktionalitäten in vielenSoftwaresystemen erforderlich

• nicht auf Implementierung kompletter DBMS beschränkt,sondern für nahezu alle datenintensiven Systeme: auch inSuchmaschinen, Datenanalyseanwendungen, eingebettetenSystemen, Visualisierungssystemen, Steuerungssystemen,Entwicklungsumgebungen, …

• gemeinsame Aufgaben / Komponenten: Datenorganisationund -verwaltung (Indexstrukturen), Transaktionsverwaltung /Nebenläufigkeitskontrolle / Recovery, Anfrageverarbeitung

• betrifft Datenstrukturen und Algorithmen

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–38

Page 47: Teil I Motivation und Grundlagen · 2020. 4. 14. · bersetzung, Zug riffspfadw ahl, Zug riffskontrolle, Integ rit tskontrolle Data Dictionary, Currency P ointer, Sortierung, T ransaktionsverwaltung

Web-Quellen

[1] http://commons.wikimedia.org/wiki/File:RAM_module_SDRAM_1GiB.jpg

[2] http://commons.wikimedia.org/wiki/File:Hard_disks.jpg

[3] http://www.flickr.com/photos/25757823@N07/2719552544

[4] http://commons.wikimedia.org/wiki/File:Super_Talent_2.5in_SATA_SSD_SAM64GM25S.jpg

[5] http://commons.wikimedia.org/wiki/File:Gtx260.jpg

[6] http://commons.wikimedia.org/wiki/File:Travis_Race_car.jpg

[7] http://www.flickr.com/photos/denieseclariz/7412854696

Sattler/Saake | VL Datenbank-Implementierungstechniken | April 2019 1–39