Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme Gottfried Vossen 5. Auflage 2008 Kapitel 17: Interne Datenbank- und Speicherorganisation Inhalt 17.1 Plattenspeicher 17.2 Pufferverwaltung 17.3 Files 17.4 Spezielle Indexstrukturen 17.5 Beispiel: Speicherorganisation bei DB2 17.6 Speicherung und Indexierung von XML-Dokumenten Datenmodelle, 5. Auflage, Kapitel 17 © 2008 Gottfried Vossen 2 17.1 Plattensubsystem eines Rechners Systembus Plattencontroller Datenmodelle, 5. Auflage, Kapitel 17 © 2008 Gottfried Vossen 3 17.2 RAID-0-Architektur Plattencontroller Datenmodelle, 5. Auflage, Kapitel 17 © 2008 Gottfried Vossen 4 17.3 RAID-0-Architektur mit Striping Plattencontroller 1 2 a0 a4 a1 b3 Datenmodelle, 5. Auflage, Kapitel 17 3 b0 b4 a2 4 b1 b5 a3 b2 b6 © 2008 Gottfried Vossen 5 17.4 RAID-1-Architektur mit Spiegelplatten und Striping Plattencontroller 1 1 2 2 a0 b1 a0 b1 a1 b2 a1 b2 a2 b3 a2 b3 a3 b4 a3 b4 a4 b5 a4 b5 b0 b6 b0 b6 Daten Datenmodelle, 5. Auflage, Kapitel 17 Spiegel Daten Spiegel © 2008 Gottfried Vossen 6 17.5 RAID-3-Architektur Plattencontroller Daten Datenmodelle, 5. Auflage, Kapitel 17 Daten Daten Parity Daten © 2008 Gottfried Vossen 7 17.6 Eine Beispielrelation Datenmodelle, 5. Auflage, Kapitel 17 L# LName Stadt KM L1 Smith London 20 L2 Jones Paris 10 L3 Blake Paris 30 L4 Clark London 20 L5 Adams Athen 30 L6 Hart Chicago 80 L7 Parker New York 70 L8 James Athen 25 © 2008 Gottfried Vossen 8 17.7 Ein sequentieller File mit Blockgröße 3 L1 Smith London 20 L2 Jones Paris 10 L3 Blake Paris 30 L4 Clark London 20 L5 Adams Athen 30 L6 Hart Chicago 80 L7 Parker New York 70 L8 James Athen 25 Block 1 Block 2 Block 3 (ein Freiplatz) Datenmodelle, 5. Auflage, Kapitel 17 © 2008 Gottfried Vossen 9 17.8 Beispiel für einen (dichten) Index LName „Adresse“ Adams 5 Blake 3 Clark 4 Hart 6 James 8 Jones 2 Parker 7 Smith 1 Datenmodelle, 5. Auflage, Kapitel 17 Stadt „Adresse“ Athen 5 Chicago 6 London 1 New York 7 Paris 2 © 2008 Gottfried Vossen 10 17.9 Beispiel einer invertierten Liste Stadt „Adresse“ Athen 5,8 Chicago 6 London 1,4 New York Paris Datenmodelle, 5. Auflage, Kapitel 17 7 2,3 © 2008 Gottfried Vossen 11 17.10 Hierarchische Organisation von Indexen Index 2. Stufe Index 1. Stufe File (für Indexe und File sei b=3) Datenmodelle, 5. Auflage, Kapitel 17 © 2008 Gottfried Vossen 12 17.11 Innerer Knoten eines B-Baums P1 P2 K1 W1 Datenmodelle, 5. Auflage, Kapitel 17 Pn+1 K2 W2 … Kn Wn frei © 2008 Gottfried Vossen 13 17.12 B-Baum der Höhe 2 für k = 1 18 – 8 18 – 5 – 1 – 3 – – 6 Datenmodelle, 5. Auflage, Kapitel 17 – 12 7 – – 9 – 11 – – 13 – 15 – – 16 – 18 – © 2008 Gottfried Vossen 14 17.13 B-Baum für die Relation aus Abbildung 17.6 Clark London 20 L4 Jones Paris 10 L2 – L1 Smith London 20 – … – … – L3 L5 Adams Athen 30 Datenmodelle, 5. Auflage, Kapitel 17 – … – – L7 – – Blake Paris 30 L6 – … – … Hart Chicago 80 Parker New York 70 – … – L8 – James Athens 25 © 2008 Gottfried Vossen – 15 17.14 Ergebnis des Einfügens von 10 in den B-Baum aus Abbildung 17.12 8 5 – – 1 – 3 – – 6 – 7 – Datenmodelle, 5. Auflage, Kapitel 17 10 – 9 – 12 – – – 11 – 15 – 13 – – – – – 16 – 18 – © 2008 Gottfried Vossen 16 Pi … Pi+1 … K i 17.15 Zusammenfassung von Knoten nach einer Löschung aus einem B-Baum Pj,1 Pj,n+1 … Pr,1 Kj,n Pr,n+1 Kr,1 … Pi … Pj,1 … Pj,n+1 … Datenmodelle, 5. Auflage, Kapitel 17 Kj,n Pr,1 Ki Pr,n+1 Kr,1 … © 2008 Gottfried Vossen 17 17.16 B*-Baum für die Relation aus Abbildung 17.6 – L4 L2 L1 Smith London 20 – L6 – L2 Jones Paris 10 L3 Blake Paris 30 L4 Clark London 20 L5 Adams Athen 30 L6 Hart Chicago 80 L7 Parker New York 70 Datenmodelle, 5. Auflage, Kapitel 17 L8 James Athen 25 © 2008 Gottfried Vossen 18 17.17 3-d-Baum für die Relation aus Abbildung 17.6 L4 L2 L3 Jones Blake L1 Paris Paris Smith Clark London 20 10 30 London – L8 – 20 James L7 – – L5 Parker Adams L6 Datenmodelle, 5. Auflage, Kapitel 17 Athens 25 New York Athen Hart 30 Chicago – 70 – – 80 – – © 2008 Gottfried Vossen 19 17.18 2-d-Baum-Knoten X Y Datenmodelle, 5. Auflage, Kapitel 17 Daten © 2008 Gottfried Vossen 20 17.19 Stilisierte Karte der Nordhälfte Deutschlands FL KI HH HB B MD MS L D AC K Datenmodelle, 5. Auflage, Kapitel 17 DD © 2008 Gottfried Vossen 21 17.20 2-d-Baum zur Repräsentation der Karte aus Abbildung 17.19 4 3 1 Köln 1 1 Aachen 2 2 4 Münster 6 – 7 – 8 – Düsseldorf – 15 6 11 Flensburg – Berlin 12 5 Magdeburg – – 14 3 Leipzig – – Datenmodelle, 5. Auflage, Kapitel 17 Bremen 16 – – 1 Dresden 10 9 Hamburg – 12 10 Kiel – © 2008 Gottfried Vossen – 22 17.21 Quadtree-Knoten X NW Datenmodelle, 5. Auflage, Kapitel 17 Y Daten SW NO SO © 2008 Gottfried Vossen 23 17.22 Zerlegung der Nordhälfte Deutschlands in Regionen Datenmodelle, 5. Auflage, Kapitel 17 © 2008 Gottfried Vossen 24 17.23 Quadtree zur Repräsentation der Karte aus Abbildung 17.19 bzw. 17.22 4 4 – Münster – 2 2 – – 1 1 – – – – – – 8 11 – – Bremen – 9 – – Hamburg – – – Flensburg – Aachen – 7 10 Düsseldorf – 6 – 12 – 5 – 12 10 – – – – 3 Leipzig – – – – Magdeburg – – 15 Kiel 14 – – 6 Berlin – – – – 16 3 – 1 – Datenmodelle, 5. Auflage, Kapitel 17 – Köln – 1 – Dresden – – – © 2008 Gottfried Vossen 25 17.24 Hashing mit separatem Überlaufbereich pro Adresse – 1 – : : : S Hash-Bereich Datenmodelle, 5. Auflage, Kapitel 17 : : : : : : …… Überlauf-Bereich © 2008 Gottfried Vossen 26 17.25 Hashing mit separatem Überlaufbereich 1 – : : : Hash-Bereich S : : : Überlauf-Bereich – : : : Datenmodelle, 5. Auflage, Kapitel 17 © 2008 Gottfried Vossen 27 17.26 Implementierung von RIDs bei DB2 Page p Page Header Record R SRH Daten RID für R p s Freiplatz Slots – – s Datenmodelle, 5. Auflage, Kapitel 17 © 2008 Gottfried Vossen 28 17.27 Der SphinX-Ansatz DTD XML-Dokument Dokumentengraph Schemagraph B-Bäume Datenmodelle, 5. Auflage, Kapitel 17 © 2008 Gottfried Vossen 29 17.28 SphinX-Beispielindex (nach Leela und Haritsa) Datenmodelle, 5. Auflage, Kapitel 17 © 2008 Gottfried Vossen 30 17.29 Dietz-Nummerierung (1,7) (6,6) (2,4) (3,1) Datenmodelle, 5. Auflage, Kapitel 17 (4,2) (5,3) (7,5) © 2008 Gottfried Vossen 31 17.30 XISS-Nummerierung (1,100) (41,10) (10,30) (11,5) Datenmodelle, 5. Auflage, Kapitel 17 (17,5) (25,5) (45,5) © 2008 Gottfried Vossen 32