Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

München, 15. Oktober 2004 Martin Pfeifle Datenbankunterstützung für CAD-Anwendungen Martin Pfeifle LFE Datenbanksysteme Department „Institut für Informatik“

Ähnliche Präsentationen


Präsentation zum Thema: "München, 15. Oktober 2004 Martin Pfeifle Datenbankunterstützung für CAD-Anwendungen Martin Pfeifle LFE Datenbanksysteme Department „Institut für Informatik“"—  Präsentation transkript:

1 München, 15. Oktober 2004 Martin Pfeifle Datenbankunterstützung für CAD-Anwendungen Martin Pfeifle LFE Datenbanksysteme Department „Institut für Informatik“ LMU München Prof. Dr. Hans-Peter Kriegel Promotionsvortrag München, 15. Oktober 2004

2 Martin Pfeifle Einleitung räumliche Objekte komplexe CAD-DB Ähnlichkeitsanfrage Kollisionsanfrage 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

3 München, 15. Oktober 2004 Martin Pfeifle Einleitung räumliche Objekte komplexe CAD-DB CAD- Datenbanksysteme (basierend auf erweiterbarem ORDBMS) Kollisionsanfrage Systemanforderungen:  Effektivität  Effizienz  Skalierbarkeit  Industrietauglichkeit Ähnlichkeitsanfrage

4 München, 15. Oktober 2004 Martin Pfeifle Gliederung des Vortrags Effektive Ähnlichkeitssuche Einführung Datenbankunterstützte Kollisionserkennung Effiziente Kollisionserkennung Zusammenfassung und Ausblick Datenbankunterstützte Ähnlichkeitssuche Effiziente Ähnlichkeitssuche S OUT

5 München, 15. Oktober 2004 Martin Pfeifle CADOBJECTS id geom … … Kollisionsanfragen CAD-System Triangulationen SELECT id FROM CADOBJECTS t WHERE geom_intersects (t.geom, :query.geom)

6 München, 15. Oktober 2004 Martin Pfeifle id geom CADOBJECTS … … Kollisionsanfragen CAD-System Triangulationen app SELECT id FROM CADOBJECTS t WHERE app_intersects (t.app, :query.app) AND geom_intersects (t.geom, :query.geom)

7 München, 15. Oktober 2004 Martin Pfeifle id geom CADOBJECTS … … Kollisionsanfragen CAD-System Triangulationen SELECT id FROM CADOBJECTS t WHERE geom_intersects (t.geom, :query.geom) id CADAPPROX app SELECT t.id FROM CADOBJECTS t, CADAPPROX a WHERE app_intersects (a.app, :query.app) AND a.id=t.id AND geom_intersects (t.geom, :query.geom) Relationaler R-Baum (Ravi Kanth et al. 99) } … … extensible indexing Benutzerdefinierte Indexstruktur B-Baum (Bayer et al. 72)

8 München, 15. Oktober 2004 Martin Pfeifle id geom CADOBJECTS … … Kollisionsanfragen CAD-System Triangulationen SELECT id FROM CADOBJECTS t WHERE geom_intersects (t.geom, :query.geom) id CADAPPROX app SELECT t.id FROM CADOBJECTS t, CADAPPROX a WHERE app_intersects (a.app, :query.app) AND a.id=t.id AND geom_intersects (t.geom, :query.geom) … … Voxelmenge extensible indexing Benutzerdefinierte Indexstruktur

9 München, 15. Oktober 2004 Martin Pfeifle id geom CADOBJECTS … … Kollisionsanfragen CAD-System Triangulationen SELECT id FROM CADOBJECTS t WHERE geom_intersects (t.geom, :query.geom) id CADAPPROX exact … … Voxelmenge extensible indexing Benutzerdefinierte Indexstruktur SELECT a.id FROM CADAPPROX a WHERE app_intersects (a.exact, :query.exact)

