20.11.2013 Aufrufe

Obj - Database Systems Group

Obj - Database Systems Group

Obj - Database Systems Group

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

2.5 Bewertung von Methoden zur Ähnlichkeitssuche<br />

2.6 Bewertung von Methoden zur<br />

Ähnlichkeitssuche<br />

– Fragestellung<br />

• Anfragebearbeitung in metrischen Räumen oder Vektorräumen<br />

• Gesucht: Feature-Transformation zur Umwandlung komplexer<br />

STMM-<strong>Obj</strong>ekten in metrische <strong>Obj</strong>ekte/Featurevektoren<br />

• Wie gut drückt die Feature-Transformation die Ähnlichkeit der<br />

realen <strong>Obj</strong>ekte aus, d.h. wie gut approximiert die Distanz im<br />

Feature-Raum die Distanz im <strong>Obj</strong>ektraum?<br />

• Bewertung von Methoden zur Ähnlichkeitssuche<br />

(„Ähnlichkeitsmodelle“)<br />

– Testset von <strong>Obj</strong>ekten<br />

– Stelle für alle <strong>Obj</strong>ekte des Testsets Ähnlichkeitsanfragen (typischerweise<br />

k-NN-Queries)<br />

– Evaluiere das Ergebnis dieser Anfragen<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 141


2.5 Bewertung von Methoden zur Ähnlichkeitssuche<br />

– <strong>Obj</strong>ekte mit bekannten Kategorien<br />

• <strong>Obj</strong>ekte sind in Kategorien eingeteilt und entsprechend markiert<br />

(z.B. „Schrauben“, „Nägel“, „Bolzen“, …), d.h. Ergebnis der<br />

Anfragen ist bekannt<br />

• Übersicht<br />

erwünscht unerwünscht<br />

gefunden richtig positive (rp) falsch positive (fp)<br />

nicht gefunden falsch negative (fn) richtig negative (rn)<br />

• Recall (Sensitivität): Wie viele der erwünschten <strong>Obj</strong>ekte wurden<br />

gefunden?<br />

rp<br />

rp + fn<br />

gefundene erwünschte <strong>Obj</strong>ekte<br />

=<br />

alle erwünschten <strong>Obj</strong>ekte<br />

• Precision: Wie viele der gefundenen <strong>Obj</strong>ekte sind erwünscht?<br />

rp<br />

rp + fp<br />

gefundene erwünschte <strong>Obj</strong>ekte<br />

=<br />

alle gefundenen <strong>Obj</strong>ekte<br />

• Spezifität: WS, dass Test für unerwünschtes <strong>Obj</strong>. negativ verläuft<br />

rn richtig negativ<br />

=<br />

rn + fp alle unerwünschten <strong>Obj</strong>ekte<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 142


2.5 Bewertung von Methoden zur Ähnlichkeitssuche<br />

– <strong>Obj</strong>ekte mit unbekannten Kategorien<br />

• Ergebnis der Anfragen ist unbekannt<br />

• Manuelle Evaluation weniger zufälligen k-NN-QueriesQ<br />

• Problem: Qualität des Modells hängt ab von<br />

– einer geringen Anzahl von Query-<strong>Obj</strong>ekten<br />

» Besser: möglichst alle <strong>Obj</strong>ekte der DB spielen eine Rolle bei der Evaluation<br />

– der Wahl dieser Query-<strong>Obj</strong>ekte<br />

» Schlechtes Anfrageergebnis für gegebenes q bedingt nicht schlechtes Modell<br />

» Gutes Anfrageergebnis für gegebenes q bedingt nicht gutes Modell<br />

Model 1:<br />

Model 4:<br />

(query object)<br />

Model 2:<br />

(query object)<br />

(query object)<br />

Model 5:<br />

Model 3:<br />

(query object)<br />

(query object)<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 143


2.5 Bewertung von Methoden zur Ähnlichkeitssuche<br />

• BOSS (Browsing OPTICS-plots for Similarity Search)<br />

[Brecheisen, Kriegel, Kröger, Pfeifle. Proc. SIAM Int. Conf. Data Mining (SDM), 2004]<br />

– Idee: benutze Data Mining Methoden<br />

