Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID...

175
Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume

Transcript of Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID...

Page 1: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

Kapitel 7Physische Datenorganisation

SpeicherhierarchieHintergrundspeicher / RAIDSpeicherstrukturenB-BäumeHashingR-Bäume

Page 2: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

DB2 Zertifizierungskurs Anmeldung bei Dr. Angelika Reiser

[email protected]

http://www-db.in.tum.de/Unter Aktuelleshttp://www-db.in.tum.de/teaching/ws0910/DB2AdminSe

minar/

2

Page 3: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

3

Überblick: Speicherhierarchie

Register

(L1/L2/L3)

Cache

Hauptspeicher

Plattenspeicher

Archivspeicher

Page 4: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

4

Überblick: Speicherhierarchie

Register

Cache

Hauptspeicher

Plattenspeicher

Archivspeicher

1 – 8 Byte

Compiler

8 – 128 Byte

Cache-Controller

4 – 64 KBBetriebssystem

Benutzer

Page 5: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

5

Überblick: Speicherhierarchie1-10ns

Register

10-100ns

Cache

100-1000ns

Hauptspeicher

10 ms

Plattenspeicher

sec

Archivspeicher

Zugriffslücke

105

Page 6: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

6

Überblick: Speicherhierarchie1-10ns

Register

10-100ns

Cache

100-1000ns

Hauptspeicher

10 ms

Plattenspeicher

sec

Archivspeicher

Zugriffslü

cke

105

Kopf (1min)

Raum (10 min)

München (1.5h)

Pluto (2 Jahre)

Andromeda

(2000 Jahre)

Page 7: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

7

Page 8: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

8

Magnetplattenspeicher

Page 9: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

9

20101500 rpm ~ 2,5 ms pro Umdreh.1 TB Kapazität50 MB/s Transferrate< 1$ / GB

Page 10: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

10

Lesen von Daten von der Platte Seek Time: Arm positionieren

5ms Latenzzeit: ½ Plattenumdrehung (im Durchschnitt)

10000 Umdrehungen / Minute Ca 3ms

Transfer von der Platte zum Hauptspeicher 100 Mb /s 15 MB/s

Page 11: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

11

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 12: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

12

Disk Arrays RAID-Systeme

Page 13: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

13

Page 14: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

14

RAID 0: Striping

Lastbalancierung wenn alle Blöcke mit gleicher Häufigkeit gelesen/geschrieben werden

Doppelte Bandbreite beim sequentiellen Lesen der Datei bestehend aus den Blöcken ABCD...

Aber: Datenverlust wird immer wahrscheinlicher, je mehr Platten man verwendet (Stripingbreite = Anzahl der Platten, hier 2)

A

C

B

D

A B C D

Datei

Page 15: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

15

RAID 1: Spiegelung (mirroring)

Datensicherheit: durch Redundanz aller Daten (Engl. mirror)

Doppelter Speicherbedarf Lastbalancierung beim Lesen: z.B. kann Block A von der

linken oder der rechten Platte gelesen werden Aber beim Schreiben müssen beide Kopien geschrieben

werdenKann aber parallel geschehenDauert also nicht doppelt so lange wie das Schreiben

nur eines Blocks

A

C

B

D

A

C

B

D

Page 16: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

16

Kombiniert RAID 0 und RAID 1 Immer noch doppelter Speicherbedarf Zusätzlich zu RAID 1 erzielt man hierbei auch eine

höhere Bandbreite beim Lesen der gesamten Datei ABCD....

Wird manchmal auch als RAID 10 bezeichnet

RAID 0+1: Striping und Spiegelung

A

C

A

C

B

D

B

D

Page 17: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

17

RAID 2: Striping auf Bit-Ebene Anstatt ganzer Blöcke, wie bei RAID 0 und RAID 0+1,

wird das Striping auf Bit- (oder Byte-) Ebene durchgeführt

Es werden zusätzlich auf einer Platte noch Fehlererkennungs- und Korrekturcodes gespeichert

In der Praxis nicht eingesetzt, da Platten sowieso schon Fehlererkennungscodes verwalten

1010 1101 1011 0110 0011 1100....Datei

111001... 010101... 101110... 011010...

Page 18: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

18

RAID 3: Striping auf Bit-Ebene,zusätzliche Platte für Paritätsinfo

Das Striping wird auf Bit- (oder Byte-) Ebene durchgeführt Es wird auf einer Platte noch die Parität der anderen Platten