10 München, 15. Oktober 2004 Martin Pfeifle id geom CADOBJECTS … … Kollisionsanfragen CAD-System Triangulationen SELECT id FROM CADOBJECTS t WHERE geom_intersects (t.geom, :query.geom) id CADAPPROX exact … … Voxelmenge Menge von Intervallen extensible indexing Benutzerdefinierte Indexstruktur Relationaler Intervall Baum (Kriegel et al. 01) } B-Baum (Bayer et al. 72) SELECT a.id FROM CADAPPROX a WHERE app_intersects (a.exact, :query.exact)

11 München, 15. Oktober 2004 Martin Pfeifle id geom CADOBJECTS … … Kollisionsanfragen CAD-System Triangulationen SELECT id FROM CADOBJECTS t WHERE geom_intersects (t.geom, :query.geom) CADAPPROX Voxelmenge Menge von Tiles id exact … … extensible indexing Benutzerdefinierte Indexstruktur Relationaler Quadtree (Freytag et al. 01) } B-Baum (Bayer et al. 72) SELECT a.id FROM CADAPPROX a WHERE app_intersects (a.exact, :query.exact)

12 München, 15. Oktober 2004 Martin Pfeifle id geom CADOBJECTS … … Kollisionsanfragen CAD-System Triangulationen SELECT id FROM CADOBJECTS t WHERE geom_intersects (t.geom, :query.geom) CADAPPROX Voxelmenge Menge von Boxen id exact … … extensible indexing Benutzerdefinierte Indexstruktur Relationaler R-Baum (Ravi Kanth et al. 99) } B-Baum (Bayer et al. 72) SELECT a.id FROM CADAPPROX a WHERE app_intersects (a.exact, :query.exact)

13 München, 15. Oktober 2004 Martin Pfeifle Extensible Indexing Benutzerdefinierte Indexstruktur Relationale Implementation Extensible Indexing Framework Datenbank-Kern Block-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

14 München, 15. Oktober 2004 Martin 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-Kern Block-Manager, Caches, Locking, Logging, … Benutzerdefiniertes Kostenmodell [SSDBM 02] [DASFAA 03] Extensible Optimization Framework Relationale Implementation Deklarative Einbindung Objekt-Relationale DML und DDL

15 München, 15. Oktober 2004 Martin 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-Kern Block-Manager, Caches, Locking, Logging, … Benutzerdefiniertes Kostenmodell [SSDBM 02] [DASFAA 03] Extensible Optimization Framework Relationale Implementation Deklarative Einbindung Objekt-Relationale DML und DDL

16 München, 15. Oktober 2004 Martin 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-Kern Block-Manager, Caches, Locking, Logging, … Benutzerdefiniertes Kostenmodell [SSDBM 02] [DASFAA 03] Extensible Optimization Framework Relationale Implementation Deklarative Einbindung Objekt-Relationale DML und DDL

17 München, 15. Oktober 2004 Martin Pfeifle Gliederung des Vortrags Effektive Ähnlichkeitssuche Einführung Datenbankunterstützte Kollisionserkennung Effiziente Kollisionserkennung Zusammenfassung und Ausblick Datenbankunterstützte Ähnlichkeitssuche Effiziente Ähnlichkeitssuche S OUT

18 München, 15. Oktober 2004 Martin Pfeifle Anfragesequenz auf B + -Baum Anfrageobjekt Lücken Ergebnis B + -Baum Blöcke auf 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

19 München, 15. Oktober 2004 Martin Pfeifle Anfragesequenz auf B + -Baum Anfrageobjekt Lücken Ergebnis B + -Baum Blöcke auf 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 Kollisionserkennung Kostenbasierte Anfragebearbeitung [MMM 05, DASFAA 04]

20 München, 15. Oktober 2004 Martin Pfeifle Anfragesequenz auf B + -Baum Lücken Ergebnis B + -Baum Blöcke auf 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 c scan < c navi Kostenbasierte Anfragebearbeitung [MMM 05, DASFAA 04]

