29
Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

Embed Size (px)

Citation preview

Page 1: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

Vorlesung Datenbanksysteme vom 11.10.2004Physische Datenorganisation

SpeicherhierarchieHintergrundspeicher / RAIDB-BäumeHashingR-Bäume

Page 2: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

2

Architektur eines DBMS

DML-Compiler DDL-Compiler

Abfrageoptimierung

Datenbankmanager

Schemaverwaltung

Dateiverwaltung

Logdateien Indexe Datenbasis Data Dictionary

Mehrbenutzersynchronisation

Fehlerbehandlung

Interactive Abfrage API/Präcompiler Verwaltungswerkzeug

Page 3: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

3

Überblick: Speicherhierarchie

1-10ns

Register

10-100ns

Cache

100-1000ns

Hauptspeicher

10 ms

Plattenspeicher

sec

Archivspeicher

Zugriffslücke

105

Page 4: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

4

Random versus Chained IO 1000 Blöcke à 4KB sind zu lesen Random I/O

Jedesmal Arm positionieren Jedesmal Latenzzeit 1000 * (5 ms + 3 ms) + Transferzeit von 4 MB > 8000 ms + 300ms 8s

Chained IOEinmal positionieren, dann „von der Platte kratzen“ 5 ms + 3ms + Transferzeit von 4 MB 8ms + 300 ms 1/3 s

Also ist chained IO ein bis zwei Größenordnungen schneller als random IO

in Datenbank-Algorithmen unbedingt beachten !

Page 5: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

5

Disk Arrays RAID-Systeme

Page 6: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

6

verdrängen

Hauptspeichereinlagern

Platte ~ persistente DB

Systempuffer-Verwaltung

Page 7: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

B-Bäume

Balancierte Mehrwege-Suchbäume Für den Hintergrundspeicher

Page 8: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

8

S.. SuchschlüsselD..

Weitere Daten

V.. Verweise (SeitenNr)

Page 9: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

9

Page 10: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

10

Speicherstruktur eines B-Baums auf dem Hintergrundspeicher

3

0

Datei

8 KB-Blöcke0*8KB

1*8KB

2*8KB

3*8KB

110100110

Fre

ispe

iche

r -V

erw

altu

ng

4*8KB

Block-Nummer

Page 11: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

11

Zusammenspiel:Hintergrundspeicher -- Hauptspeicher

Hintergrundspeicher

4

4

Hauptspeicher-Puffer

Zugriffslücke 105

Page 12: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

12

B+-Baum

Referenz-schlüssel

Such-schlüssel

Page 13: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

13

Page 14: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

14

Mehrere Indexe auf denselben Objekten

B-BaumMit

(PersNr, Daten)Einträgen

Name, Alter, Gehalt ...

B-BaumMit

(Alter, ???)Einträgen

Alter, PersNr

Page 15: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

15

Eine andere Möglichkeit: Referenzierung über Speicheradressen

PersNr Alter

007,... 20,...

007, Bond, 20, ...

Page 16: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

16

Page 17: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

17

Statisches Hashing

Page 18: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

18

0

1

0 1

0 1

Bucket

Bucket

Bucket

Bucket

Bucket

Bucket

binärerTrie,

Entschei-dungs-baum

Directory

Erweiterbares

Hashing

Page 19: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

19

Page 20: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

20

Page 21: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

21

R-Baum: Urvater der baum-strukturierten mehrdimensionalen Zugriffsstrukturen

[60,120]

[18,60]

Bond

120K

60

Mini

80K

20

Mickey

70K

43

Duck

60K

18

Alte

r

Gehalt40K 60K 80K 100K 120K

20

40

60

Mickey

Duck Mini

Bond

Page 22: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

22

Gute versus schlechte Partitionierung

Alte

r

Gehalt

Mickey

Duck Mini

Bond

Speedy A

lter

Gehalt

Mickey

Duck Mini

Bond

Speedy

gute Partitionierung schlechte Partitionierung

Page 23: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

23

Nächste Phase in der Entstehungsgeschichte des R-Baums

Alte

r

Gehalt

Mickey

Duck Mini

Bond

Speedy

Bert(noch nichteingefügt)

[60,80]

[18,43]

[100,120]

[40,60]

Mini

80K

20

Mickey

70K

43

Duck

60K

18

Bond

120K

60

Speedy

100K

40

Page 24: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

24

Bereichsanfragen auf dem R-Baum

Alter

Gehalt

Mickey

DuckMini

Speedy

Bert

Ernie

Bill

Lucie

Urmel

Jan

Sepp

[60,80]

[18,20]

[45,55]

[41,45]

[60,70]

[41,50]

[110,120]

[25,60]

[95,100]

[40,65]

[45,80]

[18,50]

[95,120]

[25,65]

Jan

60K

41

Sepp

65K

50

...Mickey

70K

43

Speedy

100K

40

Lucie

95K

65

Anfragefenster

Bond

Page 25: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

25

Objektballung / Clustering logisch verwandter Daten

Page 26: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

26

Page 27: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

27

Clustering von Professoren mit ihren Vorlesungen

Page 28: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

28

Unterstützung eines Anwendungsverhaltens

Select Name

From Professoren

Where PersNr = 2136

Select Name

From Professoren

Where Gehalt >= 90000 and Gehalt <= 100000

Page 29: Vorlesung Datenbanksysteme vom 11.10.2004 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume

29

Indexe in SQL

Create index SemsterInd on Studenten(Semester)

drop index SemsterInd