Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT...

40
Datenbanksysteme 1 Organisatorisches und Einführung 14.4.2008 Felix Naumann

Transcript of Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT...

Page 1: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Datenbanksysteme 1Organisatorisches und Einführung

14.4.2008Felix Naumann

Page 2: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

DatenbankenDatenbanken

2

Anwendung AnwendungAnwendung Anwendung

Datenbankmanagementsystem

DatenbankDatenbank

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 3: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Zoom heraus: Mehr-SchichtenarchitekturenSchichtenarchitekturen

31 Schicht: PC1 Schicht: PC

2 Schichten:Client

2 Schichten: Datei/DatenbankS

Client

Datei/DatenbankServer

3 Schichten:

DBSBusiness

LogikApplication/Web

ServerFS

3 Schichten: Backend/Daten-

b k S ProduktAuftrags- h

Felix Naumann | VL Datenbanksysteme II | SS 2008

bank Server ProduktKatalog

AuftragsDBMS

nach[Tomczyk03]

Page 4: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Zoom herein: ANSI/SPARC Architektur eines DBMSeines DBMS

4

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 5: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Zoom in die interne Ebene: Die 5-Schichten ArchitekturSchichten Architektur

5

Mengenorientierter Zugriff

DatenmodellebeneAnfrageübersetzung, Zugriffspfadwahl, Zugriffskontrolle,

Satzorientierter Zugriff

Datenmodellebene

Logischer Zugriff

Zugriffspfadwahl, Zugriffskontrolle, Integritätskontrolle

Sortierung, Transaktionsverwaltung, C lt D t Di ti

Interne Satzschnittstelle

g g

SpeicherstrukturenPhysical Record Manager, Index Manager, Sperrverwaltung, Log /

Cursorverwaltung, Data Dictionary

Systempufferschnittstelle

Pufferverwaltung

g , p g, g /Recovery

Seitenverwaltung, Puffermanagement Caching

Dateischnittstelle

Betriebssystem

Puffermanagement, Caching

Externspeicherverwaltung

Felix Naumann | VL Datenbanksysteme II | SS 2008

Geräteschnittstelle

Page 6: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

ÜberblickÜberblick

6

■ Vorstellung der Arbeitsgruppe

■ Organisatorisches

I l ti D t b k■ Implementierung von Datenbanken

■ Ausblick auf das Semester

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 7: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Arbeitsgruppe InformationssystemeArbeitsgruppe Informationssysteme

7

project fusem

project ViQTOR

Patricia Hobro Jens Bleiholder

Karsten DrabaData Fusion

Prof. Felix Naumann

DQ Assessment

project HumMer

Paul FühringData Cleaning

Duplicate DetectionPeer Data

Information Integration

Information Quality

DQ Assessment

Data Integration forLife Science Data Sources

Armin Roth

Melanie Weis & Sascha Szott

project Aladinproject XClean

ManagementSystems

Matching

Service-Oriented Systems

Personal InformationManagement

project Aladinproject System P

Ontologies

Se ce O e ed Sys e s

Mohammed AbuJarour

Alexander Albrecht

Jana BauckmannFrank Kaufer Data Profiling forSchema Management

Felix Naumann | März 2008

Page 8: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Lehrveranstaltungen in diesem SemesterSemester

8

Vorlesungen

■ DBS II

I f ti i t ti■ Informationsintegration

Seminare

■ Bachelor: Beauty is our Business■ Bachelor: Beauty is our Business

■ Bachelor: www.ligageschichte.de

■ Master: Duplikaterkennung

■ Forschungsseminar

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 9: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Vorstellung – HörerVorstellung – Hörer

9

■ Welches Semester?

□ 2tes, 4tes, 6tes

HPI d IfI?■ HPI oder IfI?

■ Erasmus o.ä.?

■ DBS I bei mir?■ DBS I bei mir?

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 10: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

ÜberblickÜberblick

10

■ Vorstellung der Arbeitsgruppe

■ Organisatorisches

I l ti D t b k■ Implementierung von Datenbanken

■ Ausblick auf das Semester

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 11: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

TermineTermine

11

■ Vorlesung□ Montags 9:15 - 10:45

◊ in HS 3

■ Übungen

□ Ungefähr 1 SWS

Verteilt auf Doppelstunden □ Donnerstags 9:15 - 10:45

