Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Martin Pfeifle, 26.07.01 Objekt - relationale Verwaltung hochauflösender CAD-Datenbanken Martin Pfeifle LFE Datenbanksysteme Institut für Informatik LMU.

Ähnliche Präsentationen


Präsentation zum Thema: "Martin Pfeifle, 26.07.01 Objekt - relationale Verwaltung hochauflösender CAD-Datenbanken Martin Pfeifle LFE Datenbanksysteme Institut für Informatik LMU."—  Präsentation transkript:

1 Martin Pfeifle, 26.07.01 Objekt - relationale Verwaltung hochauflösender CAD-Datenbanken Martin Pfeifle LFE Datenbanksysteme Institut für Informatik LMU München Prof. Dr. Hans-Peter Kriegel Betreuer: Dr. Marco Pötke (LMU) Dr. habil. Thomas Seidl (LMU)

2 Martin Pfeifle, 26.07.01 Gliederung des Vortrages 1.) Einleitung 2.) RI-Baum 3.) X-RI-Baum 4) weitere Aspekte 5.) Fazit

3 Martin Pfeifle, 26.07.01 Gliederung des Vortrages 1.) Einleitung 2.) RI-Baum 3.) X-RI-Baum 4) weitere Aspekte 5.) Fazit  Räumliche Datenbanken  Räumliche Objekte  Anfragebearbeitung

4 Martin Pfeifle, 26.07.01 Räumliche Datenbanksysteme Koll.- anfrage Systemanforderungen:  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 komplexe Boxanfrage räumliche Objekte RäumlicheDatenbanksysteme (basierend auf erweiterbarem ORDBMS)

5 Martin Pfeifle, 26.07.01 Beschreibung räumlicher Objekte Triangulationen Voxelmenge 1.) Linearisierung des Datenraums – Gitter-Approximation – Raumfüllende Kurve Intervallsequenz 2.) Bildung von Intervall Sequenzen – Bottom-up bzw. Top-down – size-bound bzw. error-bound

6 Martin Pfeifle, 26.07.01 Anfragebearbeitung Filter - Schritt Kandidaten Menge für Verfeinerungs- Schritt CAD- DB Verfeinerungs- Schritt ORDBMSORDBMS CADCAD Ergebnis RI-BaumX- hochauflösende X-

7 Martin Pfeifle, 26.07.01 Gliederung des Vortrages  Grundlagen des Relationalen Intervall Relationalen Intervall Baumes Baumes  Anfragebearbeitung 1.) Einleitung 2.) RI-Baum 3.) X-RI-Baum 4) weitere Aspekte 5.) Fazit

8 Martin Pfeifle, 26.07.01  Grundlage: Binärer Intervallbaum [ Edelsbrunner 1980 ] Relationaler Intervall Baum 3a3a 15 a 12 c 5c5c 15 a 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 15 8 135713119 261014 412 A B C D 7b7b 1b1b 13 d

9 Martin Pfeifle, 26.07.01 A B C D  Grundlage: Binärer Intervallbaum [ Edelsbrunner 1980 ]  1. Idee: Virtualisierung der Primärstruktur Relationaler Intervall Baum 3a3a 15 a 12 c 5c5c 15 a 15 8 135713119 261014 412 7b7b 1b1b 13 d 15135713119 261014 412 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 12 h – 1 root = 2 h–1

10 Martin Pfeifle, 26.07.01  Grundlage: Binärer Intervallbaum [ Edelsbrunner 1980 ]  1. Idee: Virtualisierung der Primärstruktur Relationaler Intervall Baum  2. Idee: Zwei B+-Bäume speichern Intervallgrenzen nodelower 4 8 13 1 3 5 13 id bacdbacd nodeupper 4 8 13 7 12 15 13 id bcadbcad lowerIndexupperIndex root = 2 h–1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8 15135713119 261014 412 3a3a 15 a 12 c 5c5c 15 a 7b7b 1b1b 13 d A B C D

11 Martin Pfeifle, 26.07.01 Anfragebearbeitung 1. Prozedurale Phase 2. Deklarative Phase

12 Martin Pfeifle, 26.07.01 Anfragebearbeitung 1. Prozedurale Phase 16 = root 24 = fork 25 28 26 20 22 23 2. Deklarative Phase – Relationale Bearbeitung durch eine (einzige) SQL-Anfrage – Anzahl von I/O-Zugriffen: O(h·log b n + r/b)  arithmetische Traversierung durch Primärstruktur  Sammeln der besuchten Knoten in transienten Tabellen  Anzahl von I/0-Zugriffen: 0 select id from upperIndex i, :leftNodes left where i.node = left.node and i.upper >= :Q.lower union all select id from lowerIndex i, :rightNodes right where i.node = right.node and i.lower <= :Q.upper union all select id from upperIndex i where i.node between :Q.lower and :Q.upper 16 20 28 26 22-25 upper = 25 22 = lower Schnittanfrage Q

