Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof."—  Präsentation transkript:

1 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

2 Kriegel, Pfeifle08.02.2002 - 2 Überblick CAD-Datenbanken Intervalle in Datenbanken Demonstration

3 Kriegel, Pfeifle08.02.2002 - 3 Digitaler Zusammenbau

4 Kriegel, Pfeifle08.02.2002 - 4 Haptische Simulation

5 Kriegel, Pfeifle08.02.2002 - 5 CAD-Datenbanken: Probleme Komplexe geometrische Objekte –Bauteil-Oberflächen und -Volumina –Hüllgeometrien,... Aufwendige Operationen –Bereichs- und Kollisionsanfragen –Kraft-Rückkopplung, …

6 Kriegel, Pfeifle08.02.2002 - 6 CAD-Datenbanken: Probleme

7 Kriegel, Pfeifle08.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, …

8 Kriegel, Pfeifle08.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

9 Kriegel, Pfeifle08.02.2002 - 9 Überblick CAD-Datenbanken Intervalle in Datenbanken Demonstration

10 Kriegel, Pfeifle08.02.2002 - 10 Triangulation Abbildung auf Intervalle Voxelmenge Triangulation Voxelmenge Intervallsequenz

11 Kriegel, Pfeifle08.02.2002 - 11 Schnittanfragen Intervalle sind ausgedehnte Objekte im 1D J226 M51 B43 A47 13579111315 68686868 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

12 Kriegel, Pfeifle08.02.2002 - 12 Naives Relationales Schema Relationales Schema create table Intervals (partid, begin, end); Schnittanfrage (lower, upper) select * from Intervals where begin = lower; Zeitverhalten –O(n) für n Intervalle, da sequentiell gesucht wird –Erwünscht wäre eine sublineare Antwortzeit –Können Indexe eingesetzt werden?

13 Kriegel, Pfeifle08.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), Interval B-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

14 Kriegel, Pfeifle08.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), Interval B-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

15 Kriegel, Pfeifle08.02.2002 - 15 5B5B 13 B Der Relationale Intervallbaum Primärstruktur: Binärbaum mit Wurzel 2 h-1 über dem Bereich [1..2 h -1] Intervalle: Jedes Intervall ist genau einem Knoten zugeordnet Sekundärstruktur: Sortierte Listen von Intervallgrenzen an den Knoten Relationale Speicherung: Abbildung auf Indextabellen (VLDB2000) J226 15 8 135713119 261014 412 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 7M7M 1M1M 3J3J 15 J 5B5B 10 A 15 A M51 B43 A47

16 Kriegel, Pfeifle08.02.2002 - 16 Relationale Speicherung Zwei relationale Indexe speichern die Intervallgrenzen: 4,1,M51 8,3,J226 8,5,B4312,10,A47 lowerIndex (node,lower,id): 4,1,M51 8,3,J226 8,5,B43 12,10,A47 4,7,M51 8,13,B43 8,15,J22612,15,A47 upperIndex (node,upper,id): 4,7,M51 8,13,B43 8,15,J226 12,15,A47 In jedem RDBMS realisierbar: Keine internen Erweiterungen 15 8 135713119 261014 412 3J3J 5B5B 7M7M 1M1M 15 J 13 B 10 A 15 A

17 Kriegel, Pfeifle08.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 upper root 20 25 26 fork 22 28 24 23 16

18 Kriegel, Pfeifle08.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 upper 23242526 28 16 22 20

19 Kriegel, Pfeifle08.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(log b n) Plattenzugriffe. –Einfügezeit ist logarithmisch abhängig von der Datenbankgröße. Schnittanfrage mit r Ergebnissen: O(h·log b n + r b) Plattenzugriffe. –Suchzeit wird dominiert von der Größe der Ergebnismenge. Disk

20 Kriegel, Pfeifle08.02.2002 - 20 Skalierbarkeit: Praktisch Implementierung auf einem kommerziellen RDBS (Oracle8i Datenbankserver) Vergleich mit relationalen Speicherungsstrukturen Relational R-Tree Linear Octree Relational Interval Tree Skalierbarkeit

21 Kriegel, Pfeifle08.02.2002 - 21 Überblick CAD-Datenbanken Intervalle in Datenbanken Demonstration

22 Kriegel, Pfeifle08.02.2002 - 22 CAD-Datenbanken: Realisierung DBS (Oracle8i) Web-Server (Apache) HTTP/HTML JDBC/Java HTTP/VRML (ICDE 01, SIGMOD 01)


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

Ähnliche Präsentationen


Google-Anzeigen