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