– Clustering<br />

» Fasse <strong>Obj</strong>ekte in Gruppen zusammen, sodass die <strong>Obj</strong>ekte in einer Gruppe<br />

(Cluster) ähnlich, <strong>Obj</strong>ekte aus verschiedenen Clustern unähnlich sind<br />

» Hierarchisches Clustering: erstelle eine Hierarchie von ähnlichen <strong>Obj</strong>ekten<br />

– Clustererkennung und Clusterrepräsentation<br />

» Erkenne automatisch geeignete Cluster in der Hierarchie<br />

» Stelle jeden Cluster durch einen geeigneten Repräsentanten dar<br />

– Evaluation/Retrieval<br />

t i l<br />

» Hierarchie von Clusterrepräsentanten ist navigierbar<br />

» Evaluation der Cluster um Ähnlichkeitsmodell zu evaluieren<br />

» Ähnlichkeits-basierte Suche nach <strong>Obj</strong>ekten ohne konkretes Anfrageobjekt<br />

angeben zu müssen<br />

Hierarchisches Clustering<br />

Feature-transformierte <strong>Obj</strong>ekte<br />

Navigierbare Hierarchie von<br />

Clusterrepräsentanten<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 144


Kapitel 3<br />

Anfragen auf räumlichen <strong>Obj</strong>ekten<br />

Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s<br />

Sommersemester 2013, LMU München<br />

© 2007 Prof. Dr. Hans-Peter Kriegel, Dr. Peer Kröger, Dr. Peter Kunath, Dr. Matthias Renz, Arthur Zimek


3. Ähnlichkeitssuche in räumlichen <strong>Obj</strong>ekten<br />

Übersicht<br />

3.1 Schnittanfragen räumlicher <strong>Obj</strong>ekte<br />

• Raumpartitionierende Anfrage-Methoden<br />

• Datenpartitionierende Anfrage-Methoden<br />

3.2 Ähnlichkeitssuche in räumlichen <strong>Obj</strong>ekten<br />

• Invarianten<br />

• Räumliche Partitionierungen<br />

• Räumliche Features<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 146


3.2 Ähnlichkeitsmodelle für räumliche <strong>Obj</strong>ekte<br />

3.1 Schnittanfragen räumlicher <strong>Obj</strong>ekte<br />

– Allgemeines<br />

• Unter räumlichen <strong>Obj</strong>ekten verstehen wir <strong>Obj</strong>ekte mit<br />

räumlichem Bezug (Lage im Raum) und räumlicher<br />

Ausdehnung.<br />

• Räumliche <strong>Obj</strong>ekte können neben den räumlichen Attributen<br />

auch nicht-räumliche Attribute enthalten, wie z.B. <strong>Obj</strong>ekt-ID,<br />

Bezeichnung, Farbe, Material, etc.<br />

• Beispiele von räumlichen <strong>Obj</strong>ekten:<br />

y<br />

y<br />

(0) x (0,0) x<br />

z<br />

(0,0,0)<br />

x<br />

Zeitintervalle (1D) Stadtregionen, Landflächen (2D) Flugzeugteile, Autoteile (3D)<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 147


3.1.3 Räumliche Anfragen<br />

– Anfragen auf räumlich ausgedehnten <strong>Obj</strong>ekten<br />

(GEO-<strong>Obj</strong>ekte, CAD-<strong>Obj</strong>ekte)<br />

Bereichsanfragen in<br />

GEO Datenbanken:<br />

Welche Strassen durchlaufen das<br />

ausgewählte Fenster?<br />

Schnittanfragen:<br />

Welche Maschinenteile<br />

haben direkten Kontakt mit<br />

der vorderen rechten<br />

Bremsscheibe?<br />

Räumliche Selektion:<br />

Welche Bauteile befinden sich in der angegebenen Anfragebox?<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 148


3.1.3 Räumliche Anfragen<br />

• Gegeben:<br />

Menge mit räumlich ausgedehnten <strong>Obj</strong>ekten<br />

• Zu unterstützende Anfragen:<br />

Q<br />

Q<br />

R<br />

Punkt-Anfrage Schnitt-Anfrage Fenster-Anfrage<br />

