300 likes | 316 Views
This talk discusses the RI-Tree and HRI-Approach for query processing of high-resolution spatial databases, with a focus on voxelized objects and box queries. The experimental evaluation and system requirements are also covered.
E N D
Spatial Query Processing for High Resolutions Hans-Peter Kriegel, Martin Pfeifle, Marco Pötke, Thomas Seidl Database Group 8th International DASFAA-Conference 26 - 28 March, 2003, Kyoto, Japan Institute for Computer Science University of Munich, Germany
Outline of the Talk 1.) Introduction 2.) RI-Tree 3.) HRI-Approach 4.) Experimental Evaluation 5.) Conclusions
Outline of the Talk 1.) Introduction 2.) RI-Tree 3.) HRI-Approach 4.) Experimental Evaluation 5.) Conclusions • Spatial Databases • Voxelized Objects • High Resolutions
box queries collision queries Spatial Database Management Systems Spatial Database Management Systems System Requirements: Effectivity Efficiency Scalability • Concurrency Control • Recovery complex spatial objects (based on extensible ORDBMS)
1.) linearization of the data space– grid-approximation – space filling curve 2.) interval sequence– bottom-up or top-down – size-bound or error-bound triangulated objects voxel sequence interval sequence Voxelized Spatial Objects
Query Processing for High Resolutions O R D B M S High Resolution Spatial - DB Filter - Step e.g. RI-Tree HRI-Approach Candidate Set for Application Specific Refinement Step C A D Refinement Step Result
Outline of the Talk • Relational Interval Tree [VLDB 00] • Extensible Indexing 1.) Introduction 2.) RI-Tree 3.) HRI-Approach 4.) Experimental Evaluation 5.) Conclusions
A B 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 C D 8 3a 15a 12c 4 12 5c 15a 1b 7b 13d 13d 2 6 10 14 1 3 5 7 9 11 13 15 Relational Interval Tree (RI-Tree) Foundation: Interval Tree [Edelsbrunner 1980]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8 D 4 12 2 6 10 14 8 1 3 5 7 9 11 13 15 3a 15a 12c 4 12 5c 15a 1b 7b 13d 13d 2 6 10 14 1 2h – 1 1 3 5 7 9 11 13 15 Relational Interval Tree (RI-Tree) root = 2h–1 Foundation: Interval Tree [Edelsbrunner 1980] 1. Idea: Virtualization of the Primary Structure
A B 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8 C D root = 2h–1 12c 4 12 5c 15a 2 6 10 14 1 3 5 7 9 11 13 15 3a 15a 1b 7b 13d 13d node lower id node upper id 4 8 8 13 1 3 5 13 b a c d 4 8 8 13 7 12 15 13 b c a d 2. Idea: Managing of the Secondary Structure by 2 B+-trees lowerIndex upperIndex Relational Interval Tree (RI-Tree) Foundation: Interval Tree [Edelsbrunner 1980] 1. Idea: Virtualization of the Primary Structure
RI-Tree: Intersection Query 1. Procedural Step 2. Declarative Step
query Q 22 = lower upper = 25 16 = root 20 28 24 = fork 26 22 23 25 16 20 select id fromupperIndexi, :leftNodes left where i.node = left.node and i.upper >= :Q.lower union all select id fromlowerIndex i, :rightNodes right where i.node = right.node and i.lower <= :Q.upper union all select id fromupperIndex i where i.node between:Q.lowerand:Q.upper 28 26 22-25 RI-Tree: Intersection Query 1. Procedural Step arithmetic traversal of the primary structure collecting the visited nodes in transient tables number of I/0-accesses: 0 2. Declarative Step – posting one single SQL-statement – number of I/O-accesses: O(h·logbn + r/b)
Physical Implementation Block-Manager, Caches, Locking, Logging, … RI-Tree: Integration into an ORDBMS Declarative Embedding Object-relational DML and DDL Extensible Optimization Framework Object-relational interface for selectivity estimation and cost prediction functions. Extensible Indexing Framework Object-relational interface for index maintenance and querying functions. User-defined Index Structure [VLDB 00] [SSTD 01] User-defined Cost Model [SSDBM 02] Relational Implementation Mapping to built-in statistics facilities; SQL-based evaluation of cost model Relational Implementation Mapping to built-in indexes (B+-trees); SQL-based query processing
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 ORDBMS • Intersection Queries based on Grey Intervals
Black object interval sequence (obtained from encoding voxels via a space filling curve) 0 8 16 24 32 40 48 Grey object interval sequence (obtained from grouping black intervals together) Ogrey = ( 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 Grey Intervals A voxelized “real-world” object
table schemaGreyIntervals (id, intervalsequence) BLOB aggregated information H(Igrey), D(Igrey), G(Igrey) + - bit-oriented approach offset-oriented approach ... ... ... ... 1 0 1 0 1 1 w1 w2 w3 w4 1 0 1 0 1 1 w1w2w3w4 O (n * log L) O (L) Storage of a Grey Object Interval Sequence
A1 A2 A3 A B1 B2 B3 B C1 C2 C3 C4 C D1 D2 D A1 Q1 A3 Q2 A2 Q1 B3 Q1 B2 Q1 C1 Q1 C2 Q1 C2 Q2 C3 Q2 D1Q1 E1 E ... FAST GREY TEST Interval Index BLOB TEST 1. filter step 2. filter step 3. filter step Q1 Q2 Multi-Step Query Processing for Intersection Queries result set DB A C B A1 Q1 A3 Q2 A2 Q1 + A1 Q1 B3 Q1 A3 Q2 B2 Q1 + ? + B3 Q1 B3 Q1 B2 Q1 C1 Q1 C2 Q1 C1 Q1 D1Q1 Query Q
... ... 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 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 long black interval+ grey interval maximum gap of the grey interval smaller than the length of the black interval L 2. filter step: FAST-GREY-TEST • intersection test based on the aggregated information of the grey intervals. intersection no intersection
A oL L 3. filter step: BLOB-TEST • intersection test based on the examination of the black interval sequence ... ... I1 I2 runtime analysis bit-oriented approach • finding the starting point A of the interlacing area O (1) • testing the L voxels O (L)
bit-oriented approach • finding the starting point A of the interlacing area O (1) • testing the L voxels O (L) 3. filter step: BLOB-TEST • intersection test based on the examination of the black interval sequence A L ... ... w7 w1 w2 w3 w4 w5 w6 w7 w8 w4 w6 I1 n1 = 8 nL1= 1 nL2= 3 I2 runtime analysis offset-oriented approach • finding the starting point of the interlacing area O (log n1) • testing the nL1 resp. nL2 intervals O (nL1+nL2)
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) ) table (AggInfos(db.intervalsequence, q.intervalsequence)) intersects (hull(db.intervalsequence), hull(q.intervalsequence)) blobintersection (db.intervalsequence, q.intervalsequence)
Outline of the Talk 1.) Introduction 2.) RI-Tree 3.) HRI-Approach 4.) Experimental Evaluation 5.) Conclusions
Experimental Evaluation 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) • 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]
- Interval Distribution CAR • number of interval decreases with increasing MAXGAP - parameter • average interval length increases with increasing MAXGAP - parameter Experiments
Experiments – Secondary Storage (RI-Tree) • With the HRI method we can improve the storage requirement by an order of magnitude.
huge part (PLANE) RI-tree: 316.5 s HRI: 2.2 s (Maxgap=10,000) Experiments – Runtime for collision queries CAR RI-tree PLANE RI-tree
Outline of the Talk 1.) Introduction 2.) RI-Tree 3.) HRI-Approach 4.) Experimental Evaluation 5.) Conclusions
What is the HRI approach? What are the advantages of the HRI approach? Conclusions • the HRI approach is a multi-step index structure suitable for spatial query processing for high resolutions good secondary storage utilization small main memory footprint improved query response time behaviour
? ? ? Any questions? ? ? ? ?