21 München, 15. Oktober 2004 Martin Pfeifle Anfragesequenz auf B + -Baum Lücken Ergebnis B + -Baum Blöcke auf 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 Kollisionserkennung Kostenbasierte Anfragebearbeitung [MMM 05, DASFAA 04]

22 München, 15. Oktober 2004 Martin 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

23 München, 15. Oktober 2004 Martin Pfeifle CADAPPROX id 4710 app … … Relationaler Quadtree (Freytag et al. 01) } … … … … Benutzerdefinierte Indexstruktur exact Datenbankobjekt  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 CADAPPROX id 4710 exact … … Relationaler Quadtree (Freytag et al. 01) } … … … … Benutzerdefinierte Indexstruktur Kompression

24 München, 15. Oktober 2004 Martin 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 graue Tiles, Intervalle oder Boxen Datenbankobjekt Gruppierungsalgorithmus  p(C i )cost(C i ) > p(C gesamt )cost(C gesamt ) C1C1 C2C2 C1C1 C1C1 C1C1 C1C1 C8C8 C7C7 C gesamt Kostenbasierte Objektverwaltung [DASFAA 03, ACM GIS 04] Effiziente Kollisionserkennung

25 München, 15. Oktober 2004 Martin 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 graue Tiles, Intervalle oder Boxen Datenbankobjekt Kostenbasierte Objektverwaltung [DASFAA 03, ACM GIS 04] Effiziente Kollisionserkennung Gruppierungsalgorithmus  p(C i )cost(C i ) > p(C gesamt )cost(C gesamt ) C1C1 C2C2 C1C1 C1C1 C1C1 C1C1 C8C8 C7C7 C gesamt

26 München, 15. Oktober 2004 Martin 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 graue Tiles, Intervalle oder Boxen Datenbankobjekt Kostenbasierte Objektverwaltung [DASFAA 03, ACM GIS 04] Effiziente Kollisionserkennung Gruppierungsalgorithmus  p(C i )cost(C i ) > p(C gesamt )cost(C gesamt ) C1C1 C2C2 C1C1 C1C1 C1C1 C1C1 C8C8 C7C7 C gesamt

27 München, 15. Oktober 2004 Martin 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 graue Tiles, Intervalle oder Boxen Datenbankobjekt Kostenbasierte Objektverwaltung [DASFAA 03, ACM GIS 04] Effiziente Kollisionserkennung Gruppierungsalgorithmus  p(C i )cost(C i ) > p(C gesamt )cost(C gesamt ) C1C1 C2C2 C1C1 C1C1 C1C1 C1C1 C8C8 C7C7 C gesamt

28 München, 15. Oktober 2004 Martin Pfeifle Testdatensatz „PLANE“ 3D CAD Objekte ca. 10,000 Objekte ca. 18 Million Voxel 9 Millionen Intervalle Auflösung: 42 bit ( ) Testdatensatz „CAR“ 3D CAD Objekte ca. 200 Objekte ca. 14 Million Voxel 7 Millionen Intervalle Auflösung: 33 bit ( ) 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 Kollisionserkennung Experimentelle Auswertung

29 München, 15. Oktober 2004 Martin Pfeifle Gliederung des Vortrags Effektive Ähnlichkeitssuche Einführung Datenbankunterstützte Kollisionserkennung Effiziente Kollisionserkennung Zusammenfassung und Ausblick Datenbankunterstützte Ähnlichkeitssuche Effiziente Ähnlichkeitssuche S OUT