Gegeben ein Anfragepunkt P, ein Anfrageobjekt Q, bzw. ein<br />

Anfragerechteck R (2D)<br />

– Punkt-Anfrage: Finde die <strong>Obj</strong>ekte, die P enthalten.<br />

– Schnitt-Anfrage: Finde die <strong>Obj</strong>ekte, die Q schneiden.<br />

– Fenster-Anfrage: Finde die <strong>Obj</strong>ekte, die R schneiden.<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 149


3.1.3 Räumliche Anfragen<br />

• Zu unterstützende Anfragen (Forts.)<br />

– Räumliche Verbund-Anfrage (Spatial Join)<br />

Gegeben:<br />

Zwei Mengen M={<strong>Obj</strong> M,1 ,..,<strong>Obj</strong> M,m },<br />

N={<strong>Obj</strong>{ N1 N,1 ,<strong>Obj</strong> j Nn N,n } räumlich<br />

ausgedehnter <strong>Obj</strong>ekte<br />

Spatial Join:<br />

Finde die Menge von <strong>Obj</strong>ekt-Paaren<br />

{(<strong>Obj</strong> 1 ,<strong>Obj</strong> 2 ) | <strong>Obj</strong> 1 ∈M, <strong>Obj</strong> 2 ∈N und <strong>Obj</strong> 1 schneidet <strong>Obj</strong> 2 }.<br />

Auch andere räumliche Prädikate möglich, z.B.<br />

» andere Topologien wie enthalten-in<br />

» Distanz-basierte Anfragen<br />

» etc.<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 150


3.1.3 Räumliche Anfragen<br />

– Ziele:<br />

• Effektivität<br />

– Verwaltung von (komplex strukturierten) geometrischen <strong>Obj</strong>ekten<br />

– räumliche Anfragebearbeitung<br />

• Effizienz<br />

– kurze Antwortzeiten für Anfragen<br />

– schnelles Einfügen, Ändern und Entfernen<br />

• Skalierbarkeit<br />

– Verwaltung sehr großer Datenmengen<br />

– Anbindung vieler Benutzer<br />

Reduzierung der Beschreibungskomplexität (d.h. einfachere<br />

Darstellung der <strong>Obj</strong>ekte)<br />

Verwendung geeigneter Zugriffsstrukturen<br />

Mehrstufige Anfragebearbeitung<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 151


3.1.2 CAD-Daten<br />

– Repräsentation Räumlicher <strong>Obj</strong>ekte<br />

• Typischerweise sind räumlich ausgedehnte <strong>Obj</strong>ekte als<br />

geschlossener Kantenzug (2D) oder durch geschlossene<br />

triangulierte Oberflächen beschrieben.<br />

Kantenzug<br />

triangulierte Oberfläche<br />

• Für effiziente Anfragen werden in einem Filterschritt zunächst<br />

räumliche Approximationen der <strong>Obj</strong>ekte verwendet<br />

• Raumpartitionierende Verfahren<br />

– Repräsentationen durch feste Raumpartitionsgrenzen definiert<br />

• Datenpartitionierende Verfahren<br />

– Repräsentationen durch die räumliche Ausdehnung der Daten definiert<br />

i<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 152


3.1.2 CAD-Daten<br />

311 3.1.1 Raumpartitionierende Anfrage-Methoden<br />

• Ausgangslage: Voxel-basierte <strong>Obj</strong>ektbeschreibung (Raster-<br />

Modell)<br />

– Bei der Voxel-basierten Zerlegung wird ein Körper in eine Menge<br />

identischer Zellen (i.d.R. Würfel) zerlegt, die auf einem festen<br />

regelmäßigen Gitter angeordnet sind.<br />

– Beispiel (3D):<br />

– Beschreibung der <strong>Obj</strong>ekte (des <strong>Obj</strong>ektraums) durch drei-dimensionales<br />

dimensionales<br />

ARRAY [...][...][...] OF BOOLEAN (oder seltener eine Liste belegter Zellen)<br />

– Anwendungen:<br />

» Computer Tomographie, Virtual Engineering (CAD), etc.<br />

Nachteil:<br />

genaue Approximation mit hohem Speicherplatzaufwand verbunden<br />

(Auflösung: n Voxel pro Dimension Speicherplatzaufwand p = n 3 )<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 153


3.1.2 CAD-Daten<br />

• Octree-basierte <strong>Obj</strong>ektrepräsentation:<br />

– Hierarchische Variante der Voxel-basierten Zerlegung<br />

– Idee:<br />

» hierarchische binären Unterteilung in Quadranten/Oktanten;<br />

» Darstellung durch größte Quadranten die vollständig gefüllt sind.<br />

Voxel-basierte Zerlegung<br />

Octree (Quadtree) Zerlegung<br />

– Vorteil:<br />

» große einheitliche Flächen/Volumen Anteile werden über wenig große<br />

Partitionen (Quadranten/Oktanten) repräsentiert.<br />

» Randbereiche, die eine beliebig komplexe Struktur (Form) annehmen können,<br />

werden über viele kleine Partitionen repräsentiert, die eine exaktere Darstellung<br />

erlauben.<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 154


3.1.3 Räumliche Anfragen<br />

• Indexierung<br />

– Quadtree-Zellen durch Z-Werte benennen:<br />

Z-Werte:<br />

0111 b<br />

010000 b<br />

10 b<br />

Z-Werte bestehen aus<br />

» Bitfolge durch abwechselnd rechts/links und oben/unten<br />

partitionieren (links/unten 0, rechts/oben 1)<br />

» Level = Anzahl der Bits<br />

rekursive Schritte für die generierung g der Z-Werte:<br />

01<br />

0 1 1<br />

00<br />

010<br />

011<br />

00<br />

1<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 155


3.1.3 Räumliche Anfragen<br />

• Indexierung (Forts.)<br />

– Kodierung der Z-Werte => lineare Ordnung auf den Z-Werten<br />

Code() =<br />

i<br />

=<br />

∑ ⎨<br />

⎧ 1 falls bi<br />

0<br />

( MaxLevel−i)<br />

= 0.. n ⎩2<br />

falls bi<br />

= 1<br />

MaxLevel = maximaler Level für die rekursive Partitionierung<br />

(s.o. Maxlevel = 6)<br />

Maxlevel =4<br />

2 18 23<br />

Z-Wert = 1011<br />

Code(1011) = 23<br />

Z-Wert = 00<br />

Z-Wert = 100<br />

Code(00) = 2 Code(100) = 18<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 156


3.1.3 Räumliche Anfragen<br />

• Verwaltung der <strong>Obj</strong>ekte im B + -Baum<br />

2 18 23<br />

<strong>Obj</strong>ekt: approximative Zerlegung: Tupel-Darstellung (Code,id):<br />

o 1<br />

2 18 23<br />

+ +<br />

(2,o 1 )<br />

(18,o 1 )<br />

(23,o 1 )<br />

Level:<br />

0<br />

0<br />

g<br />

Indexierung der<br />

Tupel im B + -Baum<br />

gemäß Code<br />

1<br />

2<br />

3<br />

4<br />

1 16<br />

9 24<br />

2 17<br />

3 6 18 21<br />

5 8 20 23<br />

4 7 19 22<br />

Maxlevel =4<br />

B + -Baum<br />

(2,o 1 )(2,o 3 )… (4,o 8 )<br />

(8,o 3 )…<br />

(18,o 1 ) …<br />

(23,o 1 ) …<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 157


3.1.3 Räumliche Anfragen<br />

• Schnittanfrage<br />

Anfrage-<strong>Obj</strong>ekt o 1<br />

lower hull (2) upp per hull (2)<br />

2 18 23<br />

0<br />

1 16<br />

9<br />

2<br />

17<br />

Schnittanfrage:<br />

Ermittlung aller <strong>Obj</strong>ekte o ∈ DB die von o 1 geschnitten werden:<br />

• Anfrage bezieht sich auf die 3 Partitionen: 2,18 und 23<br />

• Für jede Anfragepartition P i : Ermittlung aller <strong>Obj</strong>ekte, die P i schneiden, d.h.<br />

24<br />

3 6 18 21<br />

5 8 20 23<br />

4 7 19 22<br />

1) Ermittlung aller Partitionen P j die P i schneiden<br />

