22
Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof. Dr. Hans-Peter Kriegel

Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Embed Size (px)

Citation preview

Page 1: Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Geometrische Objekte in Datenbanken

Martin Pfeifle

Institut für Informatik, Universität München

Lehr- und Forschungseinheit für Datenbanksysteme

Prof. Dr. Hans-Peter Kriegel

Page 2: Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Kriegel, Pfeifle 08.02.2002 - 2

Überblick

• CAD-Datenbanken

• Intervalle in Datenbanken

• Demonstration

Page 3: Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Kriegel, Pfeifle 08.02.2002 - 3

Digitaler Zusammenbau

Page 4: Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Kriegel, Pfeifle 08.02.2002 - 4

Haptische Simulation

Page 5: Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Kriegel, Pfeifle 08.02.2002 - 5

CAD-Datenbanken: Probleme

• Komplexe geometrische Objekte– Bauteil-Oberflächen und -Volumina– Hüllgeometrien, ...

• Aufwendige Operationen– Bereichs- und Kollisionsanfragen– Kraft-Rückkopplung, …

Page 6: Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Kriegel, Pfeifle 08.02.2002 - 6

CAD-Datenbanken: Probleme

Page 7: Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Kriegel, Pfeifle 08.02.2002 - 7

CAD-Datenbanken: Probleme

• Komplexe geometrische Objekte– Bauteil-Oberflächen und -Volumina– Hüllgeometrien,...

• Aufwendige Operationen– Bereichs- und Kollisionsanfragen– Kraft-Rückkopplung, …

• Große Datenmengen– Millionen von geometrischen Objekten– Viele Gigabytes Speicherplatz

• Viele Benutzer– Interne und externe Konstrukteure– Fertigungsplanung, Einkauf, …

Page 8: Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Kriegel, Pfeifle 08.02.2002 - 8

CAD-Datenbanken: Ziele

Effektivität– Verwaltung von geometrischen Objekten– Räumliche Anfragebearbeitung

Effizienz– Kurze Antwortzeiten für Anfragen– Schnelles Einfügen, Ändern und Entfernen

Skalierbarkeit– Verwaltung sehr großer Datenmengen– Anbindung vieler Benutzer

Page 9: Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Kriegel, Pfeifle 08.02.2002 - 9

Überblick

• CAD-Datenbanken

• Intervalle in Datenbanken

• Demonstration

Page 10: Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Kriegel, Pfeifle 08.02.2002 - 10

Triangulation

Abbildung auf Intervalle

Voxelmenge

Triangulation

Voxelmenge

Intervallsequenz

Page 11: Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Kriegel, Pfeifle 08.02.2002 - 11

Schnittanfragen

• Intervalle sind ausgedehnte Objekte im 1D

J226M51B43A47

1 3 5 7 9 11 13 15

66 88

„„Welche Datenbankintervalle schneiden den Anfragebereich?“Welche Datenbankintervalle schneiden den Anfragebereich?“

• Verwaltung in relationalen Datenbanksystemen+ Gut geeignet für große Datenmengen und viele Benutzer

– Keine unmittelbare Unterstützung für Intervalldaten

Page 12: Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Kriegel, Pfeifle 08.02.2002 - 12

Naives Relationales Schema

• Relationales Schemacreate table Intervals (partid, begin, end);

• Schnittanfrage (lower, upper)select * from Intervals where begin <= upper and end >= lower;

• Zeitverhalten– O(n) für n Intervalle, da sequentiell gesucht wird– Erwünscht wäre eine sublineare Antwortzeit– Können Indexe eingesetzt werden?

Intervalspartid begin endJ226 3 15M51 1 7B43 5 13A47 10 15

Page 13: Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Kriegel, Pfeifle 08.02.2002 - 13

Bisherige Ansätze

• Hauptspeicherstrukturen– keine Persistenz– keine Blockstruktur

• Sekundärspeicherstrukturen+ Persistent, sehr effizient– Erweiterungen im DB-Kern, in

der Regel nicht möglich

• Relationale Speicherung+ Benutzung statt Erweiterung+ Einfache Implementierung+ Effizienz muß nicht leiden

Interval Tree (‘80), Segment Tree (‘80), Priority Search Tree (‘85), Interval Skip List (‘90)

Time Index (‘90), Segment R-tree (‘91), Path Caching (‘94), TP-Index (‘94), External Segment Tree (‘94), IntervalB-tree (‘95), External Memory Interval Tree (‘96), Interval B+-tree (‘98)

D-Order (‘96), Window List (‘97), Linear Segment Tree (‘99), MAP21 (‘99)

Disk

No DB

SQL

Page 14: Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Kriegel, Pfeifle 08.02.2002 - 14

Bisherige Ansätze

• Hauptspeicherstrukturen– keine Persistenz– keine Blockstruktur

• Sekundärspeicherstrukturen+ Persistent, sehr effizient– Erweiterungen im DB-Kern, in

der Regel nicht möglich

