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

Slides:



Advertisements
Ähnliche Präsentationen
8. Termin Teil B: Wiederholung Begriffe Baum
Advertisements

Hash-Tabellen und -Funktionen Hash-Tabellen in Java
Eine dynamische Menge, die diese Operationen unterstützt,
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Indizierung von Graphen durch häufige Subgraphen (2)
WS 03/041 Algorithmentheorie 01 - Einleitung Prof. Dr. S. Albers Prof. Dr. Th. Ottmann.
Frame-Logik Eine Einführung Andreas Glausch.
FH-Hof Der B-Baum Richard Göbel. FH-Hof Wahl des Verzweigungsgrad Verzweigungsgrad kann größer als 2 sein v Nachfolger für einen Knoten v-1 Werte in einem.
Der B-Baum Richard Göbel.
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Indexed Sequential Access Method
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
FH-Hof Effizienz - Grundlagen Richard Göbel. FH-Hof Inhalt Einführung Aufwand für Anfragen ohne Indexierung Indexstrukturen für Anfragen an eine Tabelle.
Effizienz: Indexstrukturen
Dynamische Programmierung (2) Matrixkettenprodukt
Algorithmen und Datenstrukturen
WS Algorithmentheorie 01 – Divide and Conquer (Segmentschnitt) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 - Bäume: Durchlaufreihenfolgen, Analyse nat. Bäume) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Union-Find-Strukturen
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Algorithmen und Datenstrukturen
Geometrisches Divide and Conquer
Erweiterte Datenmodelle Referentin: Lena Becker HS: Datenbanken vs. Markup Datum:
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Spezielle Aspekte der Anbindung von Datenbanken im Web.
MMQL – Multimedia Query Language Eine Anfragesprache für Multimedia-Ähnlichkeitsanfragen Christian Mantei.
Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof.
Access 2000 Datenbanken.
Datenmanagement in Sensornetzen PRESTO - Feedback gesteuertes Datenmanagement - SS 2007 Sören Wenzlaff.
Beispielrelation Buchbestellungen H = Menge der bedeutenden Ziele = {a, d} Schwelle T = 4 Stichprobe S = {a, b, a, a, a, a} mit s = |S| = 6 N = Anzahl.
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Visualisierung objektrelationaler Datenbanken
BSP Binary Space Partitioning
Einführung in die Programmierung
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Christian Scheideler Institut für Informatik Universität Paderborn
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
SQL Überblick Abfragen aus einer Tabelle
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #9 Physische Datenorganisation.
Datenbanksysteme für hörer anderer Fachrichtungen
Einführung in Datenbankmodellierung und SQL
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Structured Query Language
Eike Schallehn, Martin Endig
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Foliendesign: Jörg Steinrücken & Tobias Kahn Vorlesung
Geoinformation II 6. Sem. Vorlesung April 2000 Geometrische Algorithmen - ein einführendes, größeres Beispiel für ein Semester-begleitendes Programmier.
München, 15. Oktober 2004 Martin Pfeifle Datenbankunterstützung für CAD-Anwendungen Martin Pfeifle LFE Datenbanksysteme Department „Institut für Informatik“
12. November 2001 Seminar Geoinformation Folie 1 Inhalt Einführung Bearbeitung raumbezogener Anfragen Ausblick Seminar Geoinformation Themenblock: „Implementierung.
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Prof. Dr. T. Kudraß1 Speicherverwaltung: Flash-Laufwerke.
Vorlesung AVL-Bäume/Algorithmen-
Indexierung Oracle: indexes Indexierung.
Projektarbeit von Michael W. Passer Betreuer: Martin Pfeifle
 Präsentation transkript:

Martin Pfeifle, 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)

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

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

Martin Pfeifle, 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)

Martin Pfeifle, 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

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

Martin Pfeifle, 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

Martin Pfeifle,  Grundlage: Binärer Intervallbaum [ Edelsbrunner 1980 ] Relationaler Intervall Baum 3a3a 15 a 12 c 5c5c 15 a A B C D 7b7b 1b1b 13 d

Martin Pfeifle, 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 b7b 1b1b 13 d h – 1 root = 2 h–1

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

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

Martin Pfeifle, Anfragebearbeitung 1. Prozedurale Phase 16 = root 24 = fork 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 upper = = lower Schnittanfrage Q

Martin Pfeifle, 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

Martin Pfeifle, Idee des X-RI-Baumes  Feststellung: Hochaufgelöste CAD-Objekte zerfallen in sehr viele kurze Intervalle mit kurzen Abständen zueinander  Idee : Fasse Intervalle eines Objektes zu grauen Intervallen zusammen. Objekt A M=3 M=1

Martin Pfeifle, Idee des X-RI-Baumes  Feststellung: Hochaufgelöste CAD-Objekte zerfallen in sehr viele kurze Intervalle mit kurzen Abständen zueinander  Anfragebearbeitung : Ermittle Schnitte zwischen grauen Intervallen (1.Filterschritt) Ermittle tatsächliche Intervallschnitte (2. und 3. Filterschritt) Objekt A Objekt B B schneidet Q A und B schneiden Q Query Q  Idee : Fasse Intervalle eines Objektes zu grauen Intervallen zusammen. Objekt C

Martin Pfeifle, 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.

Martin Pfeifle, 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 O (L) Offset-orientierter Ansatz... w1w1 w1w2w3w4w1w2w3w4 O (n * log L) w2w2 w3w3 w4w4

Martin Pfeifle, 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 + +

Martin Pfeifle, 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

Martin Pfeifle, 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

Martin Pfeifle, 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)

Martin Pfeifle, 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

Martin Pfeifle, Experimente  Variation des MAXGAP Parameters in Größenordnungen 0(RI-Baum)  Vergleich RI-Baum  X-RI-Baum CAR PLANE ca. 200 Bauteile ca Bauteile ca. 7 Millionen Intervalle ca. 9 Millionen Intervalle Auflösung: 33 bit ( ) Auflösung: 42 bit ( )

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

Martin Pfeifle, 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)

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

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

Martin Pfeifle, (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

Martin Pfeifle, 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

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

Martin Pfeifle, 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)