13 Martin Pfeifle, 26.07.01 Gliederung des Vortrages  Idee  Graue Intervalle Einführung Einführung Speicherung Speicherung  Mehrstufige Anfragebearbeitung Anfragebearbeitung Einführung Einführung 1. Filterschritt 1. Filterschritt 2. Filterschritt 2. Filterschritt 3. Filterschritt 3. Filterschritt  Experimentelle Ergebnisse Ergebnisse 1.) Einleitung 2.) RI-Baum 3.) X-RI-Baum 4) weitere Aspekte 5.) Fazit

14 Martin Pfeifle, 26.07.01 Idee des X-RI-Baumes 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15  Feststellung: Hochaufgelöste CAD-Objekte zerfallen in sehr viele kurze Intervalle mit kurzen Abständen zueinander 15 8 135713119 261014 412  Idee : Fasse Intervalle eines Objektes zu grauen Intervallen zusammen. Objekt A M=3 M=1

15 Martin Pfeifle, 26.07.01 Idee des X-RI-Baumes  Feststellung: Hochaufgelöste CAD-Objekte zerfallen in sehr viele kurze Intervalle mit kurzen Abständen zueinander 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15  Anfragebearbeitung : Ermittle Schnitte zwischen grauen Intervallen (1.Filterschritt) Ermittle tatsächliche Intervallschnitte (2. und 3. Filterschritt) Objekt A Objekt B 15 8 135713119 261014 412 B schneidet Q A und B schneiden Q Query Q 2 3 7  Idee : Fasse Intervalle eines Objektes zu grauen Intervallen zusammen. Objekt C

