Physische Datenorganisation

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

8. Termin Teil B: Wiederholung Begriffe Baum
Randomisierte Algorithmen Präfix Suche und Konsistentes Hashing
Punkt-in-Polygon-Verfahren III (R/R+-Baum)
Hash-Tabellen und -Funktionen Hash-Tabellen in Java
Eine dynamische Menge, die diese Operationen unterstützt,
Vorlesung Programmieren II
Suchbäume unterstützen alle unten angegebenen Operationen für dynamische Mengen K effizient: Search(K ,k) ---- Suche ein Element x von K mit Schlüssel.
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Dr. Brigitte Mathiak Kapitel 10 Physische Datenorganisation.
Prof. Dr. T. Kudraß1 Hash-Verfahren. Prof. Dr. T. Kudraß2 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit.
Mindesthöhe: |_log2 n_|, maximale Höhe: n-1
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Claudio Moraga; Gisbert Dittrich
GIN2 – 2. Vorlesung, SS04 Prof. Dr. Wolfram Conen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (22 – B-Bäume)
Algorithmen und Datenstrukturen
FH-Hof Der B-Baum Richard Göbel. FH-Hof Wahl des Verzweigungsgrad Verzweigungsgrad kann größer als 2 sein v Nachfolger für einen Knoten v-1 Werte in einem.
Der B-Baum Richard Göbel.
Dr. Brigitte Mathiak Kapitel 9 Physische Datenorganisation (ganz kurz)
Kapitel 6: Klassifizierung von Sortiertechniken
7. Natürliche Binärbäume
Gewichtsbalancierte Suchbäume
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Bäume • Kernidee: Speicherung von Daten in einer Baumstruktur
Kapitel 7 Physische Datenorganisation
Lehrstuhl Informatik III: Datenbanksysteme Achim Landschoof 28. April 2009 Strukturierte P2P Systeme 1 Achim Landschoof Betreuerin: Dipl.-Inf. Jessica.
Kapitel 7 Physische Datenorganisation
SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe.
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Effizienz: Indexstrukturen
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 - AVL-Bäume: Entfernen, Bruder-Bäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 - Bäume: Durchlaufreihenfolgen, Analyse nat. Bäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 - Balancierte Bäume, AVL-Bäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 - AVL-Bäume: Entfernen, Bruder-Bäume) Prof. Th. Ottmann.
WS Algorithmentheorie 15 – Fibonacci-Heaps Tobias Lauer.
Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (22 – Bruder-Bäume, B-Bäume) Prof. Th. Ottmann.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
IKG - Übung Diskrete Mathe I – Jörg Schmittwilken
Diskrete Mathematik I Vorlesung 9b AVL-Baum, Algorithmen.
Kapitel 14: Datenspeicherung, Indexstrukturen und Anfrageausführung
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
7.1 Externes Suchen Bisherige Algorithmen: geeignet, wenn alle Daten im Hauptspeicher. Große Datenmengen: oft auf externen Speichermedien, z.B. Festplatte.
Zusatzfolien zu B-Bäumen
Splay Trees Von Projdakov Benjamin.
Diskrete Mathematik II
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Übung Datenbanksysteme II Index- strukturen
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #9 Physische Datenorganisation.
7.2.2 Bäume als Hilfsmittel zur Indexorganisation (1/14)
Vorlesung Datenbanksysteme vom Physische Datenorganisation
Vorlesung Datenbanksysteme WS 2.0 Christoph Koch (Subject: DBVO:...
Kapitel 6: Suchbäume und weitere Sortierverfahren
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester.
Kapitel 7 Physische Datenorganisation  Speicherhierarchie  Hintergrundspeicher / RAID  Speicherstrukturen  B-Bäume  Hashing  R-Bäume.
Vorlesung Datenbanksysteme vom Physische Datenorganisation
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Binärer Baum, Binärer Suchbaum I
Binärbäume.
Programmiersprachen II Fortsetzung Datenstrukturen Hashing Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Vorlesung AVL-Bäume/Algorithmen-
Vorlesung AVL-Bäume/Algorithmen-
 Präsentation transkript:

Physische Datenorganisation Kapitel 10 Physische Datenorganisation

 Lernziele Speicherhierarchie Hintergrundspeicher / RAID Organisation von B-Bäumen, B+ Bäumen.. Hashing Organisation von mehrdimensionalen Datenstrukturen Datenbanken, SS 12 Kapitel 9: Datenorganisation

Lesen von Daten von der Festplatte  1. Seek Time: Arm positionieren auf entsprechende Spur 5ms 2. Latenzzeit: ½ Plattenumdrehung (im Durchschnitt) Rotation der Platte bis Kopf über zu lesender/schreibender Stelle steht 10000 Umdrehungen / Minute  Ca 3ms 3. Lesezeit: Lesen des Blocks 4. Transfer von der Platte zum Hauptspeicher 100 Mb /s  15 MB/s Datenbanken, SS 12 Kapitel 9: Datenorganisation

Random versus Chained IO  1000 Blöcke à 4KB sind zu lesen Random I/O: „jedesmal zum Pluto fliegen“ Jedesmal Arm positionieren Jedesmal Latenzzeit  1000 * (5 ms + 3 ms) + Transferzeit von 4 MB  > 8000 ms + 300ms  8s Chained IO: „Rakete zum Pluto soll möglichst voll beladen sein“ Einmal 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 ! Datenbanken, SS 12 Kapitel 9: Datenorganisation

Zugriff: Physikalische Speicherung der Daten Datenbank-Seite (32-64 Kb) Cache Header Meyer 123 ... Schneider 145 ... Müller 129 ... -- Forwarding-RID Slot-Array Extent Table Datenbanken, SS 12 Kapitel 9: Datenorganisation

Einfacher Index: Binäre Suchbaum Schlüssel (mit den ihnen zugeordneten Daten) bilden die Knoten eines binären Baums mit der Invariante: für jeden Knoten t mit Schlüssel t.key und alle Knoten l im linken Teilbaum von t, t.left, und alle Knoten r im rechten Teilbaum von t gilt: l.key  t.key  r.key Suchen eines Schlüssels k: Traversieren des Pfades von der Wurzel bis zu k bzw. einem Blatt Einfügen eines Schlüssels k: Suchen von k und Anfügen eines neuen Blatts Löschen eines Schlüssel k: Ersetzen von k durch das „rechteste“ Blatt links von k Worst-Case-Suchzeit für n Schlüssel: O(n) bei geeigneten Rebalancierungsalgorithmen (AVL-Bäume, Rot-Schwarz-Bäume, usw.): O(log n) Datenbanken, SS 12 Kapitel 9: Datenorganisation

Beispiel für einen binären Suchbaum London, Paris, Madrid, Kopenhagen, Lissabon, Zürich, Frankfurt, Wien, Amsterdam, Florenz London Kopenhagen Paris Frankfurt Lissabon Madrid Zürich Amsterdam Wien Florenz Datenbanken, SS 12 Kapitel 9: Datenorganisation

Datenbanken, SS 12 Kapitel 9: Datenorganisation

S.. Suchschlüssel D.. Weitere Daten V.. Verweise (SeitenNr) Datenbanken, SS 12 Kapitel 9: Datenorganisation

Datenbanken, SS 12 Kapitel 9: Datenorganisation

Einfügen eines neuen Objekts (Datensatz) in einen B-Baum Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 7 10 13 19 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 3 7 10 13 19 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 ? 3 7 10 13 19 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 ? 3 7 10 13 19 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 10 ? 3 3 7 13 19 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 10 ? 3 7 13 19 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 1 10 ? 3 7 13 19 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 1 10 ? 3 7 13 19 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 10 ? 1 3 7 13 19 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 10 ? 1 1 3 7 13 19 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 10 ? 1 3 7 13 19 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 10 ? 2 1 3 7 13 19 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 10 ? 2 1 2 3 7 13 19 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 4 10 ? 1 2 3 7 13 19 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 4 10 ? 4 1 2 3 7 13 19 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 4 10 ? 4 1 2 3 7 13 19 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 4 10 ? 4 1 2 3 7 13 19 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 4 3 ? 10 4 1 2 3 7 13 19 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 3 ? 10 1 2 13 19 4 7 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 11 3 ? 10 1 2 13 19 4 7 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 3 ? 10 1 2 11 13 19 4 7 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 21 3 ? 10 1 2 11 13 19 4 7 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 21 3 ? 10 1 2 11 13 19 4 7 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 12 3 ? 10 1 2 11 13 19 21 4 7 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 12 3 ? 10 1 2 11 13 19 21 12 4 7 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 12 3 ? 10 1 2 11 13 19 21 12 4 7 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 12 3 ? 10 1 2 11 13 19 21 12 4 7 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 12 3 ? 10 13 1 2 11 13 19 21 12 4 7 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 12 3 ? 10 13 1 2 11 19 21 4 7 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 12 3 ? 10 13 1 2 19 21 4 7 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 14 3 ? 10 13 1 2 19 21 4 7 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 14 3 ? 10 13 1 2 14 19 21 4 7 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 15 3 ? 10 13 1 2 14 19 21 4 7 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 20 3 ? 10 13 1 2 14 15 19 21 4 7 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 20 3 ? 10 13 20 1 2 14 15 19 21 4 7 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 20 3 ? 10 13 20 1 2 14 15 19 21 4 7 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 20 3 ? 10 13 19 20 1 2 14 15 19 21 4 7 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 20 3 ? 10 13 19 20 21 1 2 14 15 4 7 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 5 3 ? 10 13 19 20 21 1 2 14 15 4 7 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 5 3 ? 10 13 19 20 21 1 2 14 15 4 7 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 5 3 ? 10 13 19 20 21 1 2 14 15 4 5 7 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 6 3 ? 10 13 19 20 21 1 2 14 15 4 5 7 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 6 3 ? 10 13 19 20 21 1 2 14 15 4 5 6 7 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 8 3 ? 10 13 19 1 2 20 21 14 15 4 5 6 7 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 8 3 ? 10 13 19 1 2 20 21 14 15 8 4 5 6 7 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 8 3 ? 10 13 19 1 2 20 21 14 15 8 4 5 6 7 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 8 3 ? 10 13 19 1 2 20 21 14 15 8 4 5 6 7 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 8 3 ? 10 13 19 1 2 20 21 4 5 14 15 8 6 7 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 6 3 ? 10 13 19 1 2 20 21 4 5 6 14 15 7 8 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 6 3 ? 10 13 19 1 2 20 21 4 5 14 15 7 8 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 6 3 ? 10 13 19 1 2 20 21 4 5 14 15 7 8 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 6 3 ? 10 13 19 1 2 20 21 4 5 14 15 7 8 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 6 3 6 3 ? 10 13 19 1 2 20 21 4 5 14 15 7 8 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 10 3 6 13 ? 19 1 2 20 21 4 5 14 15 7 8 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 10 3 6 13 ? 19 1 2 20 21 4 5 14 15 7 8 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 10 10 3 6 13 ? 19 1 2 20 21 4 5 14 15 7 8 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 B-Baum mit Minimaler Speicherplatz- ausnutzung 10 3 6 13 ? 19 1 2 20 21 4 5 14 15 7 8 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 23 10 3 6 13 ? 19 1 2 20 21 4 5 14 15 7 8 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 10 3 6 13 ? 19 1 2 20 21 23 4 5 14 15 7 8 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 14 10 3 6 13 ? 19 1 2 20 21 23 4 5 14 15 7 8 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 14 10 Unterlauf 3 6 13 ? 19 1 2 20 21 23 4 5 14 15 7 8 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 10 Unterlauf 3 6 13 ? 19 1 2 20 21 23 4 5 15 7 8 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 10 3 6 13 ? 20 1 2 21 23 4 5 15 19 7 8 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 5 10 3 6 13 ? 20 1 2 21 23 4 5 15 19 7 8 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 5 10 3 6 13 ? 20 1 2 21 23 4 5 15 19 Unterlauf 7 8 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 10 3 6 13 ? 20 1 2 21 23 4 15 19 merge 7 8 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 10 3 6 13 ? 20 1 2 21 23 4 15 19 merge 7 8 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 10 Unterlauf 3 13 ? 20 1 2 21 23 4 6 7 8 15 19 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 10 merge 3 13 ? 20 1 2 21 23 4 6 7 8 15 19 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 10 merge 3 13 ? 20 1 2 21 23 4 6 7 8 15 19 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 3 10 13 20 ? 1 2 21 23 4 6 7 8 15 19 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Sukzessiver Aufbau eines B-Baums vom Grad k=2 Schrumpfung, Freie Knoten 3 10 13 20 ? 1 2 21 23 4 6 7 8 15 19 11 12 Datenbanken, SS 12 Kapitel 9: Datenorganisation

B-Baum (Eigenschaften) Die Höhe h ist bei Grad t und n Einträgen Daher dauert die Suche O(log n) Beim Einfügen kommt evtl. ein split dazu O(1) Beim Löschen ein evtl. merge O(1) Alle Operationen dauern O(log n) Allerdings können so nur Zahlen gespeichert werden. Datenbanken, SS 12 Kapitel 9: Datenorganisation

B+-Baum Referenz- schlüssel Such- schlüssel Datenbanken, SS 12 Kapitel 9: Datenorganisation

Datenbanken, SS 12 Kapitel 9: Datenorganisation

Datenbanken, SS 12 Kapitel 9: Datenorganisation

Bäume: logk(n) viele Seitenzugriffe .. Hashing: Fast eindeutige Zuordnung von Datum zu Bucket (Behälter) h: S → B S Schlüssel (in diesem Kontext hier: nicht notwendigerweise Schlüssel im Sinne eines logischen Schema) B: Nummerierung von n Behältern Zugriff innerhalb von 1-2 Schritten Charakteristiken der gesuchten Hash-Funktion Fester vs flexibler Wertebereich Gute Verteilung über den Wertebereich, auch bei schlechter Verteilung der Datencharakteristiken über den Eingabebereich Datenbanken, SS 12 Kapitel 9: Datenorganisation

Hashing Anforderungen an h: Beispiele für brauchbare Hash-Funktionen Abbildung h: D  [0..m-1], genannt Hash-Funktion, von Schlüsseln x1, ..., xn aus Domain D (z.B. Strings) auf Positionen h(x1), ..., h(xn) in Array a[0..m-1], genannt Hash-Tabelle (mit n < m)  Speicherung von Schlüssel xi in a[h(xi)] Anforderungen an h: sehr effiziente Berechenbarkeit zufällige „Streuung“ (Randomisierung) von x1, ..., xn auf [0..m-1] Urbilder von j1, j2 Î [0..m-1] annähernd gleich groß für alle j1, j2 und alle möglichen x1, ..., xn für geordnete Schlüssel x1 < x2 < ... < xn sollte die Ordnung von h(x1), h(x2), ..., h(xn) eine zufällige Permutation sein Beispiele für brauchbare Hash-Funktionen h(x) = (ax + b) mod m für Integers x mit Konstanten a, b h(x) = (mittlere k Ziffern von x2) mod m für k-stellige Integers x h(x) = (ord(c1)+...+ord(ck)) mod m für Strings c1c2...ck Î å k mit ord: S Î [1..| å |] Datenbanken, SS 12 Kapitel 9: Datenorganisation

Statisches Hashing Datenbanken, SS 12 Kapitel 9: Datenorganisation

Datenbanken, SS 12 Kapitel 9: Datenorganisation

Datenbanken, SS 12 Kapitel 9: Datenorganisation

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) Datenbanken, SS 12 Kapitel 9: Datenorganisation

 Datenbanken, SS 12 Kapitel 9: Datenorganisation

 4 7 13 6 18 32 48 Datenbanken, SS 12 Kapitel 9: Datenorganisation

 7 13 4 6 18 32 48 Datenbanken, SS 12 Kapitel 9: Datenorganisation