gespeichert. Parität = bit-weise xor Dadurch ist der Ausfall einer Platte zu kompensieren Das Lesen eines Blocks erfordert den Zugriff auf alle Platten

Verschwendung von Schreib/LeseköpfenAlle marschieren synchron

1010 1101 1011 0110 0011 1100....Datei

111001... 010101... 101110... 011010... 011000...

Parität

Page 19: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

19

RAID 3: Plattenausfall

1010 1101 1011 0110 0011 1100....Datei

111001... 010101... 101110... 011010... 011000...

Parität

011010...

Reparatur

Page 20: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

20

RAID 4: Striping von Blöcken

Bessere Lastbalancierung als bei RAID 3 Flaschenhals bildet die Paritätsplatte Bei jedem Schreiben muss darauf zugegriffen werden

Bei Modifikation von Block A zu A‘ wird die Parität PA-D wie folgt neu berechnet:

P‘A-D := PA-D A A‘ D.h. bei einer Änderung von Block A muss der alte

Zustand von A und der alte Paritätsblock gelesen werden und der neue Paritätsblock und der neue Block A‘ geschrieben werden

A E B F C G D H PA-D PE-H

Page 21: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

21

RAID 4: Striping von Blöcken

Flaschenhals bildet die Paritätsplatte Bei jedem Schreiben muss darauf zugegriffen werden

Bei Modifikation von Block A zu A‘ wird die Parität PA-D wie folgt neu berechnet:

P‘A-D := PA-D A A‘ D.h. bei einer Änderung von Block A muss der alte Zustand

von A und der alte Paritätsblock gelesen werden und der neue Paritätsblock und der neue Block A‘ geschrieben werden

1010 1101 1011 0110 0011 1100....Datei

1010...... 1101....... 1011...... 0110...... 1010.......

Paritätsblock

Page 22: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

22

RAID 5: Striping von Blöcken, Verteilung der Paritätsblöcke

Bessere Lastbalancierung als bei RAID 4 die Paritätsplatte bildet jetzt keinen Flaschenhals mehr Wird in der Praxis häufig eingesetzt Guter Ausgleich zwischen Platzbedarf und

Leistungsfähigkeit

A E B F C G D HPA-DPE-H

I M J O LN K PPI-LPM-P

Page 23: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

25

Bewertung der Parallelität bei RAID RAID 0

? RAID 1

? RAID 0+1

? RAID 3

? RAID 4

? RAID 5

?

Page 24: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

26

verdrängen

Hauptspeichereinlagern

Platte ~ persistente DB

Systempuffer-Verwaltung

Page 25: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

27

Ein- und Auslagern von Seiten Systempuffer ist in Seitenrahmen gleicher Größe

aufgeteilt Ein Rahmen kann eine Seite aufnehmen „Überzählige“ Seiten werden auf die Platte

ausgelagert

Platte(swap device)Hauptspeicher0 4K 8K 12K

28K

44K

60K

40K

48K

24K20K16K

32K 36K

56K52K

P480

P123

Seitenrahmen Seite

Page 26: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

28

Adressierung von Tupeln auf dem Hintergrundspeicher

Page 27: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

29

Verschiebung innerhalb einer Seite

Page 28: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

30

Verschiebung von einer Seite auf eine andere

Forward

Page 29: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

31

Verschiebung von einer Seite auf eine andere

Bei der nächsten Verschiebung wird der „Forward“ auf

Seite 4711 geändert(kein Forward auf

Seite 4812)

Page 30: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

B-Bäume

Balancierte Mehrwege-Suchbäume Für den Hintergrundspeicher

Page 31: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

41

Page 32: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

42

Page 33: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

43

Page 34: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

44

Page 35: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

45

Page 36: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

46

Page 37: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

47

S.. SuchschlüsselD..

Weitere Daten

V.. Verweise (SeitenNr)

Page 38: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

48

Page 39: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

49

Page 40: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

50

Einfügen eines neuen Objekts (Datensatz) in einen B-Baum

Page 41: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

51

Sukzessiver Aufbau eines B-Baums vom Grad k=2

10 13 19

7

Page 42: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

52

Sukzessiver Aufbau eines B-Baums vom Grad k=2

7 10 13 19

3

Page 43: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

53

Sukzessiver Aufbau eines B-Baums vom Grad k=2

7 10 13 19

3

?

Page 44: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

54