• upper hull = Partitionen P j die P i überdecken<br />

z.B.: P i = 2 upper hull = {0,1}<br />

• lower hull = Partitionen P j die von P i<br />

überdeckt werden<br />

z.B.: P i =2 lower hull = {2,3,4,5,6,7,8}<br />

2) Anfrage im B + -Baum gemäß aller P j = upper hull +<br />

lower hull<br />

(kann durch Bereichsanfragen im B + -Baum effizient<br />

unterstützt werden)<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 158


3.1.2 CAD-Daten<br />

• Intervall-basierte <strong>Obj</strong>ektrepräsentation<br />

– Idee: Einbettung in eindimensionalen Raum<br />

» vollständige Zerlegung des Datenraums in<br />

gleichförmige g disjunkte Zellen (Voxelisierung)<br />

» Definition einer linearen Ordnung auf diesen<br />

Zellen (mittels raumfüllenden Kurven)<br />

» Gruppierung direkt aufeinanderfolgender<br />

Zellen zu ein-dimensionalen Intervallen<br />

– Vorteile:<br />

» erlaubt auch nicht-rechteckige<br />

Repräsentationen<br />

» einfache Verwaltung von Intervallen (über<br />

konventionelle (ein-dimensionale)<br />

Indexstrukturen wie den B + -Baum)<br />

