München, 15. Oktober 2004 Martin Pfeifle Datenbankunterstützung für CAD-Anwendungen Martin...
-
Upload
valentin-biermann -
Category
Documents
-
view
214 -
download
0
Transcript of München, 15. Oktober 2004 Martin Pfeifle Datenbankunterstützung für CAD-Anwendungen Martin...
München, 15. Oktober 2004Martin Pfeifle
Datenbankunterstützung für CAD-Anwendungen
Martin Pfeifle
LFE DatenbanksystemeDepartment „Institut für Informatik“LMU MünchenProf. Dr. Hans-Peter Kriegel
PromotionsvortragMünchen, 15. Oktober 2004
München, 15. Oktober 2004Martin Pfeifle
Einleitung
räumlicheObjekte
komplexe
CAD-DB
ÄhnlichkeitsanfrageKollisionsanfrage
Systemanforderungen: Effektivität
- Kollisions- und Ähnlichkeitsanfragen von räumlichen Objekten Effizienz
- Kurze Antwortzeiten für Anfragen Skalierbarkeit
- Verwaltung sehr großer Datenmengen und vieler Benutzer Industrietauglichkeit
- Transaktionskontrolle, Wiederanlauf
München, 15. Oktober 2004Martin Pfeifle
Einleitung
räumlicheObjekte
komplexe
CAD-DB
CAD-Datenbanksysteme
(basierend auf erweiterbarem ORDBMS)
Kollisionsanfrage
Systemanforderungen: Effektivität
Effizienz
Skalierbarkeit
Industrietauglichkeit
Ähnlichkeitsanfrage
München, 15. Oktober 2004Martin Pfeifle
Gliederung des Vortrags
Effektive Ähnlichkeitssuche
Einführung
Datenbankunterstützte Kollisionserkennung
Effiziente Kollisionserkennung
Zusammenfassung und Ausblick
Datenbankunterstützte Ähnlichkeitssuche
Effiziente Ähnlichkeitssuche
SOUT
München, 15. Oktober 2004Martin Pfeifle
CADOBJECTSid geom
4711
4710
…
…
Kollisionsanfragen
CAD-System Triangulationen
SELECT id FROMCADOBJECTS t WHEREgeom_intersects (t.geom, :query.geom)
München, 15. Oktober 2004Martin Pfeifle
id geom
CADOBJECTS
4711
4710
…
…
Kollisionsanfragen
CAD-System Triangulationen
app
SELECT id FROMCADOBJECTS t WHEREapp_intersects (t.app, :query.app)ANDgeom_intersects (t.geom, :query.geom)
München, 15. Oktober 2004Martin Pfeifle
id geom
CADOBJECTS
4711
4710
…
…
Kollisionsanfragen
CAD-System Triangulationen
SELECT id FROMCADOBJECTS t WHEREgeom_intersects (t.geom, :query.geom)
id
CADAPPROX
4711
4710
app
SELECT t.id FROMCADOBJECTS t, CADAPPROX a WHEREapp_intersects (a.app, :query.app)AND a.id=t.id ANDgeom_intersects (t.geom, :query.geom)
Relationaler R-Baum(Ravi Kanth et al. 99)
}
…
…extensibleindexing
Benutzerdefinierte Indexstruktur
B-Baum(Bayer et al. 72)
München, 15. Oktober 2004Martin Pfeifle
id geom
CADOBJECTS
4711
4710
…
…
Kollisionsanfragen
CAD-System Triangulationen
SELECT id FROMCADOBJECTS t WHEREgeom_intersects (t.geom, :query.geom)
id
CADAPPROX
4711
4710
app
SELECT t.id FROMCADOBJECTS t, CADAPPROX a WHEREapp_intersects (a.app, :query.app)AND a.id=t.id ANDgeom_intersects (t.geom, :query.geom)
…
…
Voxelmenge
extensibleindexing
Benutzerdefinierte Indexstruktur
München, 15. Oktober 2004Martin Pfeifle
id geom
CADOBJECTS
4711
4710
…
…
Kollisionsanfragen
CAD-System Triangulationen
SELECT id FROMCADOBJECTS t WHEREgeom_intersects (t.geom, :query.geom)
id
CADAPPROX
4711
4710
exact…
…
Voxelmenge
extensibleindexing
Benutzerdefinierte Indexstruktur
SELECT a.id FROMCADAPPROX a WHEREapp_intersects (a.exact, :query.exact)
München, 15. Oktober 2004Martin Pfeifle
id geom
CADOBJECTS
4711
4710
…
…
Kollisionsanfragen
CAD-System Triangulationen
SELECT id FROMCADOBJECTS t WHEREgeom_intersects (t.geom, :query.geom)
id
CADAPPROX
4711
4710
exact…
…
Voxelmenge Menge von Intervallen
extensibleindexing
Benutzerdefinierte Indexstruktur
Relationaler Intervall Baum (Kriegel et al. 01)
}
B-Baum(Bayer et al. 72)
SELECT a.id FROMCADAPPROX a WHEREapp_intersects (a.exact, :query.exact)
München, 15. Oktober 2004Martin Pfeifle
id geom
CADOBJECTS
4711
4710
…
…
Kollisionsanfragen
CAD-System Triangulationen
SELECT id FROMCADOBJECTS t WHEREgeom_intersects (t.geom, :query.geom)
CADAPPROX
Voxelmenge Menge von Tiles
id
4711
4710
exact…
…extensibleindexing
Benutzerdefinierte Indexstruktur
Relationaler Quadtree (Freytag et al. 01)
}
B-Baum(Bayer et al. 72)
SELECT a.id FROMCADAPPROX a WHEREapp_intersects (a.exact, :query.exact)
München, 15. Oktober 2004Martin Pfeifle
id geom
CADOBJECTS
4711
4710
…
…
Kollisionsanfragen
CAD-System Triangulationen
SELECT id FROMCADOBJECTS t WHEREgeom_intersects (t.geom, :query.geom)
CADAPPROX
Voxelmenge Menge von Boxen
id
4711
4710
exact…
…extensibleindexing
Benutzerdefinierte Indexstruktur
Relationaler R-Baum(Ravi Kanth et al. 99)
}
B-Baum(Bayer et al. 72)
SELECT a.id FROMCADAPPROX a WHEREapp_intersects (a.exact, :query.exact)
München, 15. Oktober 2004Martin Pfeifle
Extensible Indexing
Benutzerdefinierte Indexstruktur
Relationale Implementation
Extensible Indexing Framework
Datenbank-KernBlock-Manager, Caches, Locking, Logging, …
Benutzerdefiniertes Kostenmodell
Relationale Implementation
Extensible Optimization Framework
Deklarative Einbindung Objekt-Relationale DML und DDL
Benutzerdefinierte Indexstruktur
Extensible Indexing Framework
Relationale Implementation
München, 15. Oktober 2004Martin Pfeifle
Benutzerdefinierte Indexstruktur Benutzerdefiniertes Kostenmodell
Extensible Indexing
Benutzerdefinierte Indexstruktur[DASFAA 03] [BTW 03] [GEOINFO 03] [GEOINFO 03] [SSDBM 03] [DBA 04]
[DASFAA 04] [DASFAA 04] [SSDBM 04] [SSDBM 04] [ACM GIS 04] [MMM 05]
Extensible Indexing Framework
Relationale Implementation
Datenbank-KernBlock-Manager, Caches, Locking, Logging, …
Benutzerdefiniertes Kostenmodell[SSDBM 02][DASFAA 03]
Extensible Optimization Framework
Relationale Implementation
Deklarative Einbindung Objekt-Relationale DML und DDL
München, 15. Oktober 2004Martin Pfeifle
Benutzerdefinierte Indexstruktur Benutzerdefiniertes Kostenmodell
Extensible Indexing
Benutzerdefinierte Indexstruktur[DASFAA 03] [BTW 03] [GEOINFO 03] [GEOINFO 03] [SSDBM 03] [DBA 04]
[DASFAA 04] [DASFAA 04] [SSDBM 04] [SSDBM 04] [ACM GIS 04] [MMM 05]
Extensible Indexing Framework
Relationale Implementation
Datenbank-KernBlock-Manager, Caches, Locking, Logging, …
Benutzerdefiniertes Kostenmodell[SSDBM 02][DASFAA 03]
Extensible Optimization Framework
Relationale Implementation
Deklarative Einbindung Objekt-Relationale DML und DDL
München, 15. Oktober 2004Martin Pfeifle
Benutzerdefinierte Indexstruktur Benutzerdefiniertes Kostenmodell
Extensible Indexing
Benutzerdefinierte Indexstruktur[DASFAA 03] [BTW 03] [GEOINFO 03] [GEOINFO 03] [SSDBM 03] [DBA 04]
[DASFAA 04] [DASFAA 04] [SSDBM 04] [SSDBM 04] [ACM GIS 04] [MMM 05]
Extensible Indexing Framework
Relationale Implementation
Datenbank-KernBlock-Manager, Caches, Locking, Logging, …
Benutzerdefiniertes Kostenmodell[SSDBM 02][DASFAA 03]
Extensible Optimization Framework
Relationale Implementation
Deklarative Einbindung Objekt-Relationale DML und DDL
München, 15. Oktober 2004Martin Pfeifle
Gliederung des Vortrags
Effektive Ähnlichkeitssuche
Einführung
Datenbankunterstützte Kollisionserkennung
Effiziente Kollisionserkennung
Zusammenfassung und Ausblick
Datenbankunterstützte Ähnlichkeitssuche
Effiziente Ähnlichkeitssuche
SOUT
München, 15. Oktober 2004Martin Pfeifle
Anfragesequenzauf B +-Baum
Anfrageobjekt
Lücken
Ergebnis
B+-Baum Blöckeauf Blatt-Ebene
Anfrageobjekte bestehen oft aus sehr vielen Intervallen, Tiles oder Boxen. Jedes Anfrageinterval, -tile oder –box führt zu vielen Bereichsanfragen auf B+-Baum der jeweiligen Indexstruktur (Relationaler Intervall Baum, Relationaler Quadtree oder Relationaler R-Baum).
mehrere hunderttausend Tiles, Intervalle oder Boxen
Kostenbasierte Anfragebearbeitung [MMM 05, DASFAA 04] Effiziente Kollisionserkennung
München, 15. Oktober 2004Martin Pfeifle
Anfragesequenzauf B +-Baum
Anfrageobjekt
Lücken
Ergebnis
B+-Baum Blöckeauf Blatt-Ebene
Anfrageobjekte bestehen oft aus sehr vielen Intervallen, Tiles oder Boxen. Jedes Anfrageinterval, -tile oder –box führt zu vielen Bereichsanfragen auf B+-Baum der jeweiligen Indexstruktur (Relationaler Intervall Baum, Relationaler Quadtree oder Relationaler R-Baum). Mit Hilfe von Statistiken werden Lücken auf B+-Baum Blöcken abgeschätzt.
Statistiken, die auch von Kostenmodellen verwendet werden
mehrere hunderttausend Tiles, Intervalle oder Boxen
Effiziente KollisionserkennungKostenbasierte Anfragebearbeitung [MMM 05, DASFAA 04]
München, 15. Oktober 2004Martin Pfeifle
Anfragesequenzauf B +-Baum
Lücken
Ergebnis
B+-Baum Blöckeauf Blatt-Ebene
Statistiken, die auch von Kostenmodellen verwendet werden
Anfrageobjekt
mehrere hunderttausend Tiles, Intervalle oder Boxen
Anfrageobjekte bestehen oft aus sehr vielen Intervallen, Tiles oder Boxen. Jedes Anfrageinterval, -tile oder –box führt zu vielen Bereichsanfragen auf B+-Baum der jeweiligen Indexstruktur (Relationaler Intervall Baum, Relationaler Quadtree oder Relationaler R-Baum). Mit Hilfe von Statistiken werden Lücken auf B+-Baum Blöcken abgeschätzt. Kostenbasierte Entscheidung, ob über Lücken des B+-Baumes hinweggescannt wird, oder mit Hilfe des B+-Baum Directories die Lücke übersprungen wird.
Effiziente Kollisionserkennung
cscan < cnavi
Kostenbasierte Anfragebearbeitung [MMM 05, DASFAA 04]
München, 15. Oktober 2004Martin Pfeifle
Anfragesequenzauf B +-Baum
Lücken
Ergebnis
B+-Baum Blöckeauf Blatt-Ebene
Statistiken, die auch von Kostenmodellen verwendet werden
Anfrageobjekt
mehrere hunderttausend Tiles, Intervalle oder Boxen
Anfrageobjekte bestehen oft aus sehr vielen Intervallen, Tiles oder Boxen. Jedes Anfrageinterval, -tile oder –box führt zu vielen Bereichsanfragen auf B+-Baum der jeweiligen Indexstruktur (Relationaler Intervall Baum, Relationaler Quadtree oder Relationaler R-Baum). Mit Hilfe von Statistiken werden Lücken auf B+-Baum Blöcken abgeschätzt. Kostenbasierte Entscheidung, ob über Lücken des B+-Baumes hinweggescannt wird, oder mit Hilfe des B+-Baum Directories die Lücke übersprungen wird. Verfeinerungsschritt notwendig, um zuviel gelesene Einträge auszufiltern.
Effiziente KollisionserkennungKostenbasierte Anfragebearbeitung [MMM 05, DASFAA 04]
München, 15. Oktober 2004Martin Pfeifle
Datenbankobjekt
mehrere hunderttausend Tiles, Intervalle oder Boxen
Kostenbasierte Objektverwaltung [DASFAA 03, ACM GIS 04]
Datenbankobjekt besteht oft aus sehr vielen Intervallen, Tiles oder Boxen.
Effiziente Kollisionserkennung
München, 15. Oktober 2004Martin Pfeifle
CADAPPROXid
4710
app…
…
Relationaler Quadtree (Freytag et al. 01)
}……
……
Benutzerdefinierte Indexstruktur
exactDatenbankobjekt
Datenbankobjekt besteht oft aus sehr vielen Intervallen, Tiles oder Boxen.
Idee: Gruppieren der Objektprimitive zu “grauen” Approximationen wobei Anzahl der Approximationen möglichst klein. Toter Raum der Approximationen möglichst gering. Auswertung der exakten Information möglichst effizient.
mehrere hunderttausend Tiles, Intervalle oder Boxen
Kostenbasierte Objektverwaltung [DASFAA 03, ACM GIS 04] Effiziente Kollisionserkennung
CADAPPROXid
4710
exact…
…
Relationaler Quadtree (Freytag et al. 01)
}
……
……
Benutzerdefinierte Indexstruktur
Kompression
München, 15. Oktober 2004Martin Pfeifle
Datenbankobjekt besteht oft aus sehr vielen Intervallen, Tiles oder Boxen.
Idee: Gruppieren der Objektprimitive zu “grauen” Approximationen wobei Anzahl der Approximationen möglichst klein. Toter Raum der Approximationen möglichst gering. Auswertung der exakten Information möglichst effizient.
Gruppierungsalgorithmus: Kostenbasiertes Bilden der Approximationen
Datenbankobjekt
mehrere hunderttausend Tiles, Intervalle oder Boxen
mehrere hundert graueTiles, Intervalle oder Boxen
Datenbankobjekt
Gruppierungsalgorithmus
p(Ci)cost(Ci) > p(Cgesamt)cost(Cgesamt) C1 C2
C1
C1
C1C1
C8C7
Cgesamt
Kostenbasierte Objektverwaltung [DASFAA 03, ACM GIS 04] Effiziente Kollisionserkennung
München, 15. Oktober 2004Martin Pfeifle
Datenbankobjekt besteht oft aus sehr vielen Intervallen, Tiles oder Boxen.
Idee: Gruppieren der Objektprimitive zu “grauen” Approximationen wobei Anzahl der Approximationen möglichst klein. Toter Raum der Approximationen möglichst gering. Auswertung der exakten Information möglichst effizient.
Gruppierungsalgorithmus: Kostenbasiertes Bilden der Approximationen Zugriffswahrscheinlichkeit für graue Approximationen.
Datenbankobjekt
mehrere hunderttausend Tiles, Intervalle oder Boxen
mehrere hundert graueTiles, Intervalle oder Boxen
Datenbankobjekt
Kostenbasierte Objektverwaltung [DASFAA 03, ACM GIS 04] Effiziente Kollisionserkennung
Gruppierungsalgorithmus
p(Ci)cost(Ci) > p(Cgesamt)cost(Cgesamt) C1 C2
C1
C1
C1C1
C8C7
Cgesamt
München, 15. Oktober 2004Martin Pfeifle
Datenbankobjekt besteht oft aus sehr vielen Intervallen, Tiles oder Boxen.
Idee: Gruppieren der Objektprimitive zu “grauen” Approximationen wobei Anzahl der Approximationen möglichst klein. Toter Raum der Approximationen möglichst gering. Auswertung der exakten Information möglichst effizient.
Gruppierungsalgorithmus: Kostenbasiertes Bilden der Approximationen Zugriffswahrscheinlichkeit für graue Approximationen. Auswertungskosten von grauen Approximationen.
Datenbankobjekt
mehrere hunderttausend Tiles, Intervalle oder Boxen
mehrere hundert graueTiles, Intervalle oder Boxen
Datenbankobjekt
Kostenbasierte Objektverwaltung [DASFAA 03, ACM GIS 04] Effiziente Kollisionserkennung
Gruppierungsalgorithmus
p(Ci)cost(Ci) > p(Cgesamt)cost(Cgesamt) C1 C2
C1
C1
C1C1
C8C7
Cgesamt
München, 15. Oktober 2004Martin Pfeifle
Datenbankobjekt besteht oft aus sehr vielen Intervallen, Tiles oder Boxen.
Idee: Gruppieren der Objektprimitive zu “grauen” Approximationen wobei Anzahl der Approximationen möglichst klein. Toter Raum der Approximationen möglichst gering. Auswertung der exakten Information möglichst effizient.
Gruppierungsalgorithmus: Kostenbasiertes Bilden der Approximationen Zugriffswahrscheinlichkeit für graue Approximationen. Auswertungskosten von grauen Approximationen.
Mehrstufige Anfragebearbeitung notwendig.
Datenbankobjekt
mehrere hunderttausend Tiles, Intervalle oder Boxen
mehrere hundert graueTiles, Intervalle oder Boxen
Datenbankobjekt
Kostenbasierte Objektverwaltung [DASFAA 03, ACM GIS 04] Effiziente Kollisionserkennung
Gruppierungsalgorithmus
p(Ci)cost(Ci) > p(Cgesamt)cost(Cgesamt) C1 C2
C1
C1
C1C1
C8C7
Cgesamt
München, 15. Oktober 2004Martin Pfeifle
Testdatensatz „PLANE“3D CAD Objekteca. 10,000 Objekteca. 18 Million Voxel 9 Millionen IntervalleAuflösung: 42 bit (0 .. 242 - 1)
Testdatensatz „CAR“3D CAD Objekteca. 200 Objekteca. 14 Million Voxel 7 Millionen IntervalleAuflösung: 33 bit (0 .. 233 - 1)
Kostenbasierte Anfragebearbeitung Einsatz von Statistiken führt zu einer Beschleunigung um mehr als Faktor 2.
Kostenbasierte Objektverwaltung Gruppierungsalgorithmus führt zu einer Beschleunigung um mehr als Faktor 10. Er liefert „optimale“ Ergebnisse für verschiedene
Kompressionstechniken Auflösungen Approximationstypen (graue Intervalle, graue Tiles, graue Boxen)
Effiziente KollisionserkennungExperimentelle Auswertung
München, 15. Oktober 2004Martin Pfeifle
Gliederung des Vortrags
Effektive Ähnlichkeitssuche
Einführung
Datenbankunterstützte Kollisionserkennung
Effiziente Kollisionserkennung
Zusammenfassung und Ausblick
Datenbankunterstützte Ähnlichkeitssuche
Effiziente Ähnlichkeitssuche
SOUT
München, 15. Oktober 2004Martin Pfeifle
Ähnlichkeitssuche
Ähnlichkeitsanfragen
Ähnlichkeitsanfragen Bereichsanfragen: k-nn Anfrage:
BOSS (Browsing OPTICS-Plots for Similarity Search) Hierarchisches Clustern mit OPTICS (Kriegel et al. 99) Cluster Erkennung Ermitteln von Cluster Repräsentanten
BOSS
?
}),(|{),( qodDBoqsimrange
),( k NNq(k), wobei qsimk-nn
),(),(|)(:|)(\),( 2121 qodqodkkNkNNDBokNNo qqq
CAD-DB
Anfragetypen [MDM/KDD 03, SIAM 04, ICDE 04]
München, 15. Oktober 2004Martin Pfeifle
Ähnlichkeitsanfragen Bereichsanfragen k-nn Anfrage
BOSS (Browsing OPTICS-Plots for Similarity Search) Hierarchisches Clustern mit OPTICS Cluster Erkennung Ermitteln von Cluster Repräsentanten
Ähnlichkeitsanfragen
BOSS
?CAD-DB
Ähnlichkeitssuche
quantitatives,aussagekräftiges
Distanzmaß
WICHTIG
Anfragetypen [MDM/KDD 03, SIAM 04, ICDE 04]
München, 15. Oktober 2004Martin Pfeifle
Ähnlichkeitsanfragen
BOSS
?CAD-DB
ÄhnlichkeitssucheDistanzmaß
Distanzbasiertes Ähnlichkeitsmaß simdist: O × O → IR+
Abbilden der Objekte in einen metrischen Raum M F: O → M Messen der Distanz mit einem metrischen Distanzmaß dist: M × M → IR+
simdist (o1,o2) = dist (F(o1), F(o2))
Invarianz bezüglich einer Klasse K von Transformationen T Skalierung, Translation, 90°-Rotation, Spiegelung
Erweiterte Definition des Ähnlichkeitsmaß simdist: O × O → IR simdist (o1, o2) = min {dist (F(o1), F(T(o2) ) )}TK
Für Ähnlichkeitsanfragen und BOSS ist quantitatives Distanzmaß wichtig!
München, 15. Oktober 2004Martin Pfeifle
Gliederung des Vortrags
Effektive Ähnlichkeitssuche
Einführung
Datenbankunterstützte Kollisionserkennung
Effiziente Kollisionserkennung
Zusammenfassung und Ausblick
Datenbankunterstützte Ähnlichkeitssuche
Effiziente Ähnlichkeitssuche
SOUT
München, 15. Oktober 2004Martin Pfeifle
normalisiertes, voxelisiertes Objekt o
Raumpartitionierende Modelle Feature Transformation
0.75
0.43
CAD-System
3D CAD Objekt liegt als voxelisiertes Objekt vor. Objekt wird normalisiert. Partitionierung des Datenraumes in disjunkte, numerierte Zellen. Extraktion von k Kennzahlen pro Zelle, die Objektgeometrie in der jeweiligen Zelle beschreiben. Zusammenfassen der Kennzahlen aus den verschiedenen Zellen in einem Feature Vektor. Distanzbasiertes Ähnlichkeitsmaß simdist: O × O → IR
simdist(o1, o2) = Lp (F(o1), F(T(o2)))
CAD Objekt o
0.34
0.98...
Feature VektorF(o)
München, 15. Oktober 2004Martin Pfeifle
4
Es wird die Anzahl der Objekt Voxel Vio in jeder Zelle i gezählt.
Normalisiere diesen Wert mit der Zellengröße K.
Feature-Wert für jede Zelle i:
fo(i) = , mit K = im 3D Fall K
V oi 3
pr )(
1/9
66693660
Raumpartitionierende Modelle Volumen Modell
[2D Beispiel]
München, 15. Oktober 2004Martin Pfeifle
Solid-Angle Modell mißt die Konkavität und Konvexität von Oberflächen.
0.340.300.31 0.32
0
1Sy y
Sx
x
Jede Zelle wird durch eine Dimension im Feature-Vektor repräsentiert.
fo(i) = 1 falls Zelle i nur innere Objektvoxel von o enthält
Raumpartitionierende Modelle Solid-Angle Modell (Connolly 86)
[2D Beispiel]
fo
(i) = 0 falls Zelle i keine Objektvoxel von o enthält
|Sv|
Für jedes Oberflächen-Voxel v des Objektes o wird der SA-Wert SA(v) berechnet: SA(v)= wobei eine Referenz-Kugel um v ist.
|SvVo| Sv
mj=1m
1 fo(i) = SA(vij
) falls Zelle i m Oberflächenvoxel vij enthält
München, 15. Oktober 2004Martin Pfeifle
Raumpartitionierende Modelle
[2D Beispiel]
oiC
o
i
oo Cvv
oiCov
oiCov
Eigenwert Modell mißt die Streuung der Voxelmenge entlang den Hauptachsen der Zellen. Berechne den Centroid für jede Zelle i. Transformiere jedes Voxel . Berechne für jede Zelle die Covarianz-Matrix basierend auf der transformierten Voxelmenge. Für jede Zelle i werden die 3 Eigenwerte λi, j berechnet (3D-Fall)
det ( - λi, j Id) = 0. Die 3 Eigenwerte werden der Göße nach hintereinander in den Feature-Vektor einsortiert.
Eigenwert Modell [DASFAA 03]
Centroid λi, 1
λi, 2
λi, 1
λi, 2
3 • k dimensionalen Feature-Vektor im 3DZelle i
0x
Kennzahlender Zelle i
München, 15. Oktober 2004Martin Pfeifle
S2=((C0+C1)+ C2) Err2=107123
S1=(C0+C1) Err1=14
Cover-Sequence: Error: 2D Feature Vektor fo :1167
fo4·i+1 = x-Position von Ci
fo4·i+2 = y-Position von Ci
fo4·i+3 = x-Ausdehnung von Ci
fo4·i+4 = y-Ausdehnung von Ci
6513
S3=((C0+C1)+ C2)-C3 ) Err3=7
Approximation des Objektes o durch eine Sequenz von Rechtecken (Jagadish 91). Rechteck-Sequenz Sk = (((C0 1C1 ) 2C2 ) … kCk ), wobei Ci achsenparallelle Rechtecke sind, i {+, -} und k = Anzahl der Rechtecke.
Als Approximationsgüte Errk wird die symmetrische Flächendifferenz verwendet Errk=|o XOR Sk| .
Berechnung von Sk durch einen Greedy-Algorithmus.
Im 3D Fall wird das Objekt durch eine 6·k dimensionalen Feature Vektor repräsentiert.
Datenpartitionierende Modelle Cover-Sequence Modell (Jagadish 91)
[2D Beispiel]
München, 15. Oktober 2004Martin Pfeifle
Datenbank Objekt
Anfrage Objekt
S4query (original) = ((((C0 + C1) – C2) – C3) – C4)
S4database
q1px
q1py
q1ax
q1ay
q2px
q2py
q2ax
q2ax
q3px
q3py
q3ax
q3ay
q4px
q4py
q4ax
q4ay
L2 ( ,
db1px
db1py
db1ax
db1ay
db2px
db2py
db2ax
db2ax
db3px
db3py
db3ax
db3ay
db4px
db4py
db4ax
db4ay
)
S4query (optimal) = ((((C0 + C1) – C3) – C4) – C2)
S4database
q1px
q1py
q1ax
q1ay
q3px
q3py
q3ax
q3ay
q4px
q4py
q4ax
q4ay
q2px
q2py
q2ax
q2ax
L2 ( ,
db1px
db1py
db1ax
db1ay
db2px
db2py
db2ax
db2ax
db3px
db3py
db3ax
db3ay
db4px
db4py
db4ax
db4ay
) >>
Datenpartitionierende Modelle Cover-Sequence Modell (Jagadish 91)
München, 15. Oktober 2004Martin Pfeifle
vollständige Matching
Position X
Position Y
Ausdehnung Y
Ausdehnung Xq1px
q1py
q1ex
q1ey
q2px
q2py
q2ex
q2ex
q3px
q3py
q3ex
q3ey
q4px
q4py
q4ex
q4ey
q1px
q1py
q1ex
q1eyq2px
q2py
q2ex
q2ex q3px
q3py
q3ex
q3ey q4px
q4py
q4ex
q4ey
db1px
db1py
db1ex
db1ey
db2px
db2py
db2ex
db2ex
db3px
db3py
db3ex
db3ey
db4px
db4py
db4ex
db4ey
db1px
db1py
db1ex
db1eydb2px
db2py
db2ex
db2exdb3px
db3py
db3ex
db3eydb4px
db4py
db4ex
db4ey
Die Rechteck Sequenz Sk = (((C0 1C1 ) 2C2 ) … kCk ) wird durch eine Menge von Punkten X 6, | X | k (im 3D Fall) repräsentiert.
Anfrage Objekt
Abstandsmaß zwischen zwei Punkt-Mengen X und Y :
Erzeugen eines vollständig bipartiten Graphen G = (XY, XY)
Gewichtsfunktion für nicht zugeordnete Knoten, falls |X| |Y|
Das Gewicht jeder Kante (x, y) XY ist L2 (x, y) Berechnung durch Kuhn Munkres Algorithmus in O(k3)
Das minimal gewichtete vollständige Matching
Datenpartitionierende Modelle Punkt-Mengen Modell [ACM Sigmod 03]
[2D Beispiel]Position X
Position Y
Ausdehnung Y
Ausdehnung X
Gewichtsfunktion für nicht zugeordnete Knoten =Distanz zu einem Dummy Vektor
Datenbank Objekt
München, 15. Oktober 2004Martin Pfeifle
Auswertungsstrategie Auswertungsstrategie basierend auf Ähnlichkeitsanfragen hängt von der Wahl der Anfrageobjekte ab. Auswertungsstrategie basierend auf BOSS ist objektiver, da alle Datenbank Objekte mitberücksichtigt werden.
Ergebnisse Eigenwert-Modell ist das aussagekräftigste raumpartitionierende Modell. Punkt-Mengen Modell ist das aussagekräftigste Ähnlichkeitsmodell allgemein.
Experimentelle Auswertung
Volumen Modell:
Solid-Angle Modell:„gut
es“
Ähn
lichk
eits
maß
? „s
chle
chte
s“
Ähn
lichk
eits
maß
?
Volumen Modell:
Solid-Angle Modell: BOSS
[DASFAA 03, ACM Sigmod 03]
München, 15. Oktober 2004Martin Pfeifle
Gliederung des Vortrags
Effektive Ähnlichkeitssuche
Einführung
Datenbankunterstützte Kollisionserkennung
Effiziente Kollisionserkennung
Zusammenfassung und Ausblick
Datenbankunterstützte Ähnlichkeitssuche
Effiziente Ähnlichkeitssuche
SOUT
München, 15. Oktober 2004Martin Pfeifle
SELECT id FROMCADMODELL m WHEREd_object (m.data, :query.data) ≤
Voxelmenge
id geomCADOBJECTS
4710
… …
… …
SELECT id FROMCADOBJECTS t WHEREIsInRange (t.geom, :query.geom,)
Indexierung
(Menge von)Feature-Vektoren
v1
...vn
u1
...um
Indexierung R-Baum (Guttman 84), R*-Baum (Kriegel, Seeger et al. 90) , … Relationaler R-Baum (Ravi Kanth et al. 99) M-Baum (Ciaccia et al. 00), Slim-Bäume (Seeger et al. 00) Relationaler M-Baum (Schmitt 04)
Indexierung vonFeature-VektorenIndexierung vonPunkt-Mengen
… …
CADMODELL
4710
… … id data
(v2,v2,v3…)T
Effiziente ÄhnlichkeitssucheÜberblick
extensibleindexing
Benutzerdefinierte Indexstruktur
CAD-System
Triangulationen
München, 15. Oktober 2004Martin Pfeifle
SELECT id FROMCADMODELL m WHEREd_filter (m.app, :query.app) ≤ ANDd_object (m.data, :query.data) ≤
id app dataCADMODELL
4710
… … …
Indexierung R-Baum (Guttman 84), R*-Baum (Kriegel, Seeger et al. 90) , … Relationaler R-Baum (Ravi Kanth et al. 99) M-Baum (Ciaccia et al. 00), Slim-Bäume (Seeger et al. 00) Relationaler M-Baum (Schmitt 04)
Filter-Verfeinerung Bereichsanfragen (Faloutsos et al. 94) k-nn Anfragen (Korn et al. 96) optimale mehrstufige k-nn Anfragen (Seidl, Kriegel 98)
… … …√vi (v2,v2,v3…)T
Indexierung
Voraussetzungo1, o2 O : df (o1, o2) ≤ do (o1, o2)
id geomCADOBJECTS
4710
… …
… …
SELECT id FROMCADOBJECTS t WHEREIsInRange (t.geom, :query.geom,)
Effiziente ÄhnlichkeitssucheÜberblick
extensibleindexing
Benutzerdefinierte Indexstruktur
Voxelmenge
(Menge von)Feature-Vektoren
v1
...vn
u1
...um
CAD-System
Triangulationen
München, 15. Oktober 2004Martin Pfeifle
v
u
Effiziente ÄhnlichkeitssucheFilter-Verfeinerug
Feature-Vektor (Kosten einer Distanzberechnung: O(d))
Feature Vektoren v wird durch Lp( v ) approximiert (Kosten einer Distanzberechnung: O(1))
u|| - ||pv
u| || ||p - || ||p|v
Filter:
Beweis:
analog: u v
München, 15. Oktober 2004Martin Pfeifle
Effiziente ÄhnlichkeitssucheFilter-Verfeinerug
Feature-Vektor (Kosten einer Distanzberechnung: O(d))
Feature Vektoren v wird durch Lp( v ) approximiert (Kosten einer Distanzberechnung: O(1))
Menge von Feature Vektoren (Kosten einer Distanzberechnung: O(d • k2 + k3)
Norm-Vektor Ansatz Aggregation über Dimensionen (Kosten einer Distanzberechnung: O(k))
Filter1 ungeeignet, weil das zu berechnende Matching schon für Filterberechnung benötigt wird.
Minimale Matching DistanzFilter 1
München, 15. Oktober 2004Martin Pfeifle
Effiziente ÄhnlichkeitssucheFilter-Verfeinerug
Feature-Vektor (Kosten einer Distanzberechnung: O(d))
Feature Vektoren v wird durch Lp( v ) approximiert (Kosten einer Distanzberechnung: O(1))
Menge von Feature Vektoren (Kosten einer Distanzberechnung: O(d • k2 + k3)
Norm-Vektor Ansatz Aggregation über Dimensionen (Kosten einer Distanzberechnung: O(k))
Filter1 ungeeignet, weil das zu berechnende Matching schon für Filterberechnung benötigt wird.
Filter2 basiert auf sortierten Normen und ist geeignet zur Berechnung der Minimalen Matching Distanz.
Minimale Matching DistanzFilter 1
Filter 2
n1 n2 n3 n1 n2 n3 L1 ( , )
n1 n2
n3
n1 n2
n3
Normvektoren
München, 15. Oktober 2004Martin Pfeifle
Effiziente ÄhnlichkeitssucheFilter-Verfeinerug
Feature-Vektor (Kosten einer Distanzberechnung: O(d))
Feature Vektoren v wird durch Lp( v ) approximiert (Kosten einer Distanzberechnung: O(1))
Menge von Feature Vektoren (Kosten einer Distanzberechnung: O(d • k2 + k3)
Norm-Vektor Ansatz Aggregation über Dimensionen (Kosten einer Distanzberechnung: O(k))
Centroid Ansatz Aggregation über Punkte (Kosten einer Distanzberechnung: O(d))
Minimale Matching Distanz
Centroid-Filter
Filter:
Beweis:
x1
x2
x3
y1
y3
y2
= y(1)
= y(2)
= y(3)
C(X)
C(Y)
München, 15. Oktober 2004Martin Pfeifle
Effiziente Ähnlichkeitssuche
Feature-Vektor (Kosten einer Distanzberechnung: O(d))
Feature Vektoren v wird durch Lp( v ) approximiert (Kosten einer Distanzberechnung: O(1))
Menge von Feature Vektoren (Kosten einer Distanzberechnung: O(d • k2 + k3)
Norm-Vektor Ansatz Aggregation über Dimensionen (Kosten einer Distanzberechnung: O(k))
Centroid Ansatz Aggregation über Punkte (Kosten einer Distanzberechnung: O(d))
Kombinierter Ansatz Aggregation über Punkte und Dimensionen (Kosten einer Distanzberechnung: O(d+k))
n1 n2 n3 n1 n2 n3
max { L1 ( , ), Lp ( , )} n1 n2 n3
Kombinierter Filter =CC n1
n2 n3
C C
München, 15. Oktober 2004Martin Pfeifle
Effiziente ÄhnlichkeitssucheExperimentelle Auswertung
Feature Vektor Modelle Norm-Filter führt zu Beschleunigungen um mehr als Faktor 10 bei selektiven Anfragen. Norm-Filter verursacht keine wesentlichen Zusatzkosten bei wenig selektiven Anfragen.
Punkt-Mengen Modell Kombination zwischen Centroid-Filter und Norm-Filter führt zu einer Beschleunigung um mehr als Faktor 10 bei selektiven Anfragen. Diese Filterkombination führt zu besseren Ergebnissen als der Relationale M-Baum. Kombination zwischen dieser Filterkombination und dem Relationalen M-Baum liefert die besten Ergebnisse für Ähnlichkeitsanfragen [MDM/KDD 04] [KAIS 04]. Direkte Integration dieser Filterkombination in OPTICS führt zu einem Performancegewinn bei BOSS von einer Größenordnung [ICDM 04].
Testdatensatz „PLANE“3D CAD Objekteca. 10,000 Objekte
Testdatensatz „CAR“ 3D CAD Objekte ca. 200 Objekte
München, 15. Oktober 2004Martin Pfeifle
Gliederung des Vortrags
Effektive Ähnlichkeitssuche
Einführung
Datenbankunterstützte Kollisionserkennung
Effiziente Kollisionserkennung
Zusammenfassung und Ausblick
Datenbankunterstützte Ähnlichkeitssuche
Effiziente Ähnlichkeitssuche
SOUT
München, 15. Oktober 2004Martin Pfeifle
Zusammenfassung und AusblickZusammenfassung und AusblickZusammenfassung: Effiziente Kollisionsanfragen
Relationale Indexierung Kostenmodelle Statistikbasierte Anfragebeschleunigung Kostenbasierte Objektapproximationen
Effektive und effiziente Ähnlichkeitssuche Punkt-Mengen Ansatz BOSS
Ausblick: Verteilte Datenbanken
Distributed Similarity Join Distributed Intersection Join
Distributed Clustering Paralleles Clustering
Komplexe Objekte Correlation Clustering Effektive Ähnlichkeitssuche
Pattern Correlation Clustering
Fragen?
?
?
?
??
??
?
?