30 München, 15. Oktober 2004 Martin Pfeifle Ähnlichkeitssuche Ä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 ? }),(|{),(  qodDBoqsim range ),( k  NN q (k), wobei qsim k-nn ),(),(|)(:|)(\),( 2121 qodqodkkNkNNDBokNNo qqq  CAD-DB Anfragetypen [MDM/KDD 03, SIAM 04, ICDE 04]

31 München, 15. Oktober 2004 Martin 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]

32 München, 15. Oktober 2004 Martin Pfeifle Ähnlichkeitsanfragen BOSS ? CAD-DB Ähnlichkeitssuche Distanzmaß  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 (o 1,o 2 ) = dist (F(o 1 ), F(o 2 ))  Invarianz bezüglich einer Klasse K von Transformationen T Skalierung, Translation, 90°-Rotation, Spiegelung  Erweiterte Definition des Ähnlichkeitsmaß simdist: O × O → IR simdist (o 1, o 2 ) = min {dist (F(o 1 ), F(T(o 2 ) ) )} TKTK Für Ähnlichkeitsanfragen und BOSS ist quantitatives Distanzmaß wichtig !

33 München, 15. Oktober 2004 Martin Pfeifle Gliederung des Vortrags Effektive Ähnlichkeitssuche Einführung Datenbankunterstützte Kollisionserkennung Effiziente Kollisionserkennung Zusammenfassung und Ausblick Datenbankunterstützte Ähnlichkeitssuche Effiziente Ähnlichkeitssuche S OUT

34 München, 15. Oktober 2004 Martin Pfeifle normalisiertes, voxelisiertes Objekt o Raumpartitionierende Modelle Feature Transformation 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(o 1, o 2 ) = L p (F(o 1 ), F(T(o 2 ))) CAD Objekt o Feature Vektor F(o)

35 München, 15. Oktober 2004 Martin Pfeifle 4  Es wird die Anzahl der Objekt Voxel V i o in jeder Zelle i gezählt.  Normalisiere diesen Wert mit der Zellengröße K.  Feature-Wert für jede Zelle i : f o (i) =, mit K = im 3D Fall K V o i 3 p r )( 1/91/ Raumpartitionierende Modelle Volumen Modell [2D Beispiel]

36 München, 15. Oktober 2004 Martin Pfeifle  Solid-Angle Modell mißt die Konkavität und Konvexität von Oberflächen SySy y SxSx x  Jede Zelle wird durch eine Dimension im Feature-Vektor repräsentiert.  f o (i) = 1 falls Zelle i nur innere Objektvoxel von o enthält Raumpartitionierende Modelle Solid-Angle Modell (Connolly 86) [2D Beispiel]  f o (i) = 0 falls Zelle i keine Objektvoxel von o enthält |S v |  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. |S v  V o | SvSv  m j=1 m 1  f o (i) = SA(v i j ) falls Zelle i m Oberflächenvoxel v i j enthält

37 München, 15. Oktober 2004 Martin Pfeifle Raumpartitionierende Modelle [2D Beispiel] o i C  o i oo Cvv    o i Cov o i  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 3D Zelle i 0x0x Kennzahlen der Zelle i

38 München, 15. Oktober 2004 Martin Pfeifle S 2 =((C 0 +C 1 )+ C 2 ) Err 2 = S 1 =(C 0 +C 1 ) Err 1 =14 Cover-Sequence: Error: 2D Feature Vektor f o : f o 4·i+1 = x-Position von C i f o 4·i+2 = y-Position von C i f o 4·i+3 = x-Ausdehnung von C i f o 4·i+4 = y-Ausdehnung von C i S 3 =((C 0 +C 1 )+ C 2 )-C 3 ) Err 3 =7  Approximation des Objektes o durch eine Sequenz von Rechtecken (Jagadish 91).  Rechteck-Sequenz S k = (((C 0  1 C 1 )  2 C 2 ) …  k C k ), wobei C i achsenparallelle Rechtecke sind,  i  {+, -} und k = Anzahl der Rechtecke.  Als Approximationsgüte Err k wird die symmetrische Flächendifferenz verwendet Err k =|o XOR S k |.  Berechnung von S k 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]

