3 Zugriffsstrukturen fur spezielle Anwendung en Eindimensionaler

Werbung
3. Zugriffsstrukturen für spezielle Anwendungen
Anwendung: Verwaltung geometrischer Objekte
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
3. Zugriffsstrukturen für spezielle Anwendungen
Mehrdimensionaler Index
, sondern Tupel der
132
Mehrdimensionaler Index
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
133
Ebenso kann man unterscheiden zwischen mehrdimensionalen Datenstrukturen, die für den Arbeitsspeicher geeignet sind und solchen,
die für Peripheriespeicher geeignet sind.
Grundsätzlich stehen für Multikey-Indexing sowohl baumbasierte
Verfahren als auch auf Hashing basierende Verfahren zur Verfügung.
– wenn sie den Zugriff über mehrere Schlüssel ermöglicht,
– ohne einen bestimmten Schlüssel oder eine Schlüsselkombination
zu bevorzugen.
Man nennt eine mehrdimensionale Datenstruktur symmetrisch,
Bei Datenstrukturen für Multikey-Indexing strebt man nun an, daß
keiner der Teilschlüssel bevorzugt wird.
Mehrdimensionaler Index
Datenstrukturen für Multikey-Indexing
der (Gesamt-)Schlüssel,
ist der -te Teilist die mit dem Gesamtschlüssel assoziierte Infor-
Datenstrukturen für Multikey-Indexing (bzw. mehrdimensionale Datenstrukturen) unterstützen den Zugriff auf Datensätzen mit mehreren Schlüsselwerten.
D.h. man betrachtet nun nicht mehr Paare
mit
.
Form
Hierbei ist
schlüssel und
mation.
3. Zugriffsstrukturen für spezielle Anwendungen
Mehrdimensionaler Index
Zugriffsstruktur
3 Zugriffsstrukturen für spezielle Anwendungen
3000
5000
5123
Für einfache Datentypen sind klassische Indexierungstechniken ausreichend:
E
Abt.
4711
...
131
– B-Bäume und Varianten
– Hashing
Konventionelle Suchbäume gehen von einer totalen Ordnung auf
dem Indexbereich aus.
Peter
Vorname
2000
2345
1718
130
Beim Hashing geht diese Ordnung verloren, daher sind Bereichsanfragen nur schwierig behandelbar.
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
3. Zugriffsstrukturen für spezielle Anwendungen
Name
1718
Eindimensionaler Index
Becker
Tabelle Personal
P#
B
4711
Hans
Meier
...
1718
Select *
From Personal
Where P# = 4711
Datei
4711
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
Mehrdimensionaler Index
Bereichsanfrage (exact range query):
3. Zugriffsstrukturen für spezielle Anwendungen
3. Zugriffsstrukturen für spezielle Anwendungen
136
Mehrdimensionaler Index
$
!
#
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
137
Einfügen und Löschen von Objekten (ohne globale Reorganisation
und ohne Entartung)
In praktischen Fällen ist das Aufstellen einer geeigneten Distanzfunktion u.U. äußerst schwierig.
Suche aller Datensätze deren Schlüssel bezüglich einer Metrik um
nicht mehr als von einem gegebenen Schlüssel
abweichen.
Nachbarschaftsanfrage (neighbour query):
Suche aller Datensätze zu Teilschlüsselintervallen
Teilbereichsanfrage (partial range query):
Suche aller Datensätze zu Teilschlüsselintervallen
mit
und
.
.
"
"
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
Mehrdimensionaler Index
135
"
!
!
!
!
!
!
!
"!
#
134
3. Zugriffsstrukturen für spezielle Anwendungen
Mehrdimensionaler Index
Tabelle Denkmal
Zugriffsstruktur für (X,Y)
zweidim. Schlüssel
Mehrdimensionaler Index
$
?
Y
...
X
Name
1718
D#
6.99 50.93
Ulmer Münster 10.01 48.39
Kölner Dom
1718
Anfragearten
4711
Select *
From Denkmal
Where X between 6.5 and 7.5
and Y between 50.5 and 51.5
Datei
...
4711
Teilpunktanfrage (partial match query):
Suche aller Datensätze zu den gegebenen Teilschlüsseln
mit
und
.
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
3. Zugriffsstrukturen für spezielle Anwendungen
Punktanfrage (exact match query): Suche aller Datensätze zu den
Teilschlüsseln
, d.h. bestimme
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
Mehrdimensionaler Index
3. Zugriffsstrukturen für spezielle Anwendungen
Punktanfrage
Raumbezogene Verbunde (spatial joins):
3. Zugriffsstrukturen für spezielle Anwendungen
Objekte werden über einen mehrdimensionalen Schlüssel miteinander verbunden.
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
139
Anforderungen hierzu:
Erhaltung der topologischen Struktur
Mehrdimensionaler Index
140
Mehrdimensionaler Index
Anpassung an stark variierende Schlüssel-/Objektdichte
Dynamische Reorganisation
Geeignete Repräsentation der Objekte
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
141
Eine Zugriffsstruktur für die genannten Anfragearten kann als Abbildung
aufgefaßt werden, die die mehrdimensionalen Schlüssel auf einen linearen Speicherbereich zuordnet (Adressen der Seiten).
Anforderungen an die Objektabbildung
3. Zugriffsstrukturen für spezielle Anwendungen
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
Nachbarschaftsanfrage
Teilbereichsanfrage
Bereichsanfrage
Teilpunktanfrage
Mehrdimensionaler Index
138
Beispiel: Welche Tankstellen (rot) liegen nahe an einem Wasserschutzgebiet (grün)?
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
3. Zugriffsstrukturen für spezielle Anwendungen
Datensätze können aber auch die räumliche Ausdehnung eines Objektes beschreiben.
Anfragearten in diesem Zusammenhang sind:
Punktanfrage: Man finde alle Objekte, die einen Anfragepunkt
des Anfrageraums enthalten.
Gebietsanfrage: Gegeben ist ein Anfragegebiet. Man finde alle Objekte, die dieses Gebiet schneiden.
&
'
!
!
!
!
!
!
%
142
Mehrdimensionaler Index
143
&
Probleme:
3. Zugriffsstrukturen für spezielle Anwendungen
Mehrdimensionaler Index
sehr
Hoher Aufwand bei Einfüge-, Änderungs- und Löschoperationen, da
Indexstrukturen verwaltet werden müssen.
Insbesondere bei größerem eine ineffiziente Suche, da die
groß im Verhältnis zum Ergebnis sein können.
Der Aufwand ist linear in der Anzahl der Dimensionen.
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
kombinierte
eindim. Indexe
3. Zugriffsstrukturen für spezielle Anwendungen
zusammeng.
eindimen.
Index
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
mehrdimen.
Index
Idealfall
145
Mehrdimensionaler Index
144
Integritätsbedingungen wie UNIQUE für den Gesamtschlüssel
können nicht äquivalent definiert werden.
Vermehrte Sperren, da mehr Blöcke gelesen werden müssen.
&
Mehrdimensionaler Index
(
)
3. Zugriffsstrukturen für spezielle Anwendungen
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
Effizienz bei Bereichsanfragen
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
3. Zugriffsstrukturen für spezielle Anwendungen
&
– Dann berechnet man zunächst für jedes Teilschlüsselintervall
die darin enthaltenen Datensätze.
Prinzipiell besteht die Möglichkeit,
– statt einer -dimensionalen Datenstruktur
– eindimensionale Datenstrukturen zu verwenden und
– die Ergebnisse durch Schnittmengenbildung zu bestimmen.
Genauer:
– Man verwendet für jeden Teilschlüssel eine Datenstruktur
(z.B.
einen B-Baum).
– Gegeben sei beispielsweise eine Bereichsanfrage durch die Teilschlüsselintervalle
.
– Das Ergebnis erhält man nun durch eine Schnittmengenbildung
über die :
Weitere Möglichkeit: Indexkonkatenation
3. Zugriffsstrukturen für spezielle Anwendungen
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
Geometrische Zugriffsstrukturen
146
Ineffizient für Bereichsanfrage, nicht praktikabel für Teilpunkt- oder
Teilbereichsanfrage
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
3. Zugriffsstrukturen für spezielle Anwendungen
)
Geometrische Zugriffsstrukturen
häufig große Anzahl geometrischer Objekte (
Eigenschaften geometrischer Objekte:
*,+
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
147
– Geometrie
– abgeleitete geometrische Attribute zur Unterstützung von Anfragen,
– z.B. minimales umschreibendes Rechteck (minimum bounding
rectangle)
– nichtgeometrische Attribute
Anwendungen:
3. Zugriffsstrukturen für spezielle Anwendungen
– Geoinformationssysteme
– CAX-Anwendungen
– 3D-Simulationen
Zugriff primär über Geometriedaten:
Geometrische Zugriffsstrukturen
148
Geometrische Zugriffsstrukturen
– Suchfenster (Bereichsanfrage)
– Zugriff auf benachbarte Objekte (Nachbarschaftsanfrage)
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
3. Zugriffsstrukturen für spezielle Anwendungen
Klassifikation Geometrischer Zugriffsstrukturen
149
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 Datenraumes
”Divide and Conquer” oder Dimensionsverfeinerung
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
3. Zugriffsstrukturen für spezielle Anwendungen
Geometrische Zugriffsstrukturen
Baumorientierte Verfahren
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
150
Geometrische Zugriffsstrukturen
Baumstruktur entsteht durch Verfeinerung der Regionen
Speicherung der Objekte in der Blattebene
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
3. Zugriffsstrukturen für spezielle Anwendungen
Freiheitsgrade:
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?
151
Orginalgeometrie oder abgeleitete Geometrie für die Repräsentation
der Objekte bzw. bei der Suche?
Grad des Baumes und Organisation
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
3. Zugriffsstrukturen für spezielle Anwendungen
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).
Treffer
Falschalarm
Laden der Objekte
Anfrage auf
das Objekt
Verfeinerung
153
Geometrische Zugriffsstrukturen
152
Dieses Vorgehen bietet sich auch an, wenn die Anfrage sowohl geometrische als auch nicht-geometrische Bedingungen enthält.
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
3. Zugriffsstrukturen für spezielle Anwendungen
Anfrage
Geo−Index
Kandidatenmenge
Ergebnis
Filterung
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
3. Zugriffsstrukturen für spezielle Anwendungen
Geometrische Zugriffsstrukturen
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)
NO
C
A
NW
20 60
60 40
SW
45 30
SO
E
90 10
154
Geometrische Zugriffsstrukturen
D
Geometrische Zugriffsstrukturen
Bearbeitung von Punktanfragen durch Abstieg im Baum
3. Zugriffsstrukturen für spezielle Anwendungen
Bereichsanfrage: u.U. Absteig in verschiedene Richtungen notwendig
Beispiel: Tafel ✎
Es kann keine Balancierung gewährleistet werden.
Löschen ist schwierig
über
Geometrische Zugriffsstrukturen
156
Keine Erhaltung der topologischen Struktur, daher nicht für den Peripheriespeicher geeignet
nur für Punktdaten geeignet
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
3. Zugriffsstrukturen für spezielle Anwendungen
Teilschlüsseln
k-d-Baum
zusammengesetzter Schlüssel aus
Auf jeder Baumebene entscheidet ein anderer Teilschlüssel
die Partitionierung.
#
Die Reihenfolge der Auswahl der Teilschlüssel ist beliebig. Meistens
mod
-
Durch rekursive Anwendung dieses Prinzips stellt sich eine rekursive
Partitionierung des Datenraums ein.
F
B
75 70
45 85
40 80
rekursive Partitionierung des Datenraums
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
157
Jeder Knoten hat zwei Nachfolger, der den Datenraum gemäß des
Teilschlüssels der Baumebene unterteilt.
Jedes Objekt wird durch einen Knoten repräsentiert.
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
G
B
F
G
0
3. Zugriffsstrukturen für spezielle Anwendungen
C
A
E
X
155
Y
40
D
60
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
-/.
#
C
G
F
A
B
E
3. Zugriffsstrukturen für spezielle Anwendungen
Y
40
D
60
D
X
C
X
30 60
45 30
G
A
Y
B
Y
45 85
60 40
F
40 70
Probleme analog zum Quadranten-Baum
Tafel ✎
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
3. Zugriffsstrukturen für spezielle Anwendungen
X
E
Y
90 10
X
Geometrische Zugriffsstrukturen
75 70
X
158
Geometrische Zugriffsstrukturen
Zugriffspfade für räumlich ausgedehnete Objekte
Bisher nur Datenstrukturen für Punktdaten
Punktidealisierung für räumlich ausgedehnte Objekte ist problematisch
Man benutzt approximative Darstellungen für die räumliche Ausdehnung.
Bei den Such- und Verfeinerungsschritten müssen Objektdichte und
-ausdehnung in Einklang gebracht werden.
159
Ansätze: Transformation (object mapping), überlappende Regionen
(object bounding), Clipping (object duplication)
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
3. Zugriffsstrukturen für spezielle Anwendungen
R-Baum
Geometrische Zugriffsstrukturen
Verallgemeinerung des B-Baum-Prinzips auf mehrere Dimensionen
Räumliche Objekte werden durch -dimensionale Rechtecke approximiert.
Die Aufteilung der Regionen erfolgt in nichtdisjunkte Rechtecke.
R11
R5
R14
R13
R3 R4 R5
R17
R18
R19
R7
R13R14
R1 R2
R6 R7
R15 R16
R17R18R19
161
Geometrische Zugriffsstrukturen
Jedes Geoobjekt ist eindeutig einem Blatt zugeordnet.
R4
R9
R10
R12
R6
R8 R9 R10 R11R12
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
3. Zugriffsstrukturen für spezielle Anwendungen
R1
R3
R8
R16
Veranschaulichung R-Baum:
R2
R15
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
160
Die Baumwurzel entspricht einem Rechteck, das alle geometrischen
Objekte umfaßt.
3. Zugriffsstrukturen für spezielle Anwendungen
Geometrische Zugriffsstrukturen
Definition R-Baum: Ein R-Baum ist ein Baum der folgenden Art:
3. Zugriffsstrukturen für spezielle Anwendungen
Geometrische Zugriffsstrukturen
Suchen in R-Bäumen (Bereichsanfrage)
Es sei
überprüft,
angewendet.
in
Falls ja, dann wird der Suchalgorithmus rekursiv auf
Bei Überlappung ist
Beispiel: Tafel ✎
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
3. Zugriffsstrukturen für spezielle Anwendungen
in
Geometrische Zugriffsstrukturen
eingefügt werden soll.
Einträge vorhanden sind, dann füge
in den
Einfügen in R-Bäume
Wähle einen Blattknoten
164
Man beachte, daß u.U. mehrere Pfade durchsucht werden müssen.
ein gesuchter Eintrag.
auf Überlap-
:
Wenn ein Blatt ist, wird ebenfalls für jeden Eintrag
pung geprüft.
;
die Wurzel des R-Baums.
Alle Blätter haben gleiche Höhe.
. Dabei
Wenn kein Blatt ist, dann wird für jeden Eintrag
ob
sich mit überlappt.
des Baumes enthält Einträge der Form
Einträge.
162
ist ein -dimensionaler Quader der Form
. Dabei
ist das kleinste Quader, das die nachfolgenden Objekte vollständig
beinhaltet.
Jeder Knoten außer der Wurzel hat mindestens
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
Geometrische Zugriffsstrukturen
;
:
Die Blätter enthalten Verweise auf Datenobjekte.
Jeder Knoten
ist
3
67
– bei inneren Knoten ein Verweis auf einen Nachfolgerknoten und
– bei Blättern ein Verweis auf ein Datenobjekt.
&
3. Zugriffsstrukturen für spezielle Anwendungen
Einträge.
;
3
Jeder Knoten hat höchstens
<
weniger als
;
;
;
21
1
:
Wenn in
ein.
9
5
1
Ansonsten splitte .
=
=
9
165
Falls gesplittet wurde, nehme man einen zusätzlichen Eintrag im
Vater von auf und passe die umgebenden Quader entsprechend
an. Die Splits können sich ebenfalls bis zur Wurzel fortpflanzen.
Man passe im Vater von in dem entsprechenden Eintrag evtl. den
umgebenden Quader an. Dies kann sich bis zur Wurzel hin fortpflanzen.
=
4
;
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
=
Die Wurzel hat mindestens zwei Einträge, außer sie ist ein Blatt.
163
=
&
1
:
=
&
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
=
21
8
1
R2
3. Zugriffsstrukturen für spezielle Anwendungen
R1
RNeu
Geometrische Zugriffsstrukturen
Erschöpfende Suche ist zu aufwendig.
3. Zugriffsstrukturen für spezielle Anwendungen
Geometrische Zugriffsstrukturen
Typischerweise Verwendung von heuristischen Ansätzen:
#
Löschen
in .
#
enthält (stren-
Geometrische Zugriffsstrukturen
168
?
Rechtecke. Auch lineare Heuristik möglich.
3. Zugriffsstrukturen für spezielle Anwendungen
Man lösche den Eintrag
=
169
Man füge die gelöschten Einträge in wieder in den Baum ein. Hierbei müssen Einträge, die von inneren Knoten stammen, auf die entsprechende Ebene eingefügt werden.
Man führe dieses Verfahren fort bis zur Wurzel.
A
☞ Füge in den Unterbaum
ein, dessen umschließendes Rechteck am
geringsten
erweitert
werden muß.
1. Finde die beiden Rechtecke, deren umschließendes Rechteck am
größten ist. Diese beiden Rechtecke definieren zwei Gruppen
.
2. Berechne für alle übrigen Rechtecke die Flächenzuwächse
für die Gruppen
.
3. Nehme das Rechteck, für das
am größten ist. Füge es in
die Gruppe ein, für die kleiner ist.
4. Man wiederhole die Schritte 2. bis 4., bis alle Rechtecke verteilt
sind.
für
#
.
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
Aufwand:
>
Falls nun weniger als
Einträge enthält, nehme man die verbleibenden Einträge in eine Menge auf und lösche komplett.
=
166
#
?
?
8
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
Geometrische Zugriffsstrukturen
>
4
>
Suche das Blatt , das den zu löschenden Eintrag
geres Suchkriterium).
=
3. Zugriffsstrukturen für spezielle Anwendungen
Splitting von Knoten
Guter Split
?
>
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
A
Schlechter Split
167
☞ Versuche heuristisch die entstehende Gesamtfläche zu minimieren.
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
@
#
;
;
4
?
=
3. Zugriffsstrukturen für spezielle Anwendungen
Diskussion R-Bäume
Geometrische Zugriffsstrukturen
Rechteck kann von vielen Regionen überlappt werden, ist aber genau in einer gespeichert.
Selbst Punktanfragen können eine Suche in vielen Rechteckregionen bedeuten.
Einfügen erfordert oft Vergrößern von Regionen.
Löschen ist unhandlich.
170
R-Bäume sind heute ein Standard-Datenstruktur zur Speicherung
raumbezogener Objekte.
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
Geometrische Zugriffsstrukturen
3. Zugriffsstrukturen für spezielle Anwendungen
R -Baum:
3. Zugriffsstrukturen für spezielle Anwendungen
R -Baum
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
Geometrische Zugriffsstrukturen
Geometrische Zugriffsstrukturen
172
Die Minimierung beider Größen ist für die Leistungsfähigkeit des RBaums von großer Bedeutung.
Minimale Überdeckung reduziert die Menge des toten Raumes und
schränkt so den Suchraum ein.
Überdeckung: gesamter Bereich, der erforderlich ist, um alle vorhandenen Rechtecke dieser Ebene zu überdecken.
Minimale Überlappung schränkt die Menge der Suchpfade von der
Wurzel zu den Blättern für einen Punkt des Raumes ein.
Überlappung: gesamter Bereich einer Ebene, der in zwei oder mehr
Knoten dieser Ebene enthalten ist.
C
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
173
☞ Erstreckt sich beim Einfügen ein Objekt über mehrere Regionen,
wird es zerlegt und in mehreren Blättern abgelegt (clipping).
☞ Ebenso auf höheren Ebenen.
Konsequenz: Für einen Punkt des Raums gibt es einen eindeutigen
Pfad von der Wurzel zu einem Blatt.
☞ Jedem Punkt des geometrischen Bereichs ist eindeutig ein Blatt zugeordnet.
☞ Vermeidung von Überlappung durch disjunkte Aufteilung in Regionen
B
3. Zugriffsstrukturen für spezielle Anwendungen
Ein Vorteil ist, daß raumbezogene Objekte direkt dargestellt werden
können.
171
Es ist keine Transformation in einen höherdimensionalen Raum notwendig (z.B. Darstellung zweidimensionale Quadrate als dreidimensionale Punkte).
Erweiterungen von R-Bäumen sind R -Bäume und Zell-Bäume.
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
B
F
E
M
P
G
H
L
J
K
I
B
D
E
I
F
J
G
K
A
C
P
M
N
G
H
Geometrische Zugriffsstrukturen
B
L
3. Zugriffsstrukturen für spezielle Anwendungen
C
3. Zugriffsstrukturen für spezielle Anwendungen
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
für die
Anzahl der Einträge in Blattknoten kann nicht garantiert werden.
I3
I3
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
I2
I2
I4
Split
Diskussion R -Bäume
Einfügen von Rechtecken
erfordert
möglicherweise Modifikation mehrerer
Regionen.
Objekte müssen in mehreren Regionen gespeichert
werden.
erhöhter Speicher- und
Modifikationsaufwand.
D
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
3. Zugriffsstrukturen für spezielle Anwendungen
A
D
N
C
174
Geometrische Zugriffsstrukturen
☞ Clipping kann bei R Bäumen auch zur Reduzierung der Überdeckung
eingesetzt werden.
175
9
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
3. Zugriffsstrukturen für spezielle Anwendungen
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
B
Ineu
I1
Geometrische Zugriffsstrukturen
Ineu
I1
176
I2
Geometrische Zugriffsstrukturen
I1
Ineu
I3
177
3. Zugriffsstrukturen für spezielle Anwendungen
Zell-Baum
Geometrische Zugriffsstrukturen
Der Zell-Baum (Cell-Tree) basiert auf konvexen Polygonen statt auf
Rechtecken. Hierdurch wird eine bessere Approximation der Objekte
erreicht.
☞ Minimierung der Überdeckung
4
179
Geometrische Zugriffsstrukturen
178
bei Testoperationen
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
(Schnitt, Inklusion)
Baumorganisation auch in den Knoten
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
3. Zugriffsstrukturen für spezielle Anwendungen
Mögliche Ausprägung eines Zell-Baums:
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
2E
F
G
@
Geometrische Zugriffsstrukturen
O1
180
Geometrische Zugriffsstrukturen
O2
Zerlegung eines nicht konvexen Objektes in eine konvexe Kette:
3. Zugriffsstrukturen für spezielle Anwendungen
O
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
3. Zugriffsstrukturen für spezielle Anwendungen
B
D
H4
C
E
H3
A
H2
B
H1
C
H3
D
H4
E
Ein Knoten im Zellbaum ist als Binary Space Partition Tree (BSP-Tree)
aufgebaut:
H2
A
H1
181
Algorithmen zur Verwaltung von Zell-Bäumen:
✎ Punkt in Polygon (nicht-konvex, konvex), Plane-sweep, Schnitt konvexer Polygone
Intelligentes Datenmanagement — FH Bonn-Rhein-Sieg, SS 03
Herunterladen