Upload
anne-rauschenberger
View
109
Download
1
Embed Size (px)
Citation preview
Vorlesung Datenbanksysteme vom 11.10.2004Physische Datenorganisation
SpeicherhierarchieHintergrundspeicher / RAIDB-BäumeHashingR-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
3
Überblick: Speicherhierarchie
1-10ns
Register
10-100ns
Cache
100-1000ns
Hauptspeicher
10 ms
Plattenspeicher
sec
Archivspeicher
Zugriffslücke
105
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 !
5
Disk Arrays RAID-Systeme
6
verdrängen
Hauptspeichereinlagern
Platte ~ persistente DB
Systempuffer-Verwaltung
B-Bäume
Balancierte Mehrwege-Suchbäume Für den Hintergrundspeicher
8
S.. SuchschlüsselD..
Weitere Daten
V.. Verweise (SeitenNr)
9
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
11
Zusammenspiel:Hintergrundspeicher -- Hauptspeicher
Hintergrundspeicher
4
4
Hauptspeicher-Puffer
Zugriffslücke 105
12
B+-Baum
Referenz-schlüssel
Such-schlüssel
13
14
Mehrere Indexe auf denselben Objekten
B-BaumMit
(PersNr, Daten)Einträgen
Name, Alter, Gehalt ...
B-BaumMit
(Alter, ???)Einträgen
Alter, PersNr
15
Eine andere Möglichkeit: Referenzierung über Speicheradressen
PersNr Alter
007,... 20,...
007, Bond, 20, ...
16
17
Statisches Hashing
18
0
1
0 1
0 1
Bucket
Bucket
Bucket
Bucket
Bucket
Bucket
binärerTrie,
Entschei-dungs-baum
Directory
Erweiterbares
Hashing
19
20
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
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
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
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
25
Objektballung / Clustering logisch verwandter Daten
26
27
Clustering von Professoren mit ihren Vorlesungen
28
Unterstützung eines Anwendungsverhaltens
Select Name
From Professoren
Where PersNr = 2136
Select Name
From Professoren
Where Gehalt >= 90000 and Gehalt <= 100000
29
Indexe in SQL
Create index SemsterInd on Studenten(Semester)
drop index SemsterInd