– Raumfüllende Kurven:<br />

» Lexikographische Ordnung<br />

» Hilbert-Kurve<br />

» Z-Ordnung<br />

– Z-Ordnung erhält die räumliche Nähe relativ gut<br />

– Z-Ordnung ist effizient berechenbar<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 159


3.1.2 CAD-Daten<br />

• Intervall-basierte <strong>Obj</strong>ektrepräsentation (Fortsetzung):<br />

– Beispiel:<br />

Linearisierung<br />

(Hilbert-Kurve)<br />

voxelisiertes <strong>Obj</strong>ekt<br />

• Indexierung:<br />

Menge von Intervallen<br />

– Codierung von Intervallen<br />

» lineare Ordnung entsprechend der Intervallgrenzen (Startpunkt / Endpunkt)<br />

[Bozkaya and Özsoyoglu: Indexing Valid Time Intervals. Int. Conf. on <strong>Database</strong> and Expert<br />

<strong>Systems</strong> Applications, 1998]<br />

» indirekte Codierung der Intervalle, z.B. Relationaler Intervall-Baum<br />

[H.-P. Kriegel, M. Pötke, T. Seidl: Managing Intervals Efficiently in <strong>Obj</strong>ect-Relational<br />

<strong>Database</strong>s, VLDB 2000]<br />

– Verwaltung der Intervalle in einem B + -Baum<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 160


3.1.2 CAD-Daten<br />

• Vergleich zur Quadtree-basierten Zerlegung:<br />

– Die Z-Ordnung-basierte Intervall-Zerlegung erzeugt signifikant weniger<br />

Rendundanz als die Quadtree/Octree-basierte Zerlegung.<br />

Beispiel:<br />

Quadtree-basierte Zerlegung Z-Ordnungs-basierte Zerlegung<br />

(60 Quadranten) (41 Intervalle)<br />

– Beobachtung:<br />

» Anzahl der Partitionen (Quadtree- oder Intervall-basiert) ist proportional zum Umfang (2d)<br />

bzw. zur Oberfläche (3d) des <strong>Obj</strong>ekts, da eine Raumunterteilung t nur zur Randkodierung di des<br />

<strong>Obj</strong>ekts nötig ist.<br />

» je kleiner das Verhältnis von Oberfläche zu Volumen, desto höher die Redundanz.<br />

» raumpartitionierende Verfahren für komplex strukturierte <strong>Obj</strong>ekte wie z.B. Kabelstränge,<br />

Leitungen nicht geeignet.<br />

Beispiel für komplexes <strong>Obj</strong>ekt:<br />

Fahrwerk eines Autos<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 161


3.1.3 Räumliche Anfragen<br />

• Räumliche Anfrage:<br />

– Problem:<br />

