Proseminar: Algorithmen und Datenstrukturen für Datenbanksysteme

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

8. Termin Teil B: Wiederholung Begriffe Baum
Der R-Baum Richard Göbel.
Partitionierungstechniken in Datenbanksystemen
Punkt-in-Polygon-Verfahren III (R/R+-Baum)
Kap. 13 Sweep-Line Algorithmen Kap Schnittprobleme
Geometrische Datenstrukturen Haozhe Chen Aaron Richardson.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
SST - Sequence Search Tree
Das LCA – Problem in Suffixbäumen
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.
7. Natürliche Binärbäume
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
5. Sortier-Algorithmen Vorbemerkungen:
Genetische Algorithmen für die Variogrammanpassung
Indexed Sequential Access Method
Sortierverfahren Richard Göbel.
Java: Dynamische Datentypen
Sortierverfahren Richard Göbel.
Der R-Baum Richard Göbel.
Effizienz: Indexstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (05 – Elementare Datenstrukturen) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 6 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.

Kapitel 3 Elementare Datenstrukturen TexPoint fonts used in EMF.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 11 Claudio Moraga, Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
R-tree, R*-tree und R+-tree
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung In welcher Masche liegt der Punkt p?
Effiziente Suche in Bilddatenbanken
Globaler Ansatz Hough-Transformation
Thorsten Jost INF-M2 – AW1 – Sommersemester Mai 2008
Katja Losemann Chris Schwiegelshohn
Vortrag: Ingo Gensch, Mathias Reich am:
1 Kapitel 5: Mehrdimensionale Suchstrukturen. 2 Mehrdimensionale Suchstrukturen Alterzwischen 20 und 30 Einkommenzwischen 2000 und 3000 PLZzwischen
Intelligentes Crawling im WWW mit Hilfe intuitiver Suchbedingungen
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach.
FH-Hof Analyse des R-Baums - Teil 1 Richard Göbel.
Computergraphik mit OpenGL Einführung. Bilder Objekt existiert im Raum unabhängig vom Betrachter Objekte sind beschrieben durch die Position verschiedener.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
2. Die rekursive Datenstruktur Baum 2
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung
Geoinformation II Vorlesung 4 SS 2001 Voronoi-Diagramme.
Diskrete Mathematik II
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 7 SS 2000 Punkt-in-Polygon-Verfahren I (Trapezkarte)
Effiziente Algorithmen
Efficient Alias Set Analysis Using SSA Form Proseminar Programmanalyse WS 11/12 André Hunke.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Übung Datenbanksysteme II Index- strukturen
Jamshid Azizi: Folie Isomorphietest Jamshid Azizi
00:13 Matthias Ansorg FH Gießen-Friedberg1 / 24 Multidimensionale Datenstrukturen - semantische und logische Modellierung Teilvortrag: logische Modellierung.
Einfach und doppelt verkettete Listen in JAVA by Jens Weibler
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Thomas Hilpold: Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger.
Using latent semantic analysis to find different names for the same entity in free text Präsentation und Diskussion des Papers Im Rahmen des PS Web-Information.
Betriebssysteme Übung Tutorium „TLB & Virtual Memory“
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 1 WS 2001/02 Punkt-in-Landkarte I (Streifenkarte)
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II 6. Sem. Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
Algorithmen und Datenstrukturen 1 SS 2002
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 4 WS 01/02 Quadtrees.
Geoinformation II 6. Sem. Vorlesung April 2000 Geometrische Algorithmen - ein einführendes, größeres Beispiel für ein Semester-begleitendes Programmier.
Institut für Informationssysteme Technische Universität Braunschweig Institut für Informationssysteme Technische Universität Braunschweig Verdrängung von.
Binärbäume.
CL Tree MW 31.1 Business Intelligence Wintersemester 2015 / 2016 Stanislav Prokupetz.
Indexierung Oracle: indexes Indexierung.
 Präsentation transkript:

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

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

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

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“]

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

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

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

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

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]

Abbildung einer Query-Box Konzept Abbildung einer Query-Box

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

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

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+

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

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)

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

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

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

Tetris Algorithmus Beispiel Sortier- richtung

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

Position der Query-Box Leistung Position der Query-Box

Leistung Größe der Query-Box

Füllungsgrad des Universums Leistung Füllungsgrad des Universums

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

The End That‘s all folks!