Sukzessiver Aufbau eines B-Baums vom Grad k=2

7 10

3

13 19

?

Page 45: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

55

Sukzessiver Aufbau eines B-Baums vom Grad k=2

3 7

3

13 19

?10

Page 46: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

56

Sukzessiver Aufbau eines B-Baums vom Grad k=2

3 7 13 19

?10

Page 47: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

57

Sukzessiver Aufbau eines B-Baums vom Grad k=2

3 7 13 19

?10

1

Page 48: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

58

Sukzessiver Aufbau eines B-Baums vom Grad k=2

3 7 13 19

?10

1

Page 49: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

59

Sukzessiver Aufbau eines B-Baums vom Grad k=2

3 7 13 19

?10

1

Page 50: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

60

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 3 7 13 19

?10

1

Page 51: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

61

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 3 7 13 19

?10

2

Page 52: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

62

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 3 7 13 19

?10

2

2

Page 53: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

63

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 3 7 13 19

?10

2

2

Page 54: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

64

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 3 7 13 19

?10

4

Page 55: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

65

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 3 7 13 19

?10

4

4

Page 56: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

66

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 3 7 13 19

?10

4

4

Page 57: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

67

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 3 7 13 19

?10

4

4

Page 58: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

68

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 3 7 13 19

?3 10

4

4

Page 59: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

69

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 13 19

?3 10

4 7

Page 60: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

70

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 13 19

?3 10

11

4 7

Page 61: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

71

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19

?3 10

4 7

Page 62: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

72

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19

?3 10

21

4 7

Page 63: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

73

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19

?3 10

21

4 7

Page 64: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

74

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19 21

?3 10

12

4 7

Page 65: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

75

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19 21

?3 10

12

4 7 12

Page 66: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

76

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19 21

?3 10

12

4 7 12

Page 67: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

77

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19 21

?3 10

12

4 7 12

Page 68: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

78

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19 21

?3 10 13

12

4 7 12

Page 69: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

79

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 19 21

?3 10 13

12

4 7 11 12

Page 70: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

80

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 19 21

?3 10 13

12

4 7 11 12

Page 71: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

81

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 19 21

?3 10 13

14

4 7 11 12

Page 72: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

82

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 19 21

?3 10 13

14

4 7 11 12

Page 73: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

83

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 19 21

?3 10 13

15

4 7 11 12

Page 74: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

84

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15 19 21

?3 10 13

20

4 7 11 12

Page 75: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

85

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15 19 21

?3 10 13

20

4 7 11 12

20

Page 76: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

86

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15 19 21

?3 10 13

20

4 7 11 12

20

Page 77: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

87

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15 19 21

?3 10 13 19

20

4 7 11 12

20

Page 78: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

88

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15

?3 10 13 19

20

4 7 11 12

20 21

Page 79: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

89

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15

?3 10 13 19

5

4 7 11 12

20 21

Page 80: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

90

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15

?3 10 13 19

5

4 7 11 12

20 21

Page 81: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

91

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15

?3 10 13 19

5

4 5 7 11 12

20 21

Page 82: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

92

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15

?3 10 13 19

6

4 5 7 11 12

20 21

Page 83: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

93

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15

?3 10 13 19

6

4 5 6 7 11 12

20 21

Page 84: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

94

Page 85: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

95

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?3 10 13 19

4 5 6 7 11 12

20 21

8

Page 86: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

96

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?3 10 13 19

4 5 6 7 11 12

20 21

8

8

Page 87: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

97

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?3 10 13 19

4 5 6 7 11 12

20 21

8

8

Page 88: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

98

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?3 10 13 19

4 5 6 7 11 12

20 21

8

8

Page 89: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

99

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?3 10 13 19

6 7 11 12

20 21

8

84 5

Page 90: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

100

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?3 10 13 19

7 8 11 12

20 21

6

64 5

Page 91: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

101

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?3 10 13 19

7 8 11 12

20 21

6

4 5

Page 92: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

102

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?3 10 13 19

7 8 11 12

20 21

6

4 5

Page 93: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

103

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?3 10 13 19

7 8 11 12

20 21

6

4 5

Page 94: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

104

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?3 10 13 19

7 8 11 12

20 21

6

4 5

3 6

Page 95: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

105

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?13 19

7 8 11 12

20 21

10

4 5

3 6

Page 96: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

106

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?13 19

7 8 11 12

20 21

4 5

3 6

10

Page 97: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

107

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?13 19