» (Anfrage-)<strong>Obj</strong>ekte zerfallen in viele Partitionen (Quadtree-basierte Zerlegung)<br />

+ +<br />

2 19 23<br />

o 1<br />

» jede Partition des Anfrageobjektes führt zu mehreren Partitions-Schlüsseln, die<br />

angefragt g werden müssen<br />

2 Anfrage 0 + 1 + 2 + + 8<br />

upper hull<br />

lower hull<br />

Anfrage = Sequenz von Primärschlüssel<br />

⇒ sehr viele (Einzel-)Anfragen notwendig => Anfrage sehr teuer<br />

• Ziel: Reduktion der Anfragekosten durch<br />

– Vermeidung von Redundanz<br />

» sammeln aller Anfagepartitionen und Löschen redundanter Partitionen bevor<br />

Anfrage startet<br />

– Geeigneten Indexdurchlauf<br />

» geeignete g Wahl zwischen Scan auf Blattebene und Index-basierter Suche<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 162


3.1.3 Räumliche Anfragen<br />

• Kostenbasierte Suche:<br />

[Kriegel, Kunath, Pfeifle, Renz: Proc. Int. Conf. on <strong>Database</strong> <strong>Systems</strong> for Advanced<br />

Applications (DASFAA), 2004]<br />

– Idee: optimale Nutzung des partiellen Scans im B + -Baum durch Bildung<br />

von Bereichsanfragen<br />

– Gegeben: Anfragesequenz als Menge von Bereichsanfragen<br />

I A I B I C I D I E I F<br />

Primärschlüssel<br />

– Prinzip: kostenoptimale Gruppierung von Bereichsanfragen<br />

Anfragesequenz<br />

B + -Baum<br />

kostenoptimale<br />

Gruppierung der<br />

Anfrageintervalle<br />

Datenseiten<br />

– Kostenabschätzung:<br />

scan scan<br />

» I/O-Kosten für Suche im B + -Baum ~ Höhe des B + -Baum<br />

» I/O-Kosten für Scan auf Blattebene: Abschätzung mittels Statistiken über die<br />

Verteilung der Daten auf Blattebene gemäß dem Suchschlüssel<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 163


3.1.3 Räumliche Anfragen<br />

– Kostenbasierte Anfrage (Bildung der finalen Anfragesequenz):<br />

» konservative Approximation der Anfrage mit nur einem Anfragebereich I 0<br />

» rekursive Zerlegung von I 0 mit dem Ziel die geschätzten Anfragekosten zu<br />

minimieren (Zerlege I 0 in I 1 und I 2 , falls K(I 1 ) + K(I 2 ) < K(I 0 ))<br />

I 0<br />

I 1 I 2<br />

» Zerlegungsheuristik: Zerteile approximierten Anfragebereich an der größten<br />

Lücke zwischen zwei Anfragebereichen<br />

» Zerlegungsalgorithmus:<br />

Decompose(I 0 )<br />

{ zerlege I 0 in I 1 und I 2 (z.B. durch Split an der größten Lücke)<br />

schätze Kosten: K(I 0 ), K(I 1 ), K(I 2 )<br />

if K(I 0 )> K(I 1 ) + K(I 2 ) then<br />

}<br />

else<br />

report {Decompose(I 1 )∪Decompose(I 2 )};<br />

report I 0 ;<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 164


3.1.3 Räumliche Anfragen<br />

312DatenpartitionierendeAnfrageMethoden<br />

3.1.2 Anfrage-Methoden<br />

• Grundlegende Idee:<br />

– direkte Verwaltung von räumlichen <strong>Obj</strong>ekten anstatt Verwaltung von<br />

Raumpartitionen<br />

– Problem: räumliche <strong>Obj</strong>ekte variieren stark in ihrer Größe (Größe =<br />

benötigter Speicherplatz), sind aber auf Seiten fester Größe<br />

abzuspeichern<br />

Organisation von vereinfachten Räumlichen-<strong>Obj</strong>ekten (Approximationen),<br />

z.B. minimal umgebende Rechtecke (MUR)<br />

Verweis auf die exakte Beschreibung (EB) der Räumlichen-<strong>Obj</strong>ekte<br />