◊ in HS 3■ Erste Vorlesung

□ Verteilt auf Doppelstunden im Semester

□ Bitte immer www beachten■ Erste Vorlesung

□ 14.4.2008■ Letzte Vorlesung

17 7 2008

□ Zwei Übungsgruppen

◊ Montags 9:15 in HS 3

◊ Di t 17 00 i HS □ 17.7.2008■ Feiertage

□ 1.5. Maifeiertag (Do)

◊ Dienstags 17:00 in HS 1

■ Klausur□ 12.5. Pfingstmontag

■ Sondertermine□ 17.4. (Do): IBM Tag

□ Eine Woche nach Semester

□ 1.5 vs. 2 vs. 4 vs. 8 Stunden

Felix Naumann | VL Datenbanksysteme II | SS 2008

□ 21.4. und 24.4.: SaschaStunden

Page 12: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

FeedbackFeedback

12

■ Folien

□ Vor der VL im WWW

■ Fragen bitte jederzeit!

□ In der Vorlesung

◊ ASAP

□ Datiert bei Updates

A V b

g

□ Sprechstunde

◊ Dienstags 15:00 – 16:00

R A 1 13■ Anregungen zur Verbesserung:

□ Gebrauch der Folien

□ Infos im WWW

◊ Raum A-1.13

◊ Am liebsten mit Anmeldung

□ … □ Email: [email protected]

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 13: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

LiteraturLiteratur

13

Database Systems - The Complete Book

■ Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom: Pearson Education International, 2002.

Ebenfalls empfehlenswert

■ DatenbanksystemeAlfons Kemper, André EicklerISBN: 3486273922

■ Datenbanken: ImplementierungstechnikenGunter Saake, Andreas Heuer, Kai-Uwe Sattler

Und viele andere mehr…

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 14: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Übungen und LeistungserfassungÜbungen und Leistungserfassung

14

■ Übungen – Organisatorisches

□ Mehr von Sascha Szott bei erster Übung

□ Zweiergruppen□ Zweiergruppen

□ Vermutlich nur 5 Übungsblätter

□ Mind. 50% der Punkte auf jedem Blatt

◊ Kein Freischuss

□ Tutor

◊ Florian Reinhart

■ Übungen – Inhaltliches

□ „Theoretische“ Übungen

◊ A f P i◊ Auf Papier

□ Praktische Übungen

◊ DB2 im Studentenpoolp

◊ Neuer DB2 Server!

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 15: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

ÜberblickÜberblick

15

■ Vorstellung der Arbeitsgruppe

■ Organisatorisches

I l ti D t b k■ Implementierung von Datenbanken

■ Ausblick auf das Semester

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 16: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Das Megatron 2002 DBMSDas Megatron 2002 DBMS

16

■ Naive Sicht

□ DBMS sollte recht einfach sein

M t 2002■ Megatron 2002

□ Unter UNIX verfügbar

□ Relationales Datenmodell□ Relationales Datenmodell

□ SQL Anfragen

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 17: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Megatron - ImplementierungsdetailsMegatron - Implementierungsdetails

17

■ Zuerst: NDA unterzeichnen!

R l ti d i ASCII D t i i h t■ Relationen werden in ASCII Dateien gespeichert.

□ Relation Studenten(Name, Matrikel, Studiengang)

□ Wird zu Datei /usr/db/Studenten□ Wird zu Datei /usr/db/Studenten

■ Eine Zeile pro Tupel

■ Felder werden mit „#“ separiert

Smith # 123 # CSJones # 522 # EE...

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 18: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Megatron - ImplementierungsdetailsMegatron - Implementierungsdetails

18

■ Schema wird in gesonderter ASCII Datei gespeichert

□ /usr/db/schema

Ei Z il R l ti■ Eine Zeile pro Relation

■ Zeile beginnt mit Relationenname

■ Gefolgt von Attributname/Datentyp Paaren■ Gefolgt von Attributname/Datentyp Paaren

□ Getrennt durch „#“

R1 # A # INT # B # STR …R2 # C # STR # A # INTR2 # C # STR # A # INT …...

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 19: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Eine Session mit MegatronEine Session mit Megatron

19

■ Maschine: dbhost

■ Megatron prompt: &

■ dbhost> MEGATRON3000Welcome to MEGATRON 3000!

■ & ......

■ & quit