39 München, 15. Oktober 2004 Martin Pfeifle Datenbank Objekt Anfrage Objekt S 4 query (original) = ((((C 0 + C 1 ) – C 2 ) – C 3 ) – C 4 ) S 4 database q 1px q 1py q 1ax q 1ay q 2px q 2py q 2ax q 3px q 3py q 3ax q 3ay q 4px q 4py q 4ax q 4ay L 2 (, db 1px db 1py db 1ax db 1ay db 2px db 2py db 2ax db 3px db 3py db 3ax db 3ay db 4px db 4py db 4ax db 4ay ) S 4 query (optimal) = ((((C 0 + C 1 ) – C 3 ) – C 4 ) – C 2 ) S 4 database q 1px q 1py q 1ax q 1ay q 3px q 3py q 3ax q 3ay q 4px q 4py q 4ax q 4ay q 2px q 2py q 2ax L 2 (, db 1px db 1py db 1ax db 1ay db 2px db 2py db 2ax db 3px db 3py db 3ax db 3ay db 4px db 4py db 4ax db 4ay ) >> Datenpartitionierende Modelle Cover-Sequence Modell (Jagadish 91)

40 München, 15. Oktober 2004 Martin Pfeifle  vollständige Matching Position X Position Y Ausdehnung Y Ausdehnung X q 1px q 1py q 1ex q 1ey q 2px q 2py q 2ex q 3px q 3py q 3ex q 3ey q 4px q 4py q 4ex q 4ey q 1px q 1py q 1ex q 1ey q 2px q 2py q 2ex q 3px q 3py q 3ex q 3ey q 4px q 4py q 4ex q 4ey db 1px db 1py db 1ex db 1ey db 2px db 2py db 2ex db 3px db 3py db 3ex db 3ey db 4px db 4py db 4ex db 4ey db 1px db 1py db 1ex db 1ey db 2px db 2py db 2ex db 3px db 3py db 3ex db 3ey db 4px db 4py db 4ex db 4ey  Die Rechteck Sequenz S k = (((C 0  1 C 1 )  2 C 2 ) …  k C k ) 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 = (X  Y, X  Y)  Gewichtsfunktion für nicht zugeordnete Knoten, falls |X|  |Y|  Das Gewicht jeder Kante (x, y)  X  Y ist L 2 (x, y)  Berechnung durch Kuhn Munkres Algorithmus in O(k 3 )  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

41 München, 15. Oktober 2004 Martin 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: „gutes“ Ähnlichkeitsmaß? „schlechtes“ Ähnlichkeitsmaß? Volumen Modell: Solid-Angle Modell: BOSS [DASFAA 03, ACM Sigmod 03]

42 München, 15. Oktober 2004 Martin Pfeifle Gliederung des Vortrags Effektive Ähnlichkeitssuche Einführung Datenbankunterstützte Kollisionserkennung Effiziente Kollisionserkennung Zusammenfassung und Ausblick Datenbankunterstützte Ähnlichkeitssuche Effiziente Ähnlichkeitssuche S OUT

43 München, 15. Oktober 2004 Martin Pfeifle SELECT id FROM CADMODELL m WHERE d_object (m.data, :query.data) ≤  Voxelmenge id geom CADOBJECTS 4710 … SELECT id FROM CADOBJECTS t WHERE IsInRange (t.geom, :query.geom,  ) Indexierung (Menge von) Feature-Vektoren v 1... v n u 1... u m 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 von Feature-Vektoren Indexierung von Punkt-Mengen … CADMODELL 4710 … id data (v 2,v 2,v 3 …) T Effiziente Ähnlichkeitssuche Überblick extensible indexing Benutzerdefinierte Indexstruktur CAD-System Triangulationen

44 München, 15. Oktober 2004 Martin Pfeifle SELECT id FROM CADMODELL m WHERE d_filter (m.app, :query.app) ≤  AND d_object (m.data, :query.data) ≤  id app data CADMODELL 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) … … … √ v i (v 2,v 2,v 3 …) T Indexierung Voraussetzung  o 1, o 2  O : d f (o 1, o 2 ) ≤ d o (o 1, o 2 ) id geom CADOBJECTS 4710 … SELECT id FROM CADOBJECTS t WHERE IsInRange (t.geom, :query.geom,  ) Effiziente Ähnlichkeitssuche Überblick extensible indexing Benutzerdefinierte Indexstruktur Voxelmenge (Menge von) Feature-Vektoren v 1... v n u 1... u m CAD-System Triangulationen