Exakte<br />

Beschreibung (EB)<br />

Minimal-Umgebendes<br />

Rechteck (MUR)<br />

(MUR, ..),(MUR, ..) ,(MUR, ..)<br />

EB<br />

Räumliche<br />

Indexstruktur<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 165


3.1.3 Räumliche Anfragen<br />

– Arten von Approximationen<br />

• Konservative Approximationen<br />

– enthalten das zu approximierende <strong>Obj</strong>ekt vollständig<br />

– dienen insbesondere zur Bestimmung von Fehltreffern<br />

Beispiel: ¬(a.kons_appr appr ∩ b.kons_appr) ⇒ ¬ (a ∩ b)<br />

• Progressive Approximationen<br />

– sind vollständig im zu approximierenden <strong>Obj</strong>ekt enthalten<br />

– dienen insbesondere zur Bestimmung von Treffern<br />

Beispiel: (a.prog_appr ∩ b.prog_appr) ⇒ (a ∩ b)<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 166


3.1.3 Räumliche Anfragen<br />

– Konservative Approximationen<br />

• Vergleich verschiedener konservativer Approximationen (2D)<br />

Approximation:<br />

Güte:<br />

# Parameter:<br />

Kreis<br />

215%<br />

3<br />

MUR<br />

193%<br />

4<br />

Ellipse<br />

168%<br />

5<br />

gedrehtes MUR<br />

162%<br />

5<br />

4-Eck<br />

144%<br />

8<br />

5-Eck<br />

133%<br />

10<br />

Konvexe Hülle<br />

123%<br />

O(n)<br />

(Güte = durchschnittliche Flächen der Approximationen in Prozent zur<br />

exakten <strong>Obj</strong>ektfläche (=100%). Gemitteltes Ergebnis über<br />

verschiedene Landkartendatensätze.)<br />

d t Quelle: Brinkhoff T., Kriegel H.-P., Schneider R.: ‘Comparison of Approximations of<br />

Complex <strong>Obj</strong>ects used for Approximation-based Query Processing in Spatial <strong>Database</strong><br />

<strong>Systems</strong>’ , Proc. 9th Int. Conf. on Data Engineering, 1993)<br />

5-Eck: guter Kompromiss zwischen Genauigkeit und<br />

Speicherplatzbedarf<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 167


3.1.3 Räumliche Anfragen<br />

– Progressive Approximationen<br />

• Berechnung schwierig (insbesondere für maximale<br />

progressive Approximationen)<br />

Kreis<br />

(42%)<br />

Rechteck<br />

(45%)<br />

Rechteck + Strecken<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 168


3.1.3 Räumliche Anfragen<br />

– Strukturelle Zerlegung<br />

• Prinzip:<br />

– Zerlegung der <strong>Obj</strong>ekte in mehrere einfache Basiskomponenten<br />

• Vorteile:<br />

– Vereinfachung der algorithmischen Komplexität von Anfragen und<br />

Operationen (z.B. Flächenberechnung, etc.)<br />

– Lokalität von Anfragen und Operationen kann ausgenutzt werden<br />

(Unterstützung von partiellen <strong>Obj</strong>ekt-Zugriff)<br />

=>effiziente Anfragebearbeitung (bei selektiven Anfragen)<br />

• Zerlegungsvarianten:<br />

konvexe Zerlegung Dreiecks-Zerlegung Zerlegung in Trapeze<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 169


3.1.3 Räumliche Anfragen<br />

• Zerlegung eines Polygons in (achsenparallele) Trapeze<br />

(Asano+Asano 1983)<br />

– Berechnung durch Plane-Sweep-Algorithmus: O(n log n) für n Eckpunkte<br />

sweep line<br />

– Speicherplatzaufwand<br />

» Anzahl der Komponenten = n bei n Eckpunkten<br />

» Aber: Vervielfachung des Speicherplatzes p da nun Trapeze statt Punkten<br />

verwaltet, d.h. abgespeichert werden<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 170


3.1.3 Räumliche Anfragen<br />

• Beobachtung<br />

– Operationen auf Zerlegungskomponenten sind einfach<br />

