fh-hof der r-baum richard göbel. fh-hof r-baum - literatur a. guttman 1984: "r-trees: a...

39
FH-Hof Der R-Baum Richard Göbel

Upload: angelika-dylla

Post on 05-Apr-2015

108 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Der R-Baum

Richard Göbel

Page 2: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

R-Baum - Literatur

A. Guttman 1984:"R-Trees: A Dynamic Index Structure for Spatial

Searching”, Proc. ACM SIGMOD Conference, Boston,

pages 47 - 57, 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 kommerziellen

Datenbanksystemen in den letzten 10 Jahren

Page 3: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

R-Baum - Konzept

Ein Knotens des B-Baums repräsentiert ein

Segment einer sortierten Liste von Werten.

Ein Knoten des R-Baums repräsentiert

Segmente in sortierten Listen jeder Spalte

Column A

Column B

Page 4: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

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

Page 5: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Beispiel für einen zweidimensionale R-Baum

X

Y

Page 6: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

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.

Page 7: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

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

Page 8: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

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?

Page 9: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

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)

Page 10: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Aufteilen des Knotens

Ursprünglicher R-Baum führt drei Verfahren ein:

linearer Aufwand

quadratischer Aufwand

exponentieller Aufwand

Verfahren mit quadratischem Aufwand scheint

guter Kompromiss zu sein

Page 11: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Aufteilung eines Knotens- quadratisches Verfahren

Bestimme zwei Elemente als Startpunkte (Saat)

Idee: Wähle Elemente die auf keinen Fall in

einem Knoten enthalten sein sollten

Vergleiche dazu die minimalen Hyperquader für

je zwei Elemente

Wähle zwei Elemente mit dem größten

Hyperquader

Ordne die weiteren Elemente schrittweise zu

Ordne die offensichtlichen Elemente zuerst zu

Wähle die Zuordnung mit dem geringsten

zusätzlichen Raum

Page 12: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Wann ist eine Zuordnung offensichtlich?

Berechne für jedes Element:

den zusätzlichen leeren Raum bei Vergrößerung

des Hyperquaders der beiden neuen Knoten

die Differenz des leeren Raumes für die beiden

neuen Knoten

Element mit maximaler Differenz wird

zugeordnet

Page 13: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Beispiel: Aufspalten eines inneren Knotens

Page 14: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Finden der Startelemente

Page 15: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Bewertung eines Elements

104-9-4 = 91

32-6-9=17

91-17=74

Page 16: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Bewertung der anderen Elemente

91-17=74

85-24=61

90-24=66

86-38=48

Page 17: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Schrittweise Zuordnung der Elemente

85-38=47

64-29=35

60-38=22

24-19=5

54-38=16

19-15=4

Page 18: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Aufspalten eines Blatts - Spezialfall des bisherigen Verfahrens

110-6 = 104

96-5 = 91 72-7 = 65

30-30 = 0

48-35 = 13

50-24=26

40-40 = 0

80-15=65

60-8 = 52

121-4=117

104-6 = 98

94-5 = 89 68-7 = 61

30-26 = 4

44-35 = 9

46-24=22

40-36=4

80-11=69

60-12=48

94-4 = 90 68-8 = 60

26-24 = 2

44-29=15

46-18=28

36-34=2

74-11=63

54-12=52

68-4 = 64

26-20 = 6

44-25=19

46-30=16

36-30=6

70-11=59

50-12=38

26-16=10

44-21=23

46-42=4

42-36=6

66-11=55

70-12=58

64-16=48

48-21=27

42-34=8

42-24=18

66-24=42

48-20=28

50-34=16

50-24=26

50-24=2634-30=4

30-24=6

30-24=630-10=20

Page 19: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Minimalkapazität berücksichtigen

Verfahren garantiert keine gleichmäßige

Verteilung

Sonderbehandlung bei Unterschreitung der

minimalen Kapazität

Das Verfahren wird rechtzeitig abgebrochen

Die verbleibenden Elemente werden dem Knoten

mit der kleineren Anzahl von Elementen

zugeordnet

Ergebnis ist bei Abbruch nicht optimal!

Page 20: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Aufspalten eines Knoten: andere Verfahren

Verfahren mit linearen Aufwand

Wähle zwei Knoten bezüglich eines

vorgegebenen Kriteriums aus (mit einem

„Scan“)

Ordne die verbleibenden Knoten in beliebiger

Reihenfolge zu

Verfahren mit exponentiellem Aufwand

Überprüfe alle Verteilungen auf zwei Knoten

Aufwand im schlechtesten Fall: 2n-2

Page 21: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

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

Page 22: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Algorithmen für den R-Baum: Grundlagen

Darstellung von Hyperquadern für die

Suchregion und die Knoten der Indexstruktur

Volumen eines Hyperquaders

Überlappung von Hyperquadern

Umschreibender Hyperquader

Überlappungsbereich

Page 23: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Darstellung eines Hyperquaders

Ober- und Untergrenze

Volumen

[ , ]l uc c c ,1

,

ld

l

l d

c

c

c

,1

,

ud

u

u d

c

c

c

, ,[1, ]

u i l ii d

c c

Page 24: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Überlappung

[ , ], [ , ] :l u l u l u l ub b b c c c b c c b

Page 25: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Umschreibender Hyperquader

,1 ,1 ,1 ,1

, , , ,

min , max ,

, ,

min , max ,

l l u u

l u

l d l d u d u d

b c b c

a a

b c b c

Page 26: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Überlappungsbereich

,1 ,1 ,1 ,1

, , , ,

max , min ,

, ,

max , min ,

l l u u

l u

l d l d u d u d

b c b c

a a

b c b c

, , , ,[1, ] : max , min ,l i l i u i u ii d b c b c mit:

Page 27: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Verbesserung des R-Baums: Ideen

Vermeiden von Überlappungen durch

Aufteilung von Knoten (R+-Baum)

Optimierung der Form der Hyperquader mit

möglichst gleicher Ausdehnung in jeder

Dimension (R*-Baum)

Verfahren zur Auswahl eines Pfades

Verfahren zum Aufspalten eines Knotens

Effiziente Verfahren zum Aufspalten eines

Knotens (z.B. Verfahren von Ang und Tan)

Erzeugung eines optimalen R-Baums für eine

vorgegebene Menge von Einträgen

Page 28: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Vermeidung von Überlappungen durch Aufteilung von Knoten (R+-Baum)

Page 29: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

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)

Page 30: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Zuordnung eines Elements nach Ang und Tan

Überprüfe für jedes Element:

den Abstand des Untergrenze des Elements zu

der Untergrenze des übergeordneten Knotens

den Abstand der Obergrenze des Elements zu

der Obergrenze des übergeordneten Knotens

Ordne das Element entsprechend des

minimalen Abstands einer von zwei Mengen zu

Page 31: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

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

Page 32: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

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

?

Page 33: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

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

Page 34: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

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

Page 35: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

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: verschiedene

Top-Down: FH Hof

Page 36: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

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

Page 37: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Beispiel: Zuordnung über 2D-Hilbertkurve

Page 38: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

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)

Page 39: FH-Hof Der R-Baum Richard Göbel. FH-Hof R-Baum - Literatur A. Guttman 1984: "R-Trees: A Dynamic Index Structure for Spatial Searching, Proc. ACM SIGMOD

FH-Hof

Sort Tile Recursive - Beispiel