7 8 11 12

20 21

4 5

3 6

10

10

Page 98: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

108

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?13 19

7 8 11 12

20 21

4 5

3 6

10B-Baum mit Minimaler

Speicherplatz-ausnutzung

Page 99: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

109

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?13 19

7 8 11 12

20 21

4 5

3 6

10B-Baum mit Minimaler

Speicherplatz-ausnutzung

Page 100: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

110

Page 101: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

111

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?13 19

7 8 11 12

20 21

4 5

3 6

10

23

Page 102: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

112

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?13 19

7 8 11 12

20 21 23

4 5

3 6

10

Page 103: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

113

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?13 19

7 8 11 12

20 21 23

4 5

3 6

10

14

Page 104: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

114

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?13 19

7 8 11 12

20 21 23

4 5

3 6

10

14

Unterlauf

Page 105: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

115

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

15

?13 19

7 8 11 12

20 21 23

4 5

3 6

10

Unterlauf

Page 106: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

116

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

15 19

?13 20

7 8 11 12

21 23

4 5

3 6

10

Page 107: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

117

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

15 19

?13 20

7 8 11 12

21 23

4 5

3 6

10

5

Page 108: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

118

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

15 19

?13 20

7 8 11 12

21 23

4 5

3 6

10

5

Unterlauf

Page 109: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

119

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

15 19

?13 20

7 8 11 12

21 23

4

3 6

10

merge

Page 110: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

120

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

15 19

?13 20

7 8 11 12

21 23

4

3 6

10

merge

Page 111: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

121

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

15 19

?13 20

11 12

21 23

4 6 7 8

3

10Unterlauf

Page 112: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

122

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

15 19

?13 20

11 12

21 23

4 6 7 8

3

10merge

Page 113: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

123

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

15 19

?13 20

11 12

21 23

4 6 7 8

3

10merge

Page 114: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

124

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

15 19

?

11 12

21 23

4 6 7 8

3 10 13 20

Page 115: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

125

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

15 19

?

11 12

21 23

4 6 7 8

3 10 13 20

Schrumpfung,Freie Knoten

Page 116: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

126

Speicherstruktur eines B-Baums auf dem Hintergrundspeicher

4

SpeicherblockNr 4

Page 117: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

127

Speicherstruktur eines B-Baums auf dem Hintergrundspeicher

3

0

Datei

8 KB-Blöcke0*8KB

1*8KB

2*8KB

3*8KB

4*8KB

Block-Nummer

Page 118: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

128

Speicherstruktur eines B-Baums auf dem Hintergrundspeicher

3

0

Datei

8 KB-Blöcke0*8KB

1*8KB

2*8KB

3*8KB

4*8KB

Block-Nummer

Page 119: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

129

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 120: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

130

Zusammenspiel:Hintergrundspeicher -- Hauptspeicher

Hintergrundspeicher

4

4

Hauptspeicher-Puffer

Zugriffslücke 105

Page 121: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

131

B+-Baum

Referenz-schlüssel

Such-schlüssel

Page 122: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

132

Page 123: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

133

Page 124: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

134

Mehrere Indexe auf denselben Objekten

B-BaumMit

(PersNr, Daten)Einträgen

Name, Alter, Gehalt ...

B-BaumMit

(Alter, ???)Einträgen

Alter, PersNr

Page 125: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

135

Mehrere Indexe auf denselben Objekten

B-BaumMit

(PersNr, Daten)Einträgen

Name, Alter, Gehalt ...

B-BaumMit

(Alter, ???)Einträgen

Alter, PersNr

Wer ist 20 ?

20, 007

Page 126: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

136

Mehrere Indexe auf denselben Objekten

B-BaumMit

(PersNr, Daten)Einträgen

Name, Alter, Gehalt ...

B-BaumMit

(Alter, ???)Einträgen

Alter, PersNr

Wer ist 20 ?

20, 007007,Bond,20,...

Page 127: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

137

Eine andere Möglichkeit: Referenzierung über Speicheradressen

PersNr Alter

007,... 20,...

007, Bond, 20, ...

Page 128: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

138

Realisierungstechnik fürHintergrundspeicher-Adressen

Seiten / Blöcke (ca 8 KB)

Page 129: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

139

Adressierung von Tupeln auf dem Hintergrundspeicher

Page 130: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

140

Verschiebung innerhalb einer Seite

Page 131: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

141

Verschiebung von einer Seite auf eine andere

