Download presentation
Presentation is loading. Please wait.
1
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich Spatial Query Processing for High Resolutions Hans-Peter Kriegel, Martin Pfeifle, Marco Pötke, Thomas Seidl 8 th International DASFAA-Conference 26 - 28 March, 2003, Kyoto, Japan Database Group Institute for Computer Science University of Munich, Germany
2
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich Outline of the Talk 1.) Introduction 2.) RI-Tree 3.) HRI-Approach 4.) Experimental Evaluation 5.) Conclusions
3
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich 1.) Introduction 2.) RI-Tree 3.) HRI-Approach 4.) Experimental Evaluation 5.) Conclusions Spatial Databases Voxelized Objects High Resolutions Outline of the Talk
4
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich Spatial Database Management Systems collision queries System Requirements: Effectivity Efficiency Scalability Concurrency Control Recovery complex box queries spatialobjects Spatial Database Management Systems (based on extensible ORDBMS)
5
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich Voxelized Spatial Objects triangulated objects voxel sequence 1.) linearization of the data space – grid-approximation – space filling curve interval sequence 2.) interval sequence – bottom-up or top-down – size-bound or error-bound
6
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich Query Processing for High Resolutions Filter - Step Candidate Set for Application Specific Refinement Step Spatial - DB Refinement Step ORDBMSORDBMS CADCAD Result e.g. RI-Tree High Resolution HRI-Approach
7
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich 1.) Introduction 2.) RI-Tree 3.) HRI-Approach 4.) Experimental Evaluation 5.) Conclusions Relational Interval Tree [VLDB 00] [VLDB 00] Extensible Indexing Outline of the Talk
8
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich Relational Interval Tree (RI-Tree) 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 Foundation: Interval Tree [ Edelsbrunner 1980 ]
9
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich D Foundation: Interval Tree [ Edelsbrunner 1980 ] 1. Idea: Virtualization of the Primary Structure 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 Relational Interval Tree (RI-Tree)
10
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich Foundation: Interval Tree [ Edelsbrunner 1980 ] 1. Idea: Virtualization of the Primary Structure 2. Idea: Managing of the Secondary Structure by 2 B + -trees nodelower 4 8 13 1 3 5 13 id bacdbacd nodeupper 4 8 13 7 12 15 13 id bcadbcad lowerIndexupperIndex Relational Interval Tree (RI-Tree) 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
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich 1. Procedural Step 2. Declarative Step RI-Tree: Intersection Query
12
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich 1. Procedural Step 16 = root 24 = fork 25 28 26 20 22 23 2. Declarative Step – posting one single SQL-statement – number of I/O-accesses: O(h·log b n + r/b) arithmetic traversal of the primary structure collecting the visited nodes in transient tables number of I/0-accesses: 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 query Q RI-Tree: Intersection Query
13
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich User-defined Index Structure [VLDB 00] [SSTD 01] Extensible Indexing Framework Object-relational interface for index maintenance and querying functions. Relational Implementation Mapping to built-in indexes (B + -trees); SQL-based query processing Physical Implementation Block-Manager, Caches, Locking, Logging, … User-defined Cost Model [SSDBM 02] Extensible Optimization Framework Object-relational interface for selectivity estimation and cost prediction functions. Relational Implementation Mapping to built-in statistics facilities; SQL-based evaluation of cost model Declarative Embedding Object-relational DML and DDL RI-Tree: Integration into an ORDBMS
14
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich Outline of the Talk 1.) Introduction 2.) RI-Tree 3.) HRI-Approach 4.) Experimental Evaluation 5.) Conclusions Grey Intervals Storage of Grey Intervals in an Intervals in an ORDBMS ORDBMS Intersection Queries based on based on Grey Intervals Grey Intervals
15
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich Grey Intervals A voxelized “real-world” object Black object interval sequence (obtained from encoding voxels via a space filling curve) 082432404816 Grey object interval sequence (obtained from grouping black intervals together) O grey = ( id, (2, 5), (7, 7) , (12, 12), (15, 15),(18, 18) , (22, 29) , (36, 36), (39, 39),(42, 42) , (46, 47) ) (2, 5), (7, 7) Grey Interval
16
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich +- bit-orientedapproachoffset-orientedapproach Storage of a Grey Object Interval Sequence 1 0 1 0 1 1 O (L)... 1 0 1 0 1 1... w1w1 w1w2w3w4w1w2w3w4 O (n * log L) w2w2 w3w3 w4w4 table schema GreyIntervals (id, intervalsequence) BLOB aggregated information H(I grey ), D(I grey ), G(I grey )
17
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich Multi-Step Query Processing for Intersection Queries 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 Q 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 ? result set Interval Index 1. filter step FAST GREY TEST 2. filter step BLOB TEST 3. filter step D1 Q1D1 Q1 A C B 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 + +
18
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich 2. filter step: FAST-GREY-TEST black interval + grey interval black interval covers the starting or end point of the grey interval grey interval + grey interval share the same starting or end point grey interval + grey interval number of white cells is smaller than the intersecting area... black interval + black interval L grey interval + other interval grey interval has only two black cells and the other interval is completely included in this interval grey interval + grey interval grey intervals have only two black cells and the intervals have no common starting or end point intersection no intersection long black interval + grey interval maximum gap of the grey interval smaller than the length of the black interval intersection test based on the aggregated information of the grey intervals.
19
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich 3. filter step: BLOB-TEST intersection test based on the examination of the black interval sequence... I2I2 I1I1 runtime analysis runtime analysis bit-oriented approach finding the starting point A of the interlacing area testing the L voxels L oLoL A O (1) O (L)
20
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich 3. filter step: BLOB-TEST... L I2I2 I1I1 w 1 w 2 w 3 w 4 w 5 w 6 w 7 w 8 A w6w6 w4w4 w7w7 n 1 = 8 n L1 = 1 n L2 = 3 runtime analysis runtime analysis offset-oriented approach finding the starting point of the interlacing area testing the n L1 resp. n L2 intervals O (log n 1 ) O (n L1 +n L2 ) intersection test based on the examination of the black interval sequence bit-oriented approach finding the starting point A of the interlacing area testing the L voxels O (1) O (L)
21
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich SQL-Statement SELECT candidates.id FROM (SELECT db.id AS id, table (AggInfos(db.intervalsequence, q.intervalsequence)) AS ctable FROM GreyIntervals db, :GreyQueryIntervals q WHERE intersects (hull(db.intervalsequence), hull(q.intervalsequence)) GROUP BY db.id )candidates WHERE EXISTS (SELECT 1 FROM GreyIntervals db, :GreyQueryIntervals q, candidates.ctable ctable WHERE db.rowid = ctable.dbrowid AND q.rowid = ctable.qrowid AND blobintersection (db.intervalsequence, q.intervalsequence) ) intersects (hull(db.intervalsequence), hull(q.intervalsequence)) table (AggInfos(db.intervalsequence, q.intervalsequence)) blobintersection (db.intervalsequence, q.intervalsequence)
22
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich Outline of the Talk 1.) Introduction 2.) RI-Tree 3.) HRI-Approach 4.) Experimental Evaluation 5.) Conclusions
23
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich Experimental Evaluation Examination of the HRI approach based on different MAXGAP Parameters: 10 100 1,000 10,000 100,000 1,000,000 Comparison between the HRI approach and the spatial variant of the RI-tree [SSTD 01] CAR PLANE approx. 200 parts approx. 10.000 parts approx. 7 million intervals approx. 9 million intervals resolution: 33 bit (0.. 8.589.934.591) resolution: 42 bit (0.. 4.398.046.511.103)
24
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich Experiments CAR number of interval decreases with increasing MAXGAP - parameter average interval length increases with increasing MAXGAP - parameter - Interval Distribution
25
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich Experiments – Secondary Storage With the HRI method we can improve the storage requirement by an order of magnitude. (RI-Tree)
26
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich Experiments – Runtime for collision queries PLANE CAR
27
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich Experiments – Runtime for collision queries PLANE CAR RI-tree huge part (PLANE) RI-tree: 316.5 s HRI: 2.2 s (Maxgap=10,000)
28
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich Outline of the Talk 1.) Introduction 2.) RI-Tree 3.) HRI-Approach 4.) Experimental Evaluation 5.) Conclusions
29
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich What are the advantages of the HRI approach? good secondary storage utilization Conclusions What is the HRI approach? the HRI approach is a multi-step index structure suitable for spatial query processing for high resolutions small main memory footprint improved query response time behaviour
30
Kyoto, 03/26/03 Kyoto, 03/26/03 Martin Pfeifle, Database Group, University of Munich Any questions? ? ? ? ? ? ? ?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.