4. Zugriffsstrukturen f ¨ur komlpexe Objekte Eindimensionaler Index

Werbung
4. Zugriffsstrukturen für komlpexe Objekte
Mehrdimensionaler Index
4. Zugriffsstrukturen für komlpexe Objekte
Mehrdimensionaler Index
4. Zugriffsstrukturen für komlpexe Objekte
Datenstrukturen für Multikey-Indexing
• Für einfache Datentypen sind klassische Indexierungstechniken ausreichend:
– B-Bäume und Varianten
– Hashing
• Konventionelle Suchbäume gehen von einer totalen Ordnung auf dem Indexbereich aus.
• Beim Hashing geht diese Ordnung verloren, daher sind hier Bereichsanfragen
schwierig behandelbar.
• Datenstrukturen für Multikey-Indexing (bzw. mehrdimensionale Datenstrukturen)
unterstützen den Zugriff auf Datensätzen mit mehreren Schlüsselwerten.
• D.h. wir betrachten nicht mehr Paare (x, α), sondern Tupel der Form
(x1 , . . . , xk , α) mit k > 1.
• Hierbei ist
– (x1 , . . . , xk ) der (Gesamt-)Schlüssel,
– xi ist der i-te Teilschlüssel und
– α ist die mit dem Gesamtschlüssel assoziierte Information.
• Anwendung: Verwaltung geometrischer Objekte
• Bei Datenstrukturen für Multikey-Indexing streben wir an, daß keiner der Teilschlüssel bevorzugt wird.
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
135
4. Zugriffsstrukturen für komlpexe Objekte
Mehrdimensionaler Index
Eindimensionaler Index
Name
4. Zugriffsstrukturen für komlpexe Objekte
137
Mehrdimensionaler Index
Mehrdimensionaler Schlüssel
Zugriffsstruktur
Tabelle Personal
P#
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
Vorname
Abt.
4711
Becker
Peter
E
1718
Meier
Hans
B
3000
5000
2000
Select *
From Personal
Where P# = 4711
1718
• Wir nennen eine mehrdimensionale Datenstruktur symmetrisch,
– wenn sie den Zugriff über mehrere Schlüssel ermöglicht,
– ohne einen bestimmten Schlüssel oder eine Schlüsselkombination zu bevorzugen.
• Grundsätzlich stehen für Multikey-Indexing sowohl baumbasierte Verfahren als
auch auf Hashing basierende Verfahren zur Verfügung.
• Ebenso können wir unterscheiden zwischen mehrdimensionalen Datenstrukturen,
die für den Arbeitsspeicher geeignet sind und solchen, die für Peripheriespeicher
geeignet sind.
4711
2345
5123
Datei
4711
...
1718
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
...
136
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
138
4. Zugriffsstrukturen für komlpexe Objekte
Mehrdimensionaler Index
D#
Name
zweidim. Schlü
üssel
X
Zugriffsstruktur fü
ür (X,Y)
Y
1718
Ulmer Mü
ünster 10.01 48.39
4711
Kölner Dom
{(z1 , . . . , zk , α) ∈ Σ|xi1 ≤ zi1 ≤ yi1 ∧ . . . ∧ xij ≤ zil ≤ yil }
6.99 50.93
• Nachbarschaftsanfrage (neighbour query):
Suche aller Datensätze deren Schlüssel bezüglich einer Metrik d um nicht mehr
als R von einem gegebenen Schlüssel (x1 , . . . , xk ) abweichen.
?
Select *
From Denkmal
Where X between 6.5 and 7.5
and Y between 50.5 and 51.5
{(y1 , . . . , yk , α) ∈ Σ|d((x1 , . . . , xk ), (y1 , . . . , yk )) ≤ R}
In praktischen Fällen ist das Aufstellen einer geeigneten Distanzfunktion u.U.
äußerst schwierig.
Datei
4711
Mehrdimensionaler Index
• Teilbereichsanfrage (partial range query):
Suche aller Datensätze zu Teilschlüsselintervallen [xi1 , yi1 ], . . . , [xil , yil ] mit i1 <
· · · < ij und j < k.
Mehrdimensionaler Index
Tabelle Denkmal
4. Zugriffsstrukturen für komlpexe Objekte
...
1718
• Einf ügen und Löschen von Objekten (ohne globale Reorganisation und ohne Entartung)
...
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
4. Zugriffsstrukturen für komlpexe Objekte
139
Mehrdimensionaler Index
Anfragearten
• Punktanfrage (exact match query): Suche aller Datensätze zu den Teilschlüsseln
x1, . . . , xk , d.h. bestimme
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
4. Zugriffsstrukturen für komlpexe Objekte
141
Mehrdimensionaler Index
• Raumbezogene Verbunde (spatial joins):
Objekte werden über einen mehrdimensionalen Schlüssel miteinander verbunden.
Beispiel: Welche Tankstellen (rot) liegen nahe an einem Wasserschutzgebiet
(grün)?
{(y1 , . . . , yk , α) ∈ Σ|y1 = x1 ∧ . . . ∧ yk = xk }
• Teilpunktanfrage (partial match query):
Suche aller Datensätze zu den gegebenen Teilschlüsseln xi1 , . . . , xij mit i1 <
· · · < ij und j < k.
{(y1, . . . , yk , α) ∈ Σ|yi1 = xi1 ∧ . . . ∧ yij = xij }
• Bereichsanfrage (exact range query):
Suche aller Datensätze zu Teilschlüsselintervallen [x1, y1], . . . , [xk , yk ].
{(z1 , . . . , zk , α) ∈ Σ|x1 ≤ z1 ≤ y1 ∧ . . . ∧ xk ≤ zk ≤ yk }
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
140
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
142
4. Zugriffsstrukturen für komlpexe Objekte
Mehrdimensionaler Index
4. Zugriffsstrukturen für komlpexe Objekte
Datensätze können aber auch die räumliche Ausdehnung eines Objektes beschreiben.
Mehrdimensionaler Index
Anforderungen an die Objektabbildung
Anfragearten in diesem Zusammenhang sind:
• Punktanfrage: Man finde alle Objekte, die einen Anfragepunkt (x 1 , . . . , xk ) des
Anfrageraums enthalten.
• Gebietsanfrage: Gegeben ist ein Anfragegebiet. Man finde alle Objekte, die dieses Gebiet schneiden.
Eine Zugriffsstruktur für die genannten Anfragearten kann als Abbildung aufgefaßt
werden, die mehrdimensionale Schlüssel auf einen linearen Speicherbereich abbildet
(Adressen der Seiten).
Anforderungen:
•
•
•
•
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
4. Zugriffsstrukturen für komlpexe Objekte
143
Mehrdimensionaler Index
Erhaltung der topologischen Struktur
Anpassung an stark variierende Schlüssel-/Objektdichte
Dynamische Reorganisation
Geeignete Repräsentation der Objekte
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
4. Zugriffsstrukturen für komlpexe Objekte
145
Mehrdimensionaler Index
Effizienz bei Bereichsanfragen
Punktanfrage
• Prinzipiell besteht die Möglichkeit,
– statt einer k-dimensionalen Datenstruktur
– k eindimensionale Datenstrukturen zu verwenden und
– die Ergebnisse durch Schnittmengenbildung zu bestimmen.
Teilpunktanfrage
Bereichsanfrage
• Genauer:
– Wir verwenden für jeden Teilschlüssel i eine Datenstruktur D i (z.B. einen BBaum).
– Gegeben sei beispielsweise eine Bereichsanfrage durch die Teilschlüsselintervalle [x1 , y1], . . . , [xk , yk ].
– Dann berechnen wir zunächst für jedes Teilschlüsselintervall [xi, yi] die darin
enthaltenen Datensätze.
Teilbereichsanfrage
Nachbarschaftsanfrage
Ki := {(z1 , . . . , zk , α) ∈ Σ|xi ≤ zi ≤ yi}
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
144
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
146
4. Zugriffsstrukturen für komlpexe Objekte
Mehrdimensionaler Index
– Das Gesamtergebnis erhalten wir durch eine Schnittmengenbildung über die
Ki :
{(z1 , . . . , zk , α) ∈ Σ|x1 ≤ z1 ≤ y1 ∧ . . . ∧ xk ≤ zk ≤ yk } =
k
\
4. Zugriffsstrukturen für komlpexe Objekte
Weitere Möglichkeit: Indexkonkatenation
•
•
•
•
Ki
i=1
Probleme:
Mehrdimensionaler Index
Die Teilschlüssel werden zu einem einzigen Schlüsselwert konkateniert.
Einfügungen, Änderungen und Löschungen sind effizienter
UNIQUE auf dem Gesamtschlüssel ist überprüfbar
Ineffizient für Bereichsanfragen, nicht praktikabel für Teilpunkt- oder Teilbereichsanfragen
• Hoher Aufwand bei Einfüge-, Änderungs- und Löschoperationen, da k Indexstrukturen verwaltet werden müssen.
• Insbesondere bei größerem k eine ineffiziente Suche, da die Ki sehr groß im
Verhältnis zum Ergebnis sein können.
• Der Aufwand ist linear in der Anzahl der Dimensionen.
• Vermehrte Sperren, da mehr Blöcke gelesen werden müssen.
• Integritätsbedingungen wie UNIQUE für den Gesamtschlüssel k önnen nicht äquivalent definiert werden.
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
4. Zugriffsstrukturen für komlpexe Objekte
147
Mehrdimensionaler Index
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
4. Zugriffsstrukturen für komlpexe Objekte
149
Geometrische Zugriffsstrukturen
Geometrische Zugriffsstrukturen
zusammeng.
eindimen.
Index
kombinierte
eindim. Indexe
mehrdimen.
Index
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
• häufig große Anzahl an geometrischen Objekten (> 106)
• Eigenschaften geometrischer Objekte:
– Geometrie
– abgeleitete geometrische Attribute zur Unterstützung von Anfragen,
– z.B. minimales umschreibendes Rechteck (minimum bounding rectangle)
– nichtgeometrische Attribute
• Anwendungen:
– Geoinformationssysteme
– CAX-Anwendungen
– 3D-Simulationen
• Zugriff primär über Geometriedaten:
– Suchfenster (Bereichsanfrage)
– Zugriff auf benachbarte Objekte (Nachbarschaftsanfrage)
Idealfall
148
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
150
4. Zugriffsstrukturen für komlpexe Objekte
Geometrische Zugriffsstrukturen
Wir betrachten zunächst Zugriffsstrukturen für die Verwaltung von geometrischen Daten.
Kriterien:
• Verwaltung von Punktdaten oder raumbezogenen Objekten
• Organisation der Datensätze oder des Datenraums
• ”Divide and Conquer” oder Dimensionsverfeinerung
4. Zugriffsstrukturen für komlpexe Objekte
151
Geometrische Zugriffsstrukturen
Baumorientierte Verfahren
•
•
•
•
•
• Form der Regionen für die Verfeinerung
• Partionierung einer Region durch Teilregionen oder überlappende Abdeckung der
Objekte durch Regionen?
• eindeutige Zuordnung von Objekten zu Regionen oder Mehrfachzuordnung?
• Orginalgeometrie oder abgeleitete Geometrie für die Repräsentation der Objekte
bzw. bei der Suche?
• Grad des Baumes und Organisation
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
4. Zugriffsstrukturen für komlpexe Objekte
153
Geometrische Zugriffsstrukturen
Bearbeitung geometrischer Anfragen
• Je nach Art der geometrischen Zugriffsstruktur liefert diese u.U. nur eine Kandidatenmenge.
• Diese Kandidatenmenge ist eine Obermenge des Resultats (Filterung).
• Die Objekte der Kandidatenmenge müssen dann in einem weiteren Schritt genauer
untersucht werden (Verfeinerung).
• Dieses Vorgehen bietet sich auch an, wenn die Anfrage sowohl geometrische als
auch nicht-geometrische Bedingungen enthält.
Der geometrische Bereich wird in Regionen aufgeteilt.
benachbarte Objekte möglichst derselben Region zuordnen oder
falls nicht möglich auf benachbarte Regionen zuordnen bzw. aufteilen
Baumstruktur entsteht durch Verfeinerung der Regionen
Speicherung der Objekte in der Blattebene
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
Geometrische Zugriffsstrukturen
Freiheitsgrade bei baumorientierten Verfahren
Klassifikation Geometrischer Zugriffsstrukturen
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
4. Zugriffsstrukturen für komlpexe Objekte
152
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
154
4. Zugriffsstrukturen für komlpexe Objekte
Geometrische Zugriffsstrukturen
4. Zugriffsstrukturen für komlpexe Objekte
Quadranten-Baum
Y
Anfrage
A
F
Laden der Objekte
G
NO
B
Geo−Index
60 40
SO
NW
C
75 70
SW
20 60
B
C
45 30
D
90 10
E
A
40
Kandidatenmenge
D
Anfrage auf
das Objekt
45 85
F
E
60
X
40 80
G
Ergebnis
Treffer
Filterung
Falschalarm
Verfeinerung
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
4. Zugriffsstrukturen für komlpexe Objekte
155
Quadranten-Baum
Quadranten-Baum (Point Quad Tree)
•
•
•
•
Verallgemeinerung des Prinzips von binären Suchbäumen
zusammengesetzter zweidimensionaer Schlüssel
Jedes Objekt wird durch einen Knoten im Baum repräsentiert.
Jeder Knoten hat vier Nachfolger, durch die der Datenraum in vier Quadranten
partitioniert wird:
Nordosten (NO), Nordwesten (NW), Südwesten (SW), Südosten (SO)
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
4. Zugriffsstrukturen für komlpexe Objekte
157
Quadranten-Baum
• Bearbeitung von Punktanfragen durch Abstieg im Baum
• Bereichsanfrage: u.U. Absteig in verschiedene Richtungen notwendig
Beispiel: Tafel ✎
• Es kann keine Balancierung gewährleistet werden.
• Löschen ist schwierig
• Keine Erhaltung der topologischen Struktur, daher nicht für den Peripheriespeicher
geeignet
• nur für Punktdaten geeignet
• Durch rekursive Anwendung dieses Prinzips stellt sich eine rekursive Partitionierung des Datenraums ein.
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
156
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
158
4. Zugriffsstrukturen für komlpexe Objekte
k-d-Baum
4. Zugriffsstrukturen für komlpexe Objekte
R-Baum und Varianten
k-d-Baum
Zugriffspfade für räumlich ausgedehnete Objekte
• zusammengesetzter Schlüssel aus k Teilschlüsseln
• Auf jeder Baumebene l entscheidet ein anderer Teilschlüssel d über die Partitionierung.
• Die Reihenfolge der Auswahl der Teilschlüssel ist beliebig. Üblich:
• Bisher nur Datenstrukturen für Punktdaten
• Punktidealisierung für räumlich ausgedehnte Objekte ist problematisch
• Stattdessen benutzt man approximative Darstellungen für die r äumliche Ausdehnung.
• Bei den Such- und Verfeinerungsschritten müssen Objektdichte und -ausdehnung
in Einklang gebracht werden.
• Ansätze:
– Transformation (object mapping),
– überlappende Regionen (object bounding),
– Clipping (object duplication)
d = (l − 1 mod k) + 1
• Jedes Objekt wird durch einen Knoten repräsentiert.
• Jeder Knoten hat zwei Nachfolger, der den Datenraum gem äß des Teilschlüssels
der Baumebene unterteilt.
• rekursive Partitionierung des Datenraums
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
159
4. Zugriffsstrukturen für komlpexe Objekte
k-d-Baum
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
4. Zugriffsstrukturen für komlpexe Objekte
161
R-Baum und Varianten
R-Baum
Y
A
F
G
60 40
X
B
C
C
30 60
B
Y
75 70
Y
A
D
40
45 30
X
F
45 85
X
E
90 10
X
D
E
60
G
40 70
Y
• Verallgemeinerung des B-Baum-Prinzips auf mehrere Dimensionen
• Räumliche Objekte werden durch k-dimensionale Rechtecke approximiert.
• Die Baumwurzel entspricht einem Rechteck, das alle geometrischen Objekte umfaßt.
• Die Aufteilung der Regionen erfolgt in nichtdisjunkte Rechtecke.
• Jedes Geoobjekt ist eindeutig einem Blatt zugeordnet.
X
• Probleme analog zum Quadranten-Baum
Tafel ✎
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
160
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
162
4. Zugriffsstrukturen für komlpexe Objekte
R-Baum und Varianten
Veranschaulichung R-Baum:
R1
R4
R11
• Es sei T die Wurzel des R-Baums.
• Wenn T kein Blatt ist, dann wird für jeden Eintrag E in T überprüft, ob E.I sich
mit S überlappt.
Falls ja, dann wird der Suchalgorithmus rekursiv auf E angewendet.
• Wenn T ein Blatt ist, wird ebenfalls für jeden Eintrag E auf Überlappung geprüft.
Bei Überlappung ist E ein gesuchter Eintrag.
• Man beachte, daß u.U. mehrere Pfade durchsucht werden müssen.
• Beispiel: Tafel ✎
R1 R2
R9
R3 R4 R5
R6 R7
R14
R8 R9 R10 R11R12
R13R14
R15 R16
R17R18R19
R10
R8
R2
R-Baum und Varianten
Suchen in R-Bäumen (Bereichsanfrage)
R5
R3
4. Zugriffsstrukturen für komlpexe Objekte
R12
R16
R7
R18
R13
R17
R19
R15
R6
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
4. Zugriffsstrukturen für komlpexe Objekte
163
R-Baum und Varianten
Definition R-Baum: Ein R-Baum ist ein Baum der folgenden Art:
4. Zugriffsstrukturen für komlpexe Objekte
165
R-Baum und Varianten
Einfügen in R-Bäume
• Alle Blätter haben gleiche Höhe.
• Die Blätter enthalten Verweise auf Datenobjekte.
• Jeder Knoten K des Baumes enthält Einträge der Form (I, Z). Dabei ist Z
– bei inneren Knoten ein Verweis auf einen Nachfolgerknoten und
– bei Blättern ein Verweis auf ein Datenobjekt.
I ist ein n-dimensionaler Quader der Form (I0, . . . , In−1). Dabei ist I das kleinste
Quader, das die nachfolgenden Objekte vollständig beinhaltet.
• Jeder Knoten außer der Wurzel hat mindestens m Einträge.
• Jeder Knoten hat höchstens M Einträge.
• Die Wurzel hat mindestens zwei Einträge, außer sie ist ein Blatt.
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
164
• Wähle einen Blattknoten L, in den E eingefügt werden soll.
• Wenn in L weniger als M Einträge vorhanden sind, dann füge E in L ein.
Ansonsten splitte L.
• Man passe im Vater von L in dem entsprechenden Eintrag evtl. den umgebenden
Quader an.
☞ Dies kann sich bis zur Wurzel hin fortpflanzen.
• Falls L gesplittet wurde, nehme man einen zusätzlichen Eintrag im Vater von L auf
und passe die umgebenden Quader entsprechend an.
☞ Die Splits können sich ebenfalls bis zur Wurzel fortpflanzen.
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
166
4. Zugriffsstrukturen für komlpexe Objekte
R-Baum und Varianten
R2
R1
RNeu
☞ Füge in den Unterbaum
ein, dessen umschließendes
Rechteck
am
geringsten
erweitert werden muß.
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
4. Zugriffsstrukturen für komlpexe Objekte
167
R-Baum und Varianten
Splitting von Knoten
4. Zugriffsstrukturen für komlpexe Objekte
R-Baum und Varianten
• Erschöpfende Suche ist zu aufwendig.
• Typischerweise Verwendung von heuristischen Ansätzen:
1. Finde die beiden Rechtecke, deren umschließendes Rechteck am gr ößten ist.
Diese beiden Rechtecke definieren zwei Gruppen G1, G2 .
2. Berechne für alle übrigen Rechtecke die Flächenzuwächse d1, d2 für die Gruppen G1 , G2 .
3. Nehme das Rechteck, für das |d1 − d2| am größten ist. Füge es in die Gruppe
ein, für die di kleiner ist.
4. Man wiederhole die Schritte 2. bis 4., bis alle Rechtecke verteilt sind.
• Aufwand: O(n2 ) für n Rechtecke. Auch lineare Heuristik möglich.
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
4. Zugriffsstrukturen für komlpexe Objekte
169
R-Baum und Varianten
Löschen
• Suche das Blatt L, das den zu löschenden Eintrag E enthält (strengeres Suchkriterium).
• Man lösche den Eintrag E in L.
• Falls L nun weniger als m Einträge enthält, nehme man die verbleibenden Einträge
in eine Menge Q auf und lösche L komplett.
• Man führe dieses Verfahren fort bis zur Wurzel.
• Man füge die gelöschten Einträge in Q wieder in den Baum ein.
☞ Hierbei müssen Einträge, die von inneren Knoten stammen, auf die entsprechende Ebene eingefügt werden.
Schlechter Split
Guter Split
☞ Versuche heuristisch die entstehende Gesamtfläche zu minimieren.
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
168
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
170
4. Zugriffsstrukturen für komlpexe Objekte
R-Baum und Varianten
4. Zugriffsstrukturen für komlpexe Objekte
R-Baum und Varianten
+
Diskussion R-Bäume
R -Baum
Pluspunkte:
• Raumbezogene Objekte können direkt dargestellt werden, d.h.
• es ist keine Transformation in einen höherdimensionalen Raum notwendig (z.B.
Darstellung zweidimensionalen Quadraten als dreidimensionale Punkte).
Kritikpunkte:
• Ein Rechteck kann von vielen Regionen überlappt werden, ist aber genau in einer
gespeichert.
• Selbst Punktanfragen können zu einer Suche in vielen Rechteckregionen führen.
Überlappung: gesamter Bereich einer Ebene, der in zwei oder mehr Knoten dieser
Ebene enthalten ist.
Minimale Überlappung schränkt die Menge der Suchpfade von der Wurzel zu den
Blättern für einen Punkt des Raumes ein.
Überdeckung: gesamter Bereich, der erforderlich ist, um alle vorhandenen Rechtecke dieser Ebene zu überdecken.
Minimale Überdeckung reduziert die Menge des toten Raumes und schr änkt so
den Suchraum ein.
Die Minimierung beider Größen ist für die Leistungsfähigkeit des R-Baums von großer
Bedeutung.
• Einfügeoperationen führen oft zu einer Vergrößerung von Regionen.
• Löschen erscheint unhandlich.
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
4. Zugriffsstrukturen für komlpexe Objekte
171
R-Baum und Varianten
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
4. Zugriffsstrukturen für komlpexe Objekte
173
R-Baum und Varianten
Fazit:
R+-Baum:
• R-Bäume sind heute ein Standard-Datenstruktur zur Speicherung raumbezogener
Objekte.
• Verwendung in kommerziellen und in Open-Source-DBMS (Oracle, Postgres)
• Erweiterungen von R-Bäumen sind R+-Bäume und Zell-Bäume.
☞ Vermeidung von Überlappung durch disjunkte Aufteilung in Regionen
☞ Jedem Punkt des geometrischen Bereichs ist eindeutig ein Blatt zugeordnet.
☞ Ebenso auf höheren Ebenen.
Konsequenz: Für einen Punkt des Raums gibt es einen eindeutigen Pfad von der
Wurzel zu einem Blatt.
☞ Erstreckt sich beim Einfügen ein Objekt über mehrere Regionen, wird es zerlegt
und in mehreren Blättern abgelegt (clipping).
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
172
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
174
4. Zugriffsstrukturen für komlpexe Objekte
R-Baum und Varianten
4. Zugriffsstrukturen für komlpexe Objekte
R-Baum und Varianten
+
Diskussion R -Bäume
A
B
G
F
K
D
J
A
E
B
C
P
I2
H
I
Ineu
P
D
F
I
M
N
E
G
G
J
K
L
M
H
• Objekte müssen in mehreren Regionen gespeichert werden.
=⇒ erhöhter Speicher- und Modifikationsaufwand.
• Einfügen von Rechtecken erfordert möglicherweise Modifikation
mehrerer Regionen.
N
L
C
I1
I3
I2
Ineu
I1
I3
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
4. Zugriffsstrukturen für komlpexe Objekte
175
R-Baum und Varianten
☞ Clipping kann bei R+-Bäumen
auch zur Reduzierung der Überdeckung eingesetzt werden.
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
176
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
177
4. Zugriffsstrukturen für komlpexe Objekte
• Einfügen kann in bestimmten Situationen unvermeidbar zur Aufteilung von
Regionen führen (siehe rechts).
• Regionenmodifikationen haben Konsequenzen sowohl in Richtung Blätter
als auch in Richtung Wurzel.
• Eine obere Grenze M für die Anzahl
der Einträge in Blattknoten kann nicht
garantiert werden.
R-Baum und Varianten
Split
I1
I2
Ineu
I4
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
I3
178
4. Zugriffsstrukturen für komlpexe Objekte
R-Baum und Varianten
Zell-Baum
4. Zugriffsstrukturen für komlpexe Objekte
179
R-Baum und Varianten
Mögliche Ausprägung eines Zell-Baums:
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
R-Baum und Varianten
Zerlegung eines nicht konvexen Objektes in eine konvexe Kette:
• Der Zell-Baum (Cell-Tree) basiert auf konvexen Polygonen statt auf Rechtecken.
Hierdurch wird eine bessere Approximation der Objekte erreicht.
☞ Minimierung der Überdeckung
• Für nicht konvexe Objekte wird Clipping eingesetzt. Das Objekt wird in sogenannte
konvexe Ketten zerlegt. Jedes Teil der Kette wird separat im Baum gespeichert.
• Höhere algorithmische Komplexität
☞ Wegen Konvexität i.d.R. aber noch O(log n) bei Testoperationen (Schnitt, Inklusion)
• Baumorganisation auch in den Knoten
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
4. Zugriffsstrukturen für komlpexe Objekte
180
O1
O
O2
Datenbanksysteme: Weiterführende Konzepte — FH Bonn-Rhein-Sieg, WS 05/06
181
Herunterladen