– Aber: Anzahl der Zerlegungskomponenten = O(n)<br />

Kein Gewinn, falls alle Komponenten getestet werden<br />

Einsatz von Datenstrukturen zur Auswahl “relevanter” Komponenten<br />

Einsatz von räumlichen Indexstrukturen (RIS)<br />

• 1. Ansatz<br />

– Eine RIS verwaltet Zerlegungskomponenten aller <strong>Obj</strong>ekte<br />

– Redundanz bei der Anfragebearbeitung<br />

(betrifft insbesondere größere Window Queries)<br />

Räumliche<br />

Indexstruktur<br />

Datenseiten<br />

mit MURs<br />

RIS<br />

Zerlegungskomponenten<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 171


3.1.3 Räumliche Anfragen<br />

• 2. Ansatz<br />

– Eine RIS verwaltet die <strong>Obj</strong>ektapproximationen (MUR) aller <strong>Obj</strong>ekte<br />

– Für jedes <strong>Obj</strong>ekt verwaltet eine separate räumliche Datenstruktur die<br />

Zerlegungskomponenten dieses <strong>Obj</strong>ektes<br />

– Wenn die exakte <strong>Obj</strong>ektgeometrie untersucht werden muss, werden die<br />

Zerlegungskomponenten einschließlich der zugehörigen räumlichen<br />

Datenstruktur vom Sekundärspeicher in den Hauptspeicher p eingelesen<br />

Räumliche<br />

Indexstruktur<br />

Datenseiten<br />

mit MURs<br />

RIS<br />

räumliche<br />

Datenstruktur<br />

RIS<br />

Zerlegungs-<br />

g<br />

komponenten<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 172


3.1.3 Räumliche Anfragen<br />

• TR-Ansatz (Ausprägung des 2. Ansatzes)<br />

– Verwende R-Baum zur Verwaltung der Zerlegungskomponenten<br />

Anpassung des R-Baums an die neuen Anforderungen (TR-<br />

Baum):<br />

– TR-Baum soll für den Hauptspeicher p ausgelegt g werden<br />

» möglichst kleine Knotengröße<br />

– TR-Baum soll möglichst schnell in den Hauptspeicher eingelesen werden<br />

» kompakte Speicherung auf dem Plattenspeicher<br />

» kein dynamischer Aufbau, keine Adressneuberechnungen<br />

– TR-Baum sollte möglichst kompakt gespeichert sein<br />

• Eigenschaften des TR-Baums<br />

– sehr schnelle Bearbeitung geometrischer Operationen (z.B. Punkt-In-<br />

Polygon-Test)<br />

– erheblich höherer Speicherplatzbedarf<br />

– (und damit höhere Übertragungskosten beim Einlesen der exakten<br />

Geometrie)<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 173


3.1.3 Räumliche Anfragen<br />

– Mehrstufige Anfragebearbeitung für räumliche <strong>Obj</strong>ekte<br />

Räumliche Anfrage<br />

drops drops drops drops<br />

DB<br />

Filter Filter Filter Filter Antwort<br />

Kandidaten<br />

1 2 Kandidaten 3 Kandidaten 4<br />

hits hits hits<br />

RIS MURs Approximationen Zerlegungen<br />

Bestimmung der<br />

Bestimmung der<br />

Bestimmung<br />

Einlesen der exakten<br />

Datenseiten, die <strong>Obj</strong>ekte auf den<br />

weiterer Treffer Geometrie und Test der<br />

Treffer und<br />

gefundenen<br />

oder Fehltreffer exakten Geometrie<br />

Kandidaten<br />

Datenseiten, die<br />

durch zusätzliche bezüglich der<br />

enthalten, durch aufgrund ihrer<br />

konservative und Anfragebedingung mit<br />

RIS<br />

MURs als Treffer in<br />

progressive<br />

Hilfe des TR-Baum-<br />

Frage kommen<br />

Approximationen Ansatzes<br />

• GEMINI: Prototyp-System, das diese Anfragebearbeitung<br />

realisiert<br />

i<br />

LMU München – Skript zur Vorlesung: Spatial, Temporal, and Multimedia <strong>Database</strong>s – SoSe 2013 174

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!