Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Katja Solberg Geändert vor über 9 Jahren
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)
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.