■ dbhost>

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 20: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Eine Session mit MegatronEine Session mit Megatron

20

■ SQL Anfragen werden mit # beendet

#■ & SELECT * FROM Studenten #Name Matrikel Fach__

Smith 123 Informatik

Jones 522 Mathematik

■ Speicherung von Anfrageergebnissen in einer Datei

■ & SELECT * FROM Studenten WHERE Matrikel > 500 | HoheMtr ##

■ Erzeugt neue Datei /usr/db/HoheMtr mit einer Zeile

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 21: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Anfrageausführung in MegatronAnfrageausführung in Megatron

21

■ & SELECT * FROM R WHERE <Bedingung>

1. Schema-Datei lesen um Attribute und Datentypen von R zu bestimmenbestimmen

2. Prüfe, ob Bedingung semantisch korrekt ist.

3. Zeige jedes Attribut als Zeilenkopf ang j p

4. Male eine Linie

5. Lese die Datei namens R. Für jede Zeile

1. Prüfe Bedingung2 Zeige Zeile als Tupel an falls Bedingung erfüllt ist2. Zeige Zeile als Tupel an, falls Bedingung erfüllt ist.

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 22: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Anfrageausführung in MegatronAnfrageausführung in Megatron

22

■ & SELECT * FROM R WHERE <Bedingung> | T #

1. Schema-Datei lesen um Attribute und Datentypen von R zu bestimmenbestimmen

2. Prüfe, ob Bedingung semantisch korrekt ist.

3. Lesen der Datei namens R. Für jede Zeilej

1. Prüfe Bedingung2. Schreibe Zeile in Datei /usr/db/T, falls Bedingung

erfüllt isterfüllt ist.

4. Füge in Datei /usr/db/schema eine Zeile hinzu für Relation T

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 23: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Anfrageausführung in MegatronAnfrageausführung in Megatron

23

■ & SELECT Büro FROM Studenten, FachbereicheWHERE Studenten.Name = „Smith“ AND Studenten.Fach = Fachbereich.Name #AND Studenten.Fach Fachbereich.Name #

1. Schema-Datei lesen um Attribute und Datentypen von Studenten und Fachbereiche zu bestimmen.

2. Prüfe, ob Bedingungen semantisch korrekt sind.

3. Lesen von Datei /usr/db/Studenten. Für jede Zeile:

1 L D t i / /db/F hb i h Fü j d Z il1. Lesen von Datei /usr/db/Fachbereiche. Für jede Zeile:1. Erzeuge Join-Tupel2. Prüfe Bedingungen3. Zeige Tupel an, falls Bedingung erfüllt

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 24: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Probleme mit Megatron 2002Probleme mit Megatron 2002

24

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 25: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Probleme mit Megatron 2002Probleme mit Megatron 2002

25

■ Tupel-Layout auf der Festplatte

□ Falls sich ein Wert ändert muss gesamte Datei neu geschrieben werdengeschrieben werden.

◊ Alle Zeichen bewegen sich entsprechend in der Datei.

□ ASCII Speicherung ist teuer

□ Löschung ist ebenfalls teuer

■ Teure Suche

□ Es kann nicht schnell, z.B. basierend auf einem Schlüssel, ein bestimmtes Tupel gefunden werden

□ Es wird immer gesamte Relation gelesen selbst bei strengen □ Es wird immer gesamte Relation gelesen, selbst bei strengen Nebenbedingungen

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 26: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Probleme mit Megatron 2002Probleme mit Megatron 2002

26

■ Anfrageausfühung ist brute force

□ Joinoperationen können wesentlich schneller implementiert werden.werden.

□ Selektionen sollten früher ausgeführt werden

■ Kein Puffermanagement

□ Hauptspeicher wird nicht genutzt

□ Sämtliche Daten werden stets von Festplatte gelesen

■ Keine Nebenläufigkeitskontrolle■ Keine Nebenläufigkeitskontrolle

□ Mehrere Nutzer könnten gleichzeitig Datei ändern

■ Keine Zuverlässigkeit

□ Daten können bei Systemabsturz verloren gehen

□ Operationen könnten nur teilweise ausgeführt werden

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 27: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Probleme mit Megatron 2002Probleme mit Megatron 2002

27

■ Keine Sicherheit

□ Dateisystem ist unsicher

G l ität i t b□ Granularität ist grob