45 München, 15. Oktober 2004 Martin Pfeifle v u Effiziente Ähnlichkeitssuche Filter-Verfeinerug Feature-Vektor (Kosten einer Distanzberechnung: O(d))  Feature Vektoren v wird durch L p ( v ) approximiert (Kosten einer Distanzberechnung: O(1)) u || - || p v u | || || p - || || p |v Filter: Beweis: analog: uv

46 München, 15. Oktober 2004 Martin Pfeifle Effiziente Ähnlichkeitssuche Filter-Verfeinerug Feature-Vektor (Kosten einer Distanzberechnung: O(d))  Feature Vektoren v wird durch L p ( v ) approximiert (Kosten einer Distanzberechnung: O(1)) Menge von Feature Vektoren (Kosten einer Distanzberechnung: O(d k 2 + k 3 )  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 Distanz Filter 1

47 München, 15. Oktober 2004 Martin Pfeifle Effiziente Ähnlichkeitssuche Filter-Verfeinerug Feature-Vektor (Kosten einer Distanzberechnung: O(d))  Feature Vektoren v wird durch L p ( v ) approximiert (Kosten einer Distanzberechnung: O(1)) Menge von Feature Vektoren (Kosten einer Distanzberechnung: O(d k 2 + k 3 )  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 Distanz Filter 1 Filter 2 n1n1 n2n2 n3n3 n1n1 n2n2 n3n3 L 1 (, ) n1n2n3n1n2n3 n1n2n3n1n2n3 Normvektoren

48 München, 15. Oktober 2004 Martin Pfeifle Effiziente Ähnlichkeitssuche Filter-Verfeinerug Feature-Vektor (Kosten einer Distanzberechnung: O(d))  Feature Vektoren v wird durch L p ( v ) approximiert (Kosten einer Distanzberechnung: O(1)) Menge von Feature Vektoren (Kosten einer Distanzberechnung: O(d k 2 + k 3 )  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: x1x1 x2x2 x3x3 y1y1 y3y3 y2y2 = y  (1) = y  (2) = y  (3) C(X)C(X) C(Y)C(Y)

49 München, 15. Oktober 2004 Martin Pfeifle Effiziente Ähnlichkeitssuche Feature-Vektor (Kosten einer Distanzberechnung: O(d))  Feature Vektoren v wird durch L p ( v ) approximiert (Kosten einer Distanzberechnung: O(1)) Menge von Feature Vektoren (Kosten einer Distanzberechnung: O(d k 2 + k 3 )  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) ) n1n1 n2n2 n3n3 n1n1 n2n2 n3n3 max { L 1 (, ), L p (, )} n1n2n3n1n2n3 Kombinierter Filter = C C n1n2n3n1n2n3 C C

50 München, 15. Oktober 2004 Martin Pfeifle Effiziente Ähnlichkeitssuche Experimentelle 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 Objekte ca. 10,000 Objekte Testdatensatz „CAR“ 3D CAD Objekte ca. 200 Objekte

51 München, 15. Oktober 2004 Martin Pfeifle Gliederung des Vortrags Effektive Ähnlichkeitssuche Einführung Datenbankunterstützte Kollisionserkennung Effiziente Kollisionserkennung Zusammenfassung und Ausblick Datenbankunterstützte Ähnlichkeitssuche Effiziente Ähnlichkeitssuche S OUT

52 München, 15. Oktober 2004 Martin Pfeifle Zusammenfassung und Ausblick Zusammenfassung: 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? ? ? ? ? ? ? ? ? ?


Herunterladen ppt "München, 15. Oktober 2004 Martin Pfeifle Datenbankunterstützung für CAD-Anwendungen Martin Pfeifle LFE Datenbanksysteme Department „Institut für Informatik“"

Ähnliche Präsentationen


Google-Anzeigen