München, 15. Oktober 2004 Martin Pfeifle Datenbankunterstützung für CAD-Anwendungen Martin...

52
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

Transcript of München, 15. Oktober 2004 Martin Pfeifle Datenbankunterstützung für CAD-Anwendungen Martin...

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

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

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

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

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

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

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

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

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

München, 15. Oktober 2004Martin Pfeifle

CADOBJECTSid geom

4711

4710

Kollisionsanfragen

CAD-System Triangulationen

SELECT id FROMCADOBJECTS t WHEREgeom_intersects (t.geom, :query.geom)

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

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)

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

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)

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

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

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

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)

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

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)

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

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)

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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]

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

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]

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

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]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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]

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

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]

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

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!

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

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

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

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)

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

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]

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

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

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

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

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

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]

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

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)

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

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

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

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]

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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?

?

?

?

??

??

?

?