SQL: Create Index Grobsyntax: Beispiele: CREATE [UNIQUE] INDEX Indexname ON Tabellenname (Attribut1, Attribut2 ..) DROP INDEX Indexname Primary Key hat immer einen Index (muss nicht explizit indexiert werden) .. Oracle: default-Indextyp ist ein B+ Baum Beispiele: CREATE INDEX Studenten_idx1 ON Studenten(Semester) DROP INDEX Studenten_idx1 Datenbanken, SS 12 Kapitel 9: Datenorganisation

Objektballung / Clustering clustered key PersNr / gelesenVon 2125 Name Rang … Sokrates C4 Titel VorlNr Ethik 5041 2126 Russel …. Vorlesungen VorlNr Titel SWS gelesenVon 5001 Grundzüge 4 2137 5041 Ethik 2125 5043 Erkenntnistheorie 3 2126 … Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 2126 Russel 232 … Datenbanken, SS 12 Kapitel 9: Datenorganisation

Datenbanken, SS 12 Kapitel 9: Datenorganisation

Oracle Clusters und Indexierung Mit einem B+ Baum: CREATE CLUSTER cluster name ( attribute type, ... ); CREATE INDEX index name ON cluster name; CREATE TABLE table name ( usual parameters) CLUSTER cluster name ( attribute name ); Mit Hashing: CREATE CLUSTER cluster name ( attribute type, ... ) [HASH IS hashfunktion] HASHKEYS anzahl; Datenbanken, SS 12 Kapitel 9: Datenorganisation

Oracle Clusters: Beispiel CREATE CLUSTER ProfessorenVorlesungen (PersNo NUMBER) HASH IS PersNo HASHKEYS 150; CREATE TABLE Vorlesungen (GelesenVon NUMBER, ... ) CLUSTER ProfessorenVorlesungen (GelesenVon); Datenbanken, SS 12 Kapitel 9: Datenorganisation