16 Martin Pfeifle, 26.07.01 Graue Intervalle graue Intervalle S mit n=5 I mit angehängter Itervallsequenz S.. M Sei S = ((l 1,u 1 ), ((l 2,u 2 ),... ((l n,u n )) eine Intervallsequenz über N, mit l i  u i  i  1..n und u i < l i+1  i  1..n-1. I = ((l 1,u n ), S)graues Interval Wir nennen I = ((l 1,u n ), S) ein graues Interval mit angehängter S Intervallsequenz S. Wir nennen M = max{l i+1 – u i |  i  1..n-1} den MAXGAP-Parameter von I..  Graue Intervalle beginnen und enden mit schwarzen Zellen Aussagen über graue Intervalle  Jede maximale Folge von weißen Zellen innerhalb eines grauen Intervalls I ist kleiner oder gleich M.

17 Martin Pfeifle, 26.07.01 Speicherung der grauen Intervalle S = ((l 1,u 1 ), ((l 2,u 2 ),... ((l n,u n )) eines grauen Intervals I = ((l 1,u n ), S) der Länge L wird in einem BLOB gespeichert. +- Tabellenaufbau zur Speicherung von I grey : (Node number, MIN number, MAX number, ID integer, ISDENSITY integer, ISTYPE integer, ISBLOB BLOB) Bit-orientierter Ansatz 1 0 1 0 1 1 O (L)... 1 0 1 0 1 1 Offset-orientierter Ansatz... w1w1 w1w2w3w4w1w2w3w4 O (n * log L) w2w2 w3w3 w4w4

18 Martin Pfeifle, 26.07.01 Mehrstufige Anfragebearbeitung A 1 Q 1 A 3 Q 2 A 2 Q 1 B 3 Q 1 B 2 Q 1 C 1 Q 1 C 2 Q 1 C 2 Q 2 C 3 Q 2 D 1 Q 1 A 1 Q 1 A 3 Q 2 C 1 Q 1 DB Query A 1 Q 1 A 3 Q 2 A 2 Q 1 + B 3 Q 1 C 1 Q 1 C 2 Q 1 B 2 Q 1 ? feines Ergebnis RI-Tree 1.Filterschritt (Index) FAST GREY TEST 2.Filterschritt (CPU) BLOB TEST 3.Filterschritt (Table+CPU) D1 Q1D1 Q1 A C B grobes Ergebnis C B A D Q 1 Q 2 A 1 A 2 A 3 A B 1 B 2 B 3 B C 1 C 2 C 3 C 4 C D 1 D 2 D E 1 E... B 3 Q 1 + +

19 Martin Pfeifle, 26.07.01 1. Filterschritt: RI-Baum  Ermitteln aller sich schneidender Paare aus grauen DB- und Query- Intervallen und Ausgabe sortiert nach DB-ID und Wahrscheinlichkeitsmaß P. Wahrscheinlichkeitsmodelle Modell „Ziehen ohne Zurücklegen“  effizient berechenbar Modell „Ziehen mit Zurücklegen“  gutes Abbild der Wirklichkeit Berechnung von P: SQL-statement: Modell „Ziehen mit Zurücklegen“  Basiert auf erweiterten upper- und lowerIndexen  nur Benutzung von built-in-functions kein Aufruf von stored-procedures I I‘ L d = Dichte von I d‘ = Dichte von I‘ L = Schnittlänge der grauen Intervalle

20 Martin Pfeifle, 26.07.01 2. Filterschritt: FAST-GREY-TEST  Test auf „Inneren Schnitt“ der grauen Intervalle - ohne BLOB - schwarzes Intervalle + graues Intervall schwarzes Intervall geht über Anfangspunkt des grauen Intervalls graues Intervall + graues Intervall gemeinsamer Anfangs- bzw. Endpunkt graues Intervall + graues Intervall Summe der weißen Felder ist kleiner als Überlappungslänge... schwarzes Intervall + schwarzes Intervall L graues Intervall + beliebiges Intervall Graues Intervall mit nur 2 schwarzen Feldern, deckt anderes Intervall vollständig ab graues Intervall + graues Intervall Graue Intervalle mit nur 2 schwarzen Feldern ohne gemeinsame Eckpunkte Schnitt kein Schnitt langes schwarzes Intervall + graues Intervall Anzahl maximal aufeinanderfolgender weißer Zellen kleiner als Länge des schwarzen Intervalls

21 Martin Pfeifle, 26.07.01 3. Filterschritt: BLOB-TEST  Test auf „Inneren Schnitt“ der grauen Intervalle - mit BLOB -... I‘ I Laufzeitanalyse Bit-orientierter Ansatz  Zugriff auf A über Offset o L  Durchlaufen der L Zellen Offset-orientierter Ansatz L oLoL A O (1) O (L)

22 Martin Pfeifle, 26.07.01 3. Filterschritt: BLOB-TEST  Test auf „Inneren Schnitt“ der grauen Intervalle - mit BLOB -... L I‘ I Laufzeitanalyse w 1 w 2 w 3 w 4 w 5 w 6 w 7 w 8 Offset-orientierter Ansatz  Zugriff auf A über Bisektion  Betrachten der n L bzw. n‘ L Intervalle A w6w6 w4w4 w7w7 Bit-orientierter Ansatz  Zugriff auf A über Offset o L  Durchlaufen der L Zellen O (1) O (log n) O(n L +n‘ L ) O (L) n L =1 n‘ L =3

23 Martin Pfeifle, 26.07.01 Experimente  Variation des MAXGAP Parameters in Größenordnungen 0(RI-Baum) 10 100 1000 10.000 100.000 1.000.000  Vergleich RI-Baum  X-RI-Baum CAR PLANE ca. 200 Bauteile ca. 10.000 Bauteile ca. 7 Millionen Intervalle ca. 9 Millionen Intervalle Auflösung: 33 bit (0.. 8.589.934.591) Auflösung: 42 bit (0.. 4.398.046.511.103)

24 Martin Pfeifle, 26.07.01 Experimente CAR  Gesamtanzahl der Intervalle sinkt mit steigendem MAXGAP-Parameter  Durchschnittliche Länge der Intervalle steigt mit steigendem MAXGAP-Parameter -Intervallverteilung-

25 Martin Pfeifle, 26.07.01 Experimente -Speicherbedarf-  Besseres Speicherplatzverhalten bei der Intervall-Tabelle beim X-RI-Baum gegenüber dem RI-Baum  Deutlich besseres Speicherplatzverhalten bei den Index-Tabellen beim X-RI-Baum gegenüber dem RI-Baum (RI-Tree)

26 Martin Pfeifle, 26.07.01 Experimente -Laufzeit “Kollisionsanfragen”- PLANE CAR

27 Martin Pfeifle, 26.07.01 Experimente -Laufzeit “Kollisionsanfragen”- PLANE CAR großes Bauteil (PLANE) RI-Baum: 316,5 X-RI-Baum: 2,2 (Maxgap=10.000)

28 Martin Pfeifle, 26.07.01 (RI-Tree) Experimente -Laufzeit “Boxanfragen”-  Gut parametrisierter X-RI-Baum ist deutich schneller als RI-Baum  Konzept der grauen Intervalle ist gut geeignet für top-down erzeugte dynamische Anfrageobjekte PLANE 1.) Graue Intervalle mit beliebig angehängten Objekten 2.) Erweiterung des 3. Filterschrittes

29 Martin Pfeifle, 26.07.01 Gliederung des Vortrages Extensible Indexing * **Kostenmodell Konstruktive Methode für MAXGAP-Parameter SelbstoptimierendeIndexe* ** 1.) Einleitung 2.) RI-Baum 3.) X-RI-Baum 4.) weitere Aspekte 5.) Fazit

30 Martin Pfeifle, 26.07.01 Gliederung des Vortrages 1.) Einleitung 2.) RI-Baum 3.) X-RI-Baum 4.) weitere Aspekte 5.) Fazit

31 Martin Pfeifle, 26.07.01 Welche Vorteile hat der X-RI-Baum gegenüber dem RI-Baum?  Sekundärspeicher X-RI-Baum RI-BaumFazit Was ist der X-RI-Baum?  Ein auf dem RI-Baum aufbauender mehrstufiger Index für räumliche Objekte bzw. allgemein für Objekte, die durch Intervallsequenzen beschreibar sind  Hauptspeicher X-RI-Baum RI-Baum  Laufzeit X-RI-Baum RI-Baum (dynamische Anfrageobjekte)


Herunterladen ppt "Martin Pfeifle, 26.07.01 Objekt - relationale Verwaltung hochauflösender CAD-Datenbanken Martin Pfeifle LFE Datenbanksysteme Institut für Informatik LMU."

Ähnliche Präsentationen


Google-Anzeigen