• Relationale Speicherung+ Benutzung statt Erweiterung+ Einfache Implementierung+ Effizienz muß nicht leiden

Interval Tree (‘80), Segment Tree (‘80), Priority Search Tree (‘85), Interval Skip List (‘90)

Time Index (‘90), Segment R-tree (‘91), Path Caching (‘94), TP-Index (‘94), External Segment Tree (‘94), IntervalB-tree (‘95), External Memory Interval Tree (‘96), Interval B+-tree (‘98)

D-Order (‘96), Window List (‘97), Linear Segment Tree (‘99), MAP21 (‘99)x

Disk

No DB

SQL

Page 15: Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Kriegel, Pfeifle 08.02.2002 - 15

5B 13B

Der Relationale Intervallbaum

• Primärstruktur: Binärbaum mit Wurzel 2h-1 über dem Bereich [1..2h-1]

• Intervalle: Jedes Intervall ist genau einem Knoten zugeordnet

• Sekundärstruktur: Sortierte Listen von Intervallgrenzen an den Knoten

• Relationale Speicherung: Abbildung auf Indextabellen (VLDB‘2000)

J226

15

8

1 3 5 7 13119

2 6 10 14

4 12

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

7M1M

3J

15J5B 10A 15A

M51B43A47

Page 16: Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Kriegel, Pfeifle 08.02.2002 - 16

Relationale Speicherung

• Zwei relationale Indexe speichern die Intervallgrenzen:

lowerIndex (node,lower,id): 4,1,M51 8,3,J226 8,5,B434,1,M51 8,3,J226 8,5,B43 12,10,A4712,10,A47

upperIndex (node,upper,id): 4,7,M51 8,13,B43 8,15,J2264,7,M51 8,13,B43 8,15,J226 12,15,A4712,15,A47

• In jedem RDBMS realisierbar: Keine internen Erweiterungen

15

8

1 3 5 7 13119

2 6 10 14

4 123J

5B7M1M15J

13B

10A 15A

Page 17: Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Kriegel, Pfeifle 08.02.2002 - 17

Anfragevorbereitung

• Steige (arithmetisch) von root bis lower und bis upper ab:– Für Intervalle i in Knoten links von lower: Teste i.upper lower

– Für Intervalle i in Knoten rechts von upper: Teste i.lower upper

– Für Knoten von lower bis upper: Ausgabe aller Intervalle

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

lower upperlower upper

root

20

25

26

forkfork

22

28

24

23

16

Page 18: Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Kriegel, Pfeifle 08.02.2002 - 18

Relationale Bearbeitung

Join-Anfrage auf den Indexen:SELECT id FROM upperIndex i, leftQueries left

WHERE i.node = left.node AND i.upper >= lower

UNION ALL

SELECT id FROM lowerIndex i, rightQueries right

WHERE i.node = right.node AND i.lower <= upper

UNION ALL

SELECT id FROM lowerIndex i /*oder upperIndex i*/

WHERE i.node BETWEEN lower AND upper23 24 25 26

28

16 2220

Page 19: Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Kriegel, Pfeifle 08.02.2002 - 19

Skalierbarkeit: Analytisch

Wie verhält sich das System bei großen Datenmengen?

• Gegeben sei eine Platte mit Blockgröße b, ein Relationaler Intervallbaum der Höhe h und eine Menge von n Intervallen.

• Speicherplatzbedarf: O(n/b) Plattenblöcke.– Platzbedarf ist linear abhängig von der Datenbankgröße.

• Einfügen oder Entfernen eines Intervalls: O(logbn) Plattenzugriffe.– Einfügezeit ist logarithmisch abhängig von der Datenbankgröße.

• Schnittanfrage mit r Ergebnissen: O(h·logbn + rb) Plattenzugriffe.– Suchzeit wird dominiert von der Größe der Ergebnismenge.

Disk

Page 20: Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Kriegel, Pfeifle 08.02.2002 - 20

Skalierbarkeit: Praktisch

• Implementierung auf einem

kommerziellen RDBS

(Oracle8i Datenbankserver)

• Vergleich mit relationalen

Speicherungsstrukturen

Relational R-TreeRelational R-Tree

Linear OctreeLinear Octree

Relational Interval Tree

Skalierbarkeit

0

2

4

6

8

0 400,000 800,000 1,200,000 1,600,000

database size [no. of polygons]

resp

on

se t

ime

[sec

]

Relational Interval Tree

Linear Octree

Relational R-tree

Page 21: Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Kriegel, Pfeifle 08.02.2002 - 21

Überblick

• CAD-Datenbanken

• Intervalle in Datenbanken

• Demonstration

Page 22: Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof

Kriegel, Pfeifle 08.02.2002 - 22

CAD-Datenbanken: Realisierung

DBS (Oracle8i)

Web-Server (Apache)HTTP/HTML

JDBC/Java

HTTP/VRML

(ICDE ‘01, SIGMOD ‘01)