Forward

Page 132: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

142

Verschiebung von einer Seite auf eine andere

Bei der nächsten Verschiebung wird der „Forward“ auf

Seite 4711 geändert(kein Forward auf

Seite 4812)

Page 133: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

143

„Statische“ Hashtabellen À priori Allokation des Speichers Nachträgliche Vergrößerung der Hashtabelle ist „teuer“

Hashfunktion h(...) = ... mod N Rehashing der Einträge

h(...) = ... mod M In Datenbankanwendungen viele GB

Erweiterbares HashingZusätzliche Indirektion über ein DirectoryEin zusätzlicher Zugriff auf ein Directory, das den

Zeiger (Verweis, BlockNr) des Hash-Bucket enthältDynamisches Wachsen (und Schrumpfen) ist möglichDer Zugriff auf das Directory erfolgt über einen

binären Hashcode

Page 134: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

144

Page 135: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

145

Statisches Hashing

Page 136: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

146

0

1

0 1

0 1

Bucket

Bucket

Bucket

Bucket

Bucket

Bucket

binärerTrie,

Entschei-dungs-baum

Directory

Page 137: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

147

Hashfunktion für erweiterbares Hashing h: Schlüsselmenge {0,1}* Der Bitstring muss lang genug sein, um alle Objekte auf ihre

Buckets abbilden zu können Anfangs wird nur ein (kurzer) Präfix des Hashwertes

(Bitstrings) benötigt Wenn die Hashtabelle wächst wird aber sukzessive ein

längerer Präfix benötigt Beispiel-Hashfunktion: gespiegelte binäre PersNr

h(004) = 001000000... (4=0..0100)h(006) = 011000000... (6=0..0110)h(007) = 111000000... (7 =0..0111)h(013) = 101100000... (13 =0..01101)h(018) = 0100100000... (18 =0..010010)h(032) = 000001000... (32 =0..0100000)H(048) = 000011000... (48 =0..0110000)

Page 138: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

148

0 1

0 1

0 1

Bucket

Bucket

Bucket

Bucket

Bucket

Bucket

1

1 11

0

0007 13

6 18

32 48

4

Page 139: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

149

0 1

0 1

0 1

Bucket

Bucket

Bucket

Bucket

Bucket

Bucket

1

1 11

0

000

001 110

Präfix001

Präfix1

7 13

6 1832 48

4

Page 140: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

150

0

1

0 1

0 1

Bucket

Bucket

Bucket

Bucket

Bucket

Bucket

1

1 11

0

000

001

010

011

100

101

110

111

000

Page 141: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

151

Bucket

Bucket

Bucket

Bucket

Bucket

Bucket

001

010

011

100

101

110

111

000

Directory

lokaleTiefe: 1

lokaleTiefe: 3

lokaleTiefe: 2

globaleTiefe: 3

7 136 18

32 48

4

Page 142: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

152

Bucket

Bucket

Bucket

Bucket

Bucket

Bucket

001

010

011

100

101

110

111

000

Directory

lokaleTiefe: 1

lokaleTiefe: 3

lokaleTiefe: 2

globaleTiefe: 3

7 136 18

32 48

4 12

Einfügen: 12 •12=1100•h(12)=00110...

Page 143: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

153

Bucket

Bucket

Bucket

Bucket

Bucket

Bucket

001

010

011

100

101

110

111

000

Directory

lokaleTiefe: 1

lokaleTiefe: 3

lokaleTiefe: 2

globaleTiefe: 3

7 136 18

32 48

4 12

Einfügen: 20 •20=10100•h(20)=001010...

Overflow

Page 144: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

154

Bucket

Bucket

Bucket

Bucket

Bucket

Bucket

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

0000Directory

lokaleTiefe: 1

Overflowlokale

Tiefe: 3 .. 4

lokaleTiefe: 2

globaleTiefe:3..4

Ausgleich

•h(12)=001100..

•h(4) =00100..

•h(20)=0010100..

Page 145: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

155

Bucket

Bucket

Bucket

Bucket

Bucket

Bucket

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

0000Directory

lokaleTiefe: 1

Overflowlokale

Tiefe: 3 .. 4

lokaleTiefe: 2

globaleTiefe:3..4

Ausgleich

•h(12)=001100..

•h(4) =00100..

•h(20)=0010100..

4 20 12

Page 146: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

156

Bucket

Bucket

Bucket

Bucket

Bucket

Bucket

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

