Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Der R-Baum Richard Göbel.

Ähnliche Präsentationen


Präsentation zum Thema: "Der R-Baum Richard Göbel."—  Präsentation transkript:

1 Der R-Baum Richard Göbel

2 Verallgemeinerte Suchanfragen
Form der Suchanfrage al1  column1  au1 AND al2  column2  au2 . . . AND ald  columnd  aud Werte der relevanten Spalten sind total geordnet (praktisch immer der Fall) Weitere Analyse ausschließlich mit Zahlen (o.B.d.A)

3 Einträge als Punkte im mehrdimensionalen Raum

4 Suchbereich im mehrdimensionalen Raum
2  X  4 AND 2  Y  3

5 Grundlagen einer Indexstruktur
Form der Suchregion Rechteck für zwei Dimensionen Quader für drei Dimensionen Hyperquader für vier oder mehr Dimensionen Knoten der Indexstruktur repräsentieren ebenfalls Regionen im mehrdimensionalen Raum Die Region eines Knoten enthält die Regionen aller Kinder Verwendung kompatibler Regionen für die Knoten der Indexstruktur (Hyperquader)

6 Beispiel für einen zweidimensionale Index
Y X

7 Basis für ein Suchverfahren
Start an der Wurzel der Indexstruktur Suche an Kinderknoten fortsetzen deren Region sich mit der Suchregion überlappt Ausgehend von den Blattknoten wird die Suchbedingung für die Einträge überprüft

8 Wann überlappen sich zwei Regionen?
Region a: al1  c1  au1   ald  cd  aud Region b: Notwendige und hinreichende Bedingung für die Überlappung: Jede Untergrenzen der Dimension einer Region muss kleiner oder gleich der Obergrenze der zugehörigen Dimension der anderen Region sein. al1  bu1  bl1  au1   ald  bud  bld  aud

9 Viele Verbesserungen und Erweiterungen, z.B.:
R-Baum A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching”, Proc. ACM SIGMOD Conference, Boston, pages , 1984 Viele Verbesserungen und Erweiterungen, z.B.: 1987: Sellis, Roussopoulos, Faloutsos: R+-Tree 1990: Beckmann, Kriegel, Schneider, Seeger: R*-tree 1996: Berchtold, Keim, Kriegel: X-Tree: 1997: Leutenegger, Edgington, Lopez: STR Tree Packing Verschiedene Implementierungen in Datenbanksystemen in den letzten 10 Jahren

10 Eigenschaften des R-Baums
Baum mit Verzweigungsgrad größer als 2 Knoten des Baumes werden Blöcken der Festplatte zugeordnet Der R-Baum ist vollständig balanciert Algorithmen für das Einfügen und Löschen sind ähnlich wie beim B-Baum Suchverfahren entspricht dem allgemeinen Suchansatz

11 Einfügen eines Punktes
Bestimme mit Hilfe des Suchverfahrens ein Blattknoten für den neuen Punkt. Falls verschiedene Pfade existieren (aufgrund von Überlappungen) dann wähle einen Pfad aus. Falls kein passender Nachfolger bei der Suche gefunden wird: Vergrößere den Hyperquader für den Nachfolger für den die Vergrößerung minimal ist. Falls ein Blattknoten nicht mehr ausreichend Kapazität enthält: Spalte den Knoten und ggf. Elternknoten auf.

12 Lösche den Punkt aus einem Blattknoten.
Löschen eines Punktes Bestimme mit Hilfe des Suchverfahrens alle Blattknoten für den zu löschenden Punkt Lösche den Punkt aus einem Blattknoten. Verkleinere bei Bedarf alle Hyperquader auf dem Pfad zu dem betroffenen Blattknoten. Unterschreitet der Blattknoten die minimale Anzahl von Elementen, dann lösche diesen Blattknoten: verteile die Einträge auf Geschwisterknoten oder füge die betroffenen Punkte neu ein

13 Optionen für die Implementierung
Auswahl eines Pfades für das Einfügen Aufteilen eines Knotens Verteilen der Einträge für das Löschen eines Knotens Reorganisation eines Baums?

14 Kriterien für die Optimierung eines R-Baums
Überlappungen: Anzahl der Überlappungen minimieren Volumen der Überlappungen minimieren Volumen der Knoten minimieren Abweichungen der Hyperquader von Hyperwürfeln minimieren (gleiche Ausdehnung aller Dimensionen)

15 Lineares Verfahren zum Aufspalten eines Knotens nach Ang und Tan
Aufspaltung erfolgt bezüglich einer Dimension Zunächst wird die Aufteilung für jede Dimension getestet Wähle die günstigste Dimension: Differenz der Anzahl von Elementen in den beiden neuen Knoten ist klein (Priorität 1) Überlappung zwischen den beiden neuen Knoten ist gering (Priorität 2) Volumen der neuen Knoten ist gering (Priorität 3)

16 Beispiel für das Verfahren nach Ang und Tan - Teil 1

17 Beispiel für das Verfahren nach Ang und Tan - Teil 2

18 Beispiel für das Verfahren nach Ang und Tan - Teil 3

19 Beispiel für das Verfahren nach Ang und Tan - Teil 4

20 Erweiterung der R-Baums für Regionen
In den Baum werden statt Punkte vollständige Hyperquader eingefügt Anpassung der Verfahren offensichtlich Interessant für räumlich ausgedehnte Daten Statt 2d Dimensionen werden nur d Dimensionen benötigt

21 Erzeugung eines „optimalen“ R-Baums
Analyse einer festen Datenmenge Erzeugung eines R-Baums für diese Datenmenge Optimierung bezüglich eines vorher festgelegtem Kriteriums Typen von Verfahren: Bottom-Up Top-Down

22 Ordne die einzelnen Punkte den Blättern eines R-Baums zu
Bottom-Up-Verfahren Ordne die einzelnen Punkte den Blättern eines R-Baums zu Erzeuge aus den Blättern schrittweise die weiteren Knoten der Indexstruktur Zuordnung von Punkten zu Blättern: über Sortierfunktion (Interleaving, Hilbertkurve, etc.) Sort Tile Recursive

23 Beispiel: Zuordnung über 2D-Hilbertkurve

24 Sort Tile Recursive - Ansatz
Idee: Teile jede Dimension in etwa gleich viele Teile auf (Gitterstruktur) Beispiel: Teile eine zweidimensionale Struktur zunächst in (n/v) Segmente auf (v: Kapazität) Sortiere die Einträge bezüglich der ersten Dimension und verteile die Einträge auf die Segmente Teile entsprechend jedes Segment in (n/v) Blattknoten auf (Sortierung bezüglich der zweiten Dimension)

25 Sort Tile Recursive - Beispiel


Herunterladen ppt "Der R-Baum Richard Göbel."

Ähnliche Präsentationen


Google-Anzeigen