■ Wenig Metadatenfähigkeiten

□ Statistiken Nebenbedingungen□ Statistiken, Nebenbedingungen

■ Kein API

□ Wie können anderen Anwendungen auf die Daten zugreifen?

■ Keine Interaktion mit anderen DBMS

■ Keine GUI

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 28: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

ÜberblickÜberblick

28

■ Vorstellung der Arbeitsgruppe

■ Organisatorisches

I l ti D t b k■ Implementierung von Datenbanken

■ Ausblick auf das Semester

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 29: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

KurzüberblickKurzüberblick

29

■ Physische Speicherstrukturen (2)

■ Physische Repräsentation von Daten (1)

■ Indexstrukturen (5)■ Indexstrukturen (5)

■ Anfrageausführung (2)

■ Optimierung (4)

■ Benchmarking (1)

■ Recovery (2)

■ Transaktionsmanagement (3)■ Transaktionsmanagement (3)

Effi i t U it ß D tEffizienter Umgang mit großen Datenmengen

Teil 1: Umgang mit großen Datenmengen

Felix Naumann | VL Datenbanksysteme II | SS 2008

Teil 2: Effiziente Manipulation der Daten

Page 30: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Physische SpeicherstrukturenPhysische Speicherstrukturen

30

■ Speicherhierarchie

□ Cache, RAM, Sekundärspeicher, Tertiärspeicher

■ Festplatten■ Festplatten

□ Mechanik, Controller, Charakteristiken, Read/Write

■ Algorithmen für Sekundärspeicher

□ Bsp: Sortierung mit „Two-Phase, Multiway Merge-Sort“

■ Zugriffsbeschleunigung

Clustering Multiple Disks Spiegelung Prefetching□ Clustering, Multiple Disks, Spiegelung, Prefetching

■ Diskfehler

□ Checksums, Stable Storage, g

■ Disk Recovery

□ RAID: Spiegelung, Parity Blocks, …

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 31: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Physische Repräsentation von DatenPhysische Repräsentation von Daten

31

■ Datenelemente und Felder

□ Relationale Datenbankelemente, Datentypen, Datensätze

Ad i■ Adressierung

□ Client/Server, Physische vs. Logische Adresse

■ Datentypen variabler Länge■ Datentypen variabler Länge

□ Variable Felder, Variable Datensätze, Nullwerte, BLOBs

■ Schreiboperationen

□ Insert, Update, Delete

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 32: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

IndexstrukturenIndexstrukturen

32

■ Indizes auf sequentiellen Dateien

□ Sortiert, dicht-besetzter und dünn-besetzter Index, Mehrstufiger Index UpdatesMehrstufiger Index, Updates

■ Sekundärindizes

□ Nicht sortiert, Aufbau, Anwendungen, Indirektion, Invertierte , , g , ,Indizes (IR)

■ B-Bäume

□ Aufbau, Anwendungen, Bereichsanfragen, Insert, Delete

■ Hashverfahren (für Sekundärspeicher)

□ Insert Delete erweiterbares Hashen Lineares hashen□ Insert, Delete, erweiterbares Hashen, Lineares hashen

■ Eventuell: Multidimensionale Indizes

□ GIS, DWH□ GIS, DWH

■ Eventuell: Bitmap Indizes

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 33: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

AnfrageausführungAnfrageausführung

33■ Physische Operatoren

□ Scan, Sortierung, I/O Kosten, Iteratoren

■ One-Pass Operationen

□ Unär: Selektion, Projektion, Duplikateliminierung, Gruppierung

□ Binär: Mengenoperationen (∪∩—×), Join

□ Nested-Loop Joinp

■ Two-Pass Operationen (mittels Sortierung)

□ Duplikateliminierung, Gruppierung, Mengenoperationen (∪∩—×), Merge-Sort Join

■ Two-Pass Operationen (mittels Hashing)

□ …, Hash-Join, …

■ Index-basierte Algorithmen■ Index basierte Algorithmen

□ Clustering Indizes, Selektion, Joins

■ Puffermanagement

Architektur Strategien (LRU FIFO )□ Architektur, Strategien (LRU, FIFO, …)

■ Parallele Algorithmen

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 34: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

OptimierungOptimierung

34

■ Teils schon in DBS I:

□ Parsing, Algebraische Transformationsregeln