0000Directory

Overflowlokale Tiefe: 1 .. 2lokale

Tiefe: 4

lokaleTiefe: 2

globaleTiefe: 4

Ausgleich

Page 147: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

157

Page 148: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

158

Page 149: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

159

Page 150: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

160

Wertbasierter Zugriff auf der Grundlage mehrerer Attribute, dies einzeln oder in beliebigen Kombinationen.

Typische Anforderungen aus CAD, VLSI-Entwurf, Kartographie,...

Anfragen decken den Bereich ab zwischenmehrdimensionalem Punktzugriff (EMQ) undmehrdimensionalen Bereichsanfragen (RQ)

Lösung mit eindimensionalen Indexen erfordert konjunktive Zerlegung der Anfrage in

Einattributanfragen und Schnittmengenbildungbedingt hohe Speicherredundanz

Problemstellung:Mehrdimensionale Nachbarschaftsverhältnisse

Mehrdimensionale Datenstrukturen

Page 151: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

161

Wertebereiche D0,..., Dk-1:

alle Di sind endlich, linear geordnet und besitzen kleinstes (-i) und größtes (i) Element

Datenraum D = D0... Dk-1

k-dimensionaler Schlüssel entspricht Punkt im Datenraum p D

Grundlagen mehrdimensionaler Datenstrukturen

Page 152: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

162

1. Exact Match Query spezifiziert Suchwert für jede Dimension Di

2. Partial Match Query spezifiziert Suchwert für einen Teil der

Dimensionen3. Range Query

spezifiziert ein Suchintervall [ugi, ogi ] für alle Dimensionen

4. Partial Range Query spezifiziert ein Suchintervall für einen Teil der Dimensionen

Grundlagen mehrdimensionaler Datenstrukturen

Page 153: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

169

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 154: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

170

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 155: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

171

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 156: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

172

Nächste Phase [60,80]

[18,20]

[110,120]

[25,60]

[45,70]

[41,45]

[95,100]

[40,65]

Mini

80K

20

Duck

60K

18

Bond

120K

60

Urmel

112K

35

Mickey

70K

43

Bert

55K

45

Ernie

45K

41

Bill

110K

25

Speedy

100K

40

Lucie

95K

65

Page 157: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

173

Datenraum

Alte

r

Gehalt

Mickey

DuckMini

Bond

Speedy

Bert

Ernie

Bill

Lucie

Urmel

Page 158: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

174

Wachsen des Baums:nach oben – wie im B-Baum

[60,80]

[18,20]

[45,55]

[41,45]

[60,70]

[41,50]

[45,70]

[41,45]

[95,100]

[40,65]

[45,80]

[18,50]

[95,120]

[25,65]

Jan

60K

41

Sepp

65K

50

...

Mickey

70K

43

Page 159: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

175

Datenraum

Alte

r

Gehalt

Mickey

DuckMini

Speedy

Bert

Ernie

Bill

Lucie

Urmel

Jan

Sepp

Page 160: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

176

Datenraum und Speicherstruktur – Überblick

Alter

Gehalt

Mickey

DuckMini

Bond

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

Page 161: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

177

[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

100K40

Lucie

95K

65

Mini

80K

20

Duck

60K

18

Bond

120K

60

Urmel

112K

35

Bert

55K

45

Ernie

45K

41

Bill

110K

25

Page 162: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

178

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 163: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

179

[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

Mini

80K

20

Duck

60K

18

Bond

120K

60

Urmel

112K

35

Bert

55K

45

Ernie

45K

41

Bill

110K

25

Page 164: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

180

Indexierung räumlicher Objekte (anstatt Punkten) mit dem R-Baum

Page 165: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

181

Indexierung räumlicher Objekte (anstatt Punkten) mit dem R-Baum

Page 166: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

182

Indexierung räumlicher Objekte (anstatt Punkten) mit dem R-Baum

Page 167: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

192

Objektballung / Clustering logisch verwandter Daten

Page 168: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

193

Page 169: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

194

Page 170: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

195

Page 171: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

196

Unterstützung eines Anwendungsverhaltens

Select Name

From Professoren

Where PersNr = 2136

Select Name

From Professoren

Where Gehalt >= 90000 and Gehalt <= 100000

Page 172: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

197

Indexe in SQL

Create index SemsterInd on Studenten(Semester)

drop index SemsterInd

Page 173: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

198

Page 174: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

199

Page 175: Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume.

200