Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Proseminar: Algorithmen und Datenstrukturen für Datenbanksysteme

Ähnliche Präsentationen


Präsentation zum Thema: "Proseminar: Algorithmen und Datenstrukturen für Datenbanksysteme"—  Präsentation transkript:

1 Proseminar: Algorithmen und Datenstrukturen für Datenbanksysteme
UB-Bäume Vortrag von Georg Göttlich am

2 Übersicht Einführung Konzept Umsetzung Tetris Algorithmus (optional)
Leistung (optional)

3 Einführung Der B+-Baum B+-Baum aber Primärindex
Daten nur in den Blättern Nach Primärindex geclustert aber Anfragen auf andere Felder erfordern Sekundärindexe Blätter Verkettet Geringer Aufwand für Bereichsanfragen auf den Primärschlüssel Primärindex A – D => 2 Seiten A,2 B,1 C,8 D,5 E,4 F,6 G,3 H,7 2 – 5 => 4 Seiten A,2 B,1 C,8 D,5 E,4 F,6 H,7 G,3 Daten nicht geclustert

4 Multidimensionale Anfragen
Einführung Multidimensionale Anfragen Das Universum Punktanfrage ein bestimmter Wert in jeder Dimension genau ein Punkt des Universums Beispiel: „Hyperplane“ ein Wert fix, die anderen Dimensionen unbeschränkt „Query Box“ alle Dimensionen auf einen Bereich beschränkt n-dimensionaler Raum bei n indexierten Feldern Die Werte der Felder sind die Koordinaten [11,9,“Galactica“] [(42,49),(10,20),(„NCC1701A“,“NCC1701E“)] [((-,+ ), (-,+ ),“Executer“]

5 Theoretischer Leistungsvergleich
Einführung Theoretischer Leistungsvergleich composite key clustering B-Baum s1*P mehrere B-Bäume, Bitmap Indexe s1*I1+s2*I2+s1*s2*T multidimen- sionaler Index s1 *s2 *P Idealfall s1*s2*P

6 Übersicht Einführung Konzept Umsetzung Tetris Algorithmus (optional)
Leistung (optional)

7 Konzept Zerlegung in Subcubes n = 2 n = 3 n = 2
Ein n-dimensionaler Kubus wird in 2n Subcubes zerlegt n = 2 n = 3 Rekursive Zerlegung bis zu den „Pixeln“ n = 2

8 Konzept Z-Ordering Das n-dimensionale Universum wird mit Hilfe der Lebesgue-Kurve (Z-Kurve) auf die Zahlengerade projiziert. 2-dimensionales Universum Z-Kurve 1 5 4 17 16 21 20 3 2 7 6 19 18 23 22 9 8 13 12 25 24 29 28 11 10 15 14 27 26 31 30 33 32 37 36 49 48 53 52 35 34 39 38 51 50 55 54 41 40 45 44 57 56 61 60 43 42 47 46 59 58 63 62 Z-Adressen

9 Konzept Z-Regionen Zwei Z-Adressen  und  gebend eine „Region“ des Universums bzw. einen Abschnit auf der Zahlengerade an. Formal: Z-region[:] Eine Menge Z-Adressen M partitioniert ein Universum vollständig Z -Region[10:20] 10 20 Partitionierung: [0:7],[8:20],[21:46], [47:57],[58:63]

10 Abbildung einer Query-Box
Konzept Abbildung einer Query-Box

11 Übersicht Einführung Konzept Umsetzung Tetris Algorithmus (optional)
Leistung (optional)

12 lexikographische Ordnung der Bitstrings = Ordnung der Feldwerte
Umsetzung Bitinterleaving Umwandlung der Koordinaten in eine geeignete Bitdarstellung, d.h. lexikographische Ordnung der Bitstrings = Ordnung der Feldwerte => Berechnung der Z-Adressen durch einfache Bitoperationen möglich x1= 101 x2= 110 x3= 001 Koordinaten: Zweidimensionaler Beispielraum: x1 x2 1 1 Step1 1 1 Step2 Z-Adresse = = 405 Step0

13 Umsetzung Punktoperationen
Operationalisierung: Koordinaten => Z-Adresse => Algorithmus für den B+-Baum Veranschaulichung an einem UB-Baum mit maximaler Tupelzahl pro Blatt M = 3: Felder Schiffe Pagesplitting: entsprich im UB-Baum dem Teilen von Z-Regionen << und n/2- < Anzahl der Objekte in Z-Region[:] < n/2+

14 Umsetzung Rangequery ql qh Seite von ql laden
Felder Schiffe Status UBTree_Range_Query(Tuple ql, Tuple qh) { Z-value start = UBKEY(ql); Z-value end = UBKEY(qh); Z-value cur = start; While (1) { cur = getRegionSeparator(cur); FilterTuples(GetPage(cur), ql, qh); if (cur >= end) break; cur = getNextZvalue(&cur, start, end); }} //continue as long we are in the query box // getting the address of the region containing cur //post- filtering of the tuples in the region //stop once we covered the whole query box //calculation of next region Query-Box ql qh Seite von ql laden Ende der aktuellen Seite finden Tupel filtern überprüfen ob Ende der aktuelle Seite > qh wenn ja: HALT nächsten Punkt der Z-Kurve finden, der innerhalb der Abfrage liegt

15 Umsetzung Nächste Z-Adresse
erste Z-Adresse nach der höchsten Z-Adresse der aktuellen Region suchen Durch Vergleich mit qh und ql überprüfen, ob innerhalb der Querrybox (Bitoperation) Anhand der beim Vergleich gewonnen Daten feststellen, in welchen Dimensionen die Adresse nicht innerhalb der Query-Box liegt und welche Bits geändert werden müssen (Bitoperationen)

16 Übersicht Einführung Konzept Umsetzung Tetris Algorithmus (optional)
Leistung (optional) NOTHALT

17 Tetris Algorithmus Tetris Ordering Z-Ordering Tetris Oder (A2)

18 Tetris Algorithmus Nächster Event Point
ql Seite laden und Tuperl filtern und cachen auf der Ebene (sweep plane) weiter bis zum nächsten Punkt der außerhalb des schon geladenen Bereichs liegt (event point) entsprechende Seite lade und Tupel filtern, wiederholen bis Ebene komplett Cach sortieren nächsten event point suchen, die Elemente aller Ebene darunter, bis einschließlich der letzten „sweep plane“, ausgeben und aus dem Cach löschen auf der neuen „sweep plane“ fortfahren

19 Tetris Algorithmus Beispiel Sortier- richtung

20 Übersicht Einführung Konzept Umsetzung Tetris Algorithmus (optional)
Leistung (optional) NOTHALT

21 Position der Query-Box
Leistung Position der Query-Box

22 Leistung Größe der Query-Box

23 Füllungsgrad des Universums
Leistung Füllungsgrad des Universums

24 Schluss Integrierbarkeit Minor extensions: Major extensions:
New modules: NO changes for: DML Multi-user support, i.e., locking, logging facilities  handled by underlying B*-Tree Communication Manager SQL Compiler/Interpreter Extend Parser with DDL statements for UB - Trees Query Optimizer Catalog New Rules + Cost Model Manager for UB - Trees Query Creation of UB - Trees Processor UB - Tree Range Query Support Lock Access Structure Manager Manager UB - Tree Modules : Transformation Functions , Page Splitting, Range Query Buffer Storage Recovery Manager Manager Manager

25 The End That‘s all folks!


Herunterladen ppt "Proseminar: Algorithmen und Datenstrukturen für Datenbanksysteme"

Ähnliche Präsentationen


Google-Anzeigen