K t d ll■ Kostenmodell

□ Projektion, Selektion, Verteilungen, Join

■ Kostenbasierte Optimierung■ Kostenbasierte Optimierung

□ Histogramme, Statistiken, Heuristiken, Enumerierung aller Pläne

■ Joinreihenfolge

□ Links vs. rechts, Dynamische Programmierung, greedy AlgorithmusAlgorithmus

■ Physische Anfragepläne

□ Selektionsmethode, Join-Methode, Pipelining□ Selektionsmethode, Join Methode, Pipelining

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 35: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

BenchmarkingBenchmarking

35

■ Leistungsbewertung

□ Komponenten eines Benchmarks, Ziele

TPC B h k■ TPC Benchmarks

□ TPC A, B

□ TPC C: OLTP□ TPC C: OLTP

□ TPC D/H: Decision Support DWH

□ TPC W: e-Commerce

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 36: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

RecoveryRecovery

36

■ Fehlerarten

□ Medienfehler, Systemfehler, Transaktionen en detail

U d L i■ Undo Logging

□ Log-Datensätze, Log-Regeln, Wiederherstellung mit Undo, Checkpointsp

■ Redo Logging

□ Log-Regeln, Wiederherstellung mit Redo, Checkpoints

■ Undo/Redo Logging

□ Best of both worlds, Regeln, Wiederherstellung, Checkpoints

h■ Archivierung

□ Archive, Nebenläufige Archivierung, Wiederherstellung mit Archiven und LogsArchiven und Logs

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 37: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

TransaktionsmanagementTransaktionsmanagement

37

■ Fortsetzung aus DBS I:

□ Transaktionen, Schedules, 2PL, Sperren

■ Mehrere Sperr-Modi■ Mehrere Sperr Modi

□ Shared und exclusive Sperren, Aufwertung von Sperren, Update-Sperren, Inkrement-Sperren

■ Scheduler

□ Architektur, Sperrtabelle

■ Hierarchisches Sperrenp

□ Sperrgranulate (Tabellen, Blöcke, Tupel), warnende Sperren

■ Baumprotokolle

□ Motivation (z.B. B-Bäume), Regeln, Beweis

■ Nichtsperrende Verfahren

□ Zeitmarken (Timestamps), Validierung, Optimistische Verfahren□ Zeitmarken (Timestamps), Validierung, Optimistische Verfahren

Felix Naumann | VL Datenbanksysteme II | SS 2008

Page 38: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Systemarchitektur nach Garcia-MolinaSystemarchitektur nach Garcia-Molina

38

Query Parser UserStrategy Selector

User Transaction Transaction Manager

Buffer Manager Recovery Manager

File Manager LogLock Table M M Buffer

Concurrency Control

File Manager LogLock Table M.M. Buffer

Statistical DataIndexes

User Data System Data

Felix Naumann | VL Datenbanksysteme II | SS 2008

y

Page 39: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

Systemarchitektur nach LeserSystemarchitektur nach Leser

39N i “ F t h itt A d D t b k

Anwendung Interaktive Verwaltungs-Präcompiler

„Naive“Benutzer

FortgeschritteneBenutzer

Anwendungs-Programmierer

Datenbank-administratoren

DML Compiler DDL Compiler

Anwendung Anfrage werkzeugPräcompiler

Anfragebearbeitung DBMS

DML-Compiler DDL-Compiler

Mehrbenutzersynchr.Fehlerbehandlung

Datenbankmanager Schemaverwaltung

Dateiverwaltung

Felix Naumann | VL Datenbanksysteme II | SS 2008

Logdateien Indexe Datenbasis Datenwörterbuch

Page 40: Datenbanksysteme 1 Organisatorisches und Einführung · Anfrageausführung in Megatron 21 & SELECT * FROM R WHERE  1. Schema-Datei lesen um Attribute und Datentypen

FeedbackFeedback

40

Fragen bitte jederzeit!

■ In der VL

S h t d Di t 15 16 Uh■ Sprechstunde: Dienstags 15-16 Uhr

■ Email: [email protected]

■ Telefon: (0331) 5509 280■ Telefon: (0331) 5509 280

Anregungen zur Verbesserung:

■ Z.B. zu

□ Gebrauch der Folien

□ Infos im WWW

Felix Naumann | VL Datenbanksysteme II | SS 2008