Title: Seminar:
1Seminar Data WarehousingDirk Pogode
R-Bäume als Indexstruktur zur Anfrageoptimierung
in Data Warehouses
- Friedrich-Schiller-Universität JenaInstitut für
InformatikLehrstuhl für Datenbanken und
Informationssysteme - Lehrstuhlinhaber Prof. Dr. Küspert
- Seminarbetreuer David Wiese Thomas Müller
2Überblick
- Motivation
- (Anfrage-) Optimierung im Data Warehouse
- Anfragetypen (allgemein)
- Anfragen im multidimensionalen Modell
- Indexstrukturen (allgemein)
- Mehrattribut-Zugriff über klassische
eindimensionale Zugriffspfade - mehrdimensionale Indexstrukturen
3Überblick
- der R-Baum
- Eigenschaften
- Vergleich des R-Baums mit dem B-/B-Baum
- Anwendungsgebiete des R-Baums
- Methoden
- Search
- Insert
- Delete
4Überblick
- der R-Baum
- Eigenschaften
- Vergleich mit dem R-Baum
- der R-Baum
- Eigenschaften
- Vergleich mit dem R-Baum
- Schlussbemerkungen
5R-Bäume als Indexstruktur zur Anfrageoptimierung
in Data Warehouses
6Motivation
- Ziel eines Data WarehouseVergleiche
Auswertungen zu Analysezwecken - ?(Such-) Anfragen im Data W. von entscheidender
Bedeutung - ?sehr große Datenmengen
- ?(viele) versch. Kriterien relevant
- ?Anfrageergebnis (relativ) schnell
gewünscht(Performance) - ?INDIZES ermöglichen schnelle Beantwortung von
Suchanfragen
7R-Bäume als Indexstruktur zur Anfrageoptimierung
in Data Warehouses
- (Anfrage-) Optimierungim Data Warehouse
8(Anfrage-) Optimierung
Anfragen transaktional analytisch
Fokus Lesen, Schreiben, Modifizieren, Löschen Lesen,periodisches Hinzufügen
Transaktions-dauer und -typ kurze Lese-/Schreibtransaktionen lange Lesetransaktionen
Anfragestruktur einfach strukturiert komplex
Datenvolumeneiner Anfrage wenige Datensätze viele Datensätze
Datenmodell anfrageflexibel analysebezogen
Daten transaktional analytisch
Datenquellen meist eine mehrere
Eigenschaften nicht abgeleitet, zeitaktuell, autonom, dynamisch abgeleitet, konsolidiert, historisiert, integriert, stabil
Datenvolumen Megabyte - Gigabyte Gigabyte - Terabyte
Zugriffe Einzeltupelzugriff Bereichsanfragen
Vgl. von versch. Anwendungen hinsichtlich
Anfrage- und Datencharakteristik
Daten-eigenschaften
Übersichten aus BaGu04, Kap. 1
9R-Bäume als Indexstruktur zur Anfrageoptimierung
in Data Warehouses
10Anfragetypen
- Punktanfrage(point query)
- Bereichsanfrage (range query)
- partielle Bereichsanfrage (partial range query)
- Partial-Match-Anfrage(partial match query)
Abbildungen aus DTW0405, Kap. 5 nach BaGu04,
Kap. 7.1
11Anfragetypen
- zus.-gesetzte Anfragebereiche
- unregelmäßige Anfrageformen
- Nearest-Neighbor-Anfragen
Abbildungen aus DTW0405, Kap. 5 nach BaGu04,
Kap. 7.1
12R-Bäume als Indexstruktur zur Anfrageoptimierung
in Data Warehouses
- Anfragen im multi-dimensionalen Modell
13Anfragen im multidim. Modell
- Anwender eines Data W. hat Denkweise in
Dimensionen und Klassifikationshierarchien - häufig Anfragen mit Einschränkungen auf mehreren
Feldern - starke Selektivität der Anfragen
- Schwerpunkt und Kernfunktion heutigerData
W.-systeme Informationslieferung - Berichte mit Kennzahlen über einen großen
Datenbestand
14Anfragen im multidim. Modell
Abbildungen aus DTW0405, Kap. 1
die versch. Dimensionen
Ergebnis als Bericht
15R-Bäume als Indexstruktur zur Anfrageoptimierung
in Data Warehouses
- Indexstrukturen(allgemein)
16Indexstrukturen
- Full-Table-Scan zeitaufwändig und meist nicht
erforderlich - Anzahl der zu lesenden Datenseiten möglichst
gering halten! - Kriterien zur Klassifikationvon Indexstrukturen
- Clustering
- Dimensionalität
- Symmetrie
- Tupelverweise
- Dynamisches Verhalten
17Indexstrukturen
Vergleich von Indexstrukturen
Abbildungen aus DTW0405, Kap. 6 nach BaGu04,
Kap. 7.2
18R-Bäume als Indexstruktur zur Anfrageoptimierung
in Data Warehouses
- Mehrattributzugriffüber klassische
eindimen-sionale Zugriffspfade
19Mehrattributzugriff über klassische eindim.
Zugriffspfade
- mögliche Lösungen
- zusammengesetzter Index
- ?Feldinhalte aneinanderhängen u. über diesen
zus.-gesetzten Schlüssel indizieren - jeweils 1 Index pro Feld
- ?Schnittmenge der gelieferten Ergebnisse
- ?langsam ?
- Wahl nur eines Index nach Selektivität
- ?gelieferte Kandidaten nachfiltern u. ggf. in
Ergebnismenge aufnehmen
20Mehrattributzugriff über klassische eindim.
Zugriffspfade
- Fazit
- Beschleunigg. von mehrdim. Anfragen durch eindim.
Indexstrukturen in best. Maße möglich - Verwendung spezieller multidim. Indexstrukturen
aber deutlich besser
21R-Bäume als Indexstruktur zur Anfrageoptimierung
in Data Warehouses
- mehrdimensionale Indexstrukturen
22mehrdim. Indexstrukturen
- basieren teilweise auf Datenstrukturen für
eindim. Indizes ? stark generalisiert - z.B.
- Grid-Files (hash-basiert)
- ?Transformation eines Intervalls auf einen Punkt
mit zwei Koordinaten - Bitmap-Indizes
- ?kleiner Wertebereich pro Dim.
- R-Bäume (baum-basiert)
- ?Bereichsanfragen!!
23R-Bäume als Indexstruktur zur Anfrageoptimierung
in Data Warehouses
24der R-Baum
- Rectangle Tree (A. Guttman, 1984)
- dynamische Indexstruktur zum Speichern räumlich
ausgedehnter Objekte als Intervalle in mehreren
Dimensionen - ist als Sekundärspeicherstruktur konzipiert
- bei Geodaten Approximation der Objekte durch
umschließende Rechtecke - ?Minimum Bounding Box (MBB) bzw. Rectangle
(MBR)
25der R-Baum
- Minimum Bounding Box
- (hier für n 2 Dimensionen)
26R-Bäume als Indexstruktur zur Anfrageoptimierung
in Data Warehouses
27R-Baum Eigenschaften
- Datenobjekte Rechtecke/Quader/HyperCubes
- Seiten verlaufen parallel zu den Achsen
- je ein Intervall pro Dimension
- vollständig balancierter Baum
- nicht deterministische Struktur
- Knoten auf einer Ebene des Baums müssen nicht
disjunkt sein ?Überlappungen mögl.
28R-Baum Eigenschaften
- Knoten des Baums
- Blatt
- enthält Datenobjekt sowie dessen MBB
- hat Eintrag der Form (MBB, oID)
- innerer Knoten
- umschließt die Boxen seiner Sohn-Knoten?
wiederum eine MBB - hat Eintrag der Form (MBB, nodeID)
29R-Baum Eigenschaften
- Bedingungen für die Knoten
- jeder Knoten hat max. M Einträge
- jeder Knoten (außer Wurzel) hat min. m Einträge
- Wurzel ist Blatt oder hat min. 2 Einträge
- alle Blätter auf der gleichen Ebene
- Höhe des Baums nach oben beschränkt durch logm N
und nach unten durch logM N
30R-Bäume als Indexstruktur zur Anfrageoptimierung
in Data Warehouses
- Vergleich des R-Baumsmit dem B-/B-Baum
31R-Baum ein Beispiel
zweidim. R-Baummit M4 und m2
32R-Baum reales Beispiel
in Realität M und m sehr groß
Abbildung aus DWT0405, Kap. 6
33B- und B-Baum Beispiele
B-Baum
B-Baum
34Vgl. R-Baum ? B-/B-Baum
- Gemeinsamkeiten
- Daten/Objekte in den Blättern
- höhenbalanciert
- min. sowie max. Anzahl an Einträgen pro Knoten?
Löschvorgang evtl. bis zur Wurzel - Daten nur in den Blattknoten (bei R- und B-Baum)
- ein konkretes Datenobjekt in genau einem Knoten
des Baums (nicht mehrfach)
35Vgl. R-Baum ? B-/B-Baum
B-/B-Baum R-Baum
mögl. Dimensionen mögl. Dimensionen
nur eine beliebig viele
Löschen Anzahl Einträge in einem Knoten ltm Löschen Anzahl Einträge in einem Knoten ltm
Rotieren an der Stelle, wo das Problem auftritt (u. evtl. weiter) Einfügen der restl. Einträge von der Wurzel aus (? Insert)
Art des Indexeintrags Art des Indexeintrags
(eindeutiger!) Punktwert Intervall (pro Dimension)
Söhne eines Knotens disjunkt? Söhne eines Knotens disjunkt?
ja ? keine Überlappungen nein ? Überlappungen möglich
36Vgl. R-Baum ? B-/B-Baum
B-/B-Baum R-Baum
Eindeutigkeit des Suchpfades? Eindeutigkeit des Suchpfades?
jeweils (max.) ein Knoteneintrag erfüllt das Suchkriterium? EIN Suchpfad von Wurzel zum Blatt? kein oder ein Ergebnis Suchkriterium kann auf mehrere Knoteneinträge zutreffen? mehrere Suchpfade möglich? als Ergebnis mehrere Boxen mögl.? gilt für Bereichs- und Punktanfragen
Worst-Case-Abschätzung für Suche? Worst-Case-Abschätzung für Suche?
möglich ? Höhe des Baums ? also O(log n) nicht (sinnvoll) möglich, da im Worst-Case alle Pfade durchlaufen werden ? also O(n)
37R-Bäume als Indexstruktur zur Anfrageoptimierung
in Data Warehouses
- Anwendungsgebietedes R-Baums
38R-Baum Anwendungsgebiete
- Verarbeitg. Speicherg. von GeoDaten
- Geografische Informationssysteme (GIS)
- Computer Aided Design (CAD)
- Kartografie
- Molekularbiologie
- Einsatz im Data Warehouse
- kostensensitive Ausführung der selektiven
multidimensionalen Anfragen
39R-Bäume als Indexstruktur zur Anfrageoptimierung
in Data Warehouses
- Methoden im Umgangmit dem R-Baum
- Suchen, Einfügen, Löschen
40R-Baum Methoden ? Suchen
- wenn Anfrageobjekt nicht achsenparalleler
HyperCube ? query box - ?2-stufige Abarbeitg. der Anfragezuerst
geeignete Kandidaten suchen,dann Objekt exakt
vergleichen - Überlappungen
- ?parallele Suche in versch. Ästen des Baums
nötig - ?mehrere Objekt-MBBs als Ergebnis möglich
41R-Baum Methoden ? Suchen
(1.) Bereichsanfrage
(2.) Punktanfrage
R1
R2
R3
R4
R5
R6
R7
R12
R13
R14
R15
R17
R18
R10
R11
R8
R9
R16
R19
R20
42R-Baum Methoden ? Einfügen
- neues Objekt (? MBB) soll eingefügt werden
- beginnend bei der Wurzel bis zum Blatt
- Wahl des Sohn-Knotens, dessen MBB am wenigsten
erweitert werden muss
43R-Baum Methoden ? Einfügen
Vor dem Einfügen
R1
R2
R3
R4
R5
R6
R7
R12
R13
R14
R15
R17
R18
R10
R11
R8
R9
R16
R19
R20
44R-Baum Methoden ? Einfügen
R1
R3
R9
R8
Nach dem Einfügen R7 wurde aufgeteilt zu R7 und
R7
R4
R10
R7
R2
R11
R17
R7
R12
R20
R13
R5
R18
R14
R19
R16
R15
R6
45R-Baum Methoden ? Löschen
R1
R3
R9
R8
Vor dem Löschen
R4
R10
R7
R2
R11
R17
R7
R12
R20
R13
R5
R18
R14
R19
R16
R15
R6
46R-Baum Methoden ? Löschen
R1
R3
R9
R8
Nach dem Löschen
R4
R10
R7
R2
R11
R17
R7
R20
R13
R18
R14
R19
R16
R15
R6
47R-Bäume als Indexstruktur zur Anfrageoptimierung
in Data Warehouses
48der R-Baum
- Rechtecke der inneren Knoten auf einer Ebene
dürfen sich nicht überschneiden - ? disjunkte Aufteilung des Suchraumes
- wenn Objekt nicht vollständig in eine
RegionSpeicherg. in mehreren Blättern
(redundant)
- Vorteile des R-Baums
- schnellere Suche,da nur 1 Suchpfad
- einfacheres Löschen, da kein m
- Nachteile des R-Baums
- langsameres Einfügen,da evtl. mehrfach
- Baum kann entarten?regelm. Reorganis.!
49R-Bäume als Indexstruktur zur Anfrageoptimierung
in Data Warehouses
50der R-Baum
- Struktur wie R-Baum
- Verbesserung des Einfügen-Algorithmus durch
Einführen einer Split-Achse - ?dadurch komplexer
- Vorteile des R-Baums
- weniger Überlappungen
- ?weniger Suchpfade
- ?bessere Such-Performance
- sehr effizient für Punkt- und Bereichsanfragen
- Nachteile des R-Baums
- Implementierg. aufwändiger
- Wahl der Splitachse nicht immer optimal
- geringfügig höhere Einfügekosten
51R-Bäume als Indexstruktur zur Anfrageoptimierung
in Data Warehouses
52Schlussbemerkungen
- Performance-Vergleich R ? R ? R
Abbildungen aus ThSe93
53Schlussbemerkungen
- Einsatz von R-Bäumen (und seinen Variationen) in
realen Produkten - DB2 von IBM
- Informix Spatial/Geodetic Datablade Module
- Oracle (ab 9i)
- DBMS PostgreSQL
54R-Bäume als Indexstruktur zur Anfrageoptimierung
in Data Warehouses
55Literaturangaben
- Nicht selbst erstellte Abbildungen stammen aus
folgenden Literaturquellen - BaGu04Bauer, A Günzel, H. Data Warehouse
Systeme. Architektur, Entwicklung, Anwendung.
Heidelberg dpunkt.verlag. 2004 - ThSe93Theodoridis, Y. Sellis, T. Optimization
issues in R-tree construction. Technical Report
KDBSLABTR -93-08, National Technical University
of Athens. 1993 - DWT0405Vorlesung Data-Warehouse-Technologien WS
2004/05, Universität Magdeburg, Dozent Gunter
Saake, Vorlesungsfolien unterhttp//wwwiti.cs.uni
-magdeburg.de/iti_db/lehre/dw/index.html