1 / 30

Spatial Query Processing for High Resolutions

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.

teresab
Download Presentation

Spatial Query Processing for High Resolutions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Outline of the Talk 1.) Introduction 2.) RI-Tree 3.) HRI-Approach 4.) Experimental Evaluation 5.) Conclusions

  3. Outline of the Talk 1.) Introduction 2.) RI-Tree 3.) HRI-Approach 4.) Experimental Evaluation 5.) Conclusions •  Spatial Databases • Voxelized Objects • High Resolutions

  4. 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)

  5. 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

  6. 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

  7. Outline of the Talk • Relational Interval Tree [VLDB 00] • Extensible Indexing 1.) Introduction 2.) RI-Tree 3.) HRI-Approach 4.) Experimental Evaluation 5.) Conclusions

  8. 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]

  9. 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

  10. 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

  11. RI-Tree: Intersection Query 1. Procedural Step 2. Declarative Step

  12. 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)

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. ... ... 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

  19. 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)

  20. 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)

  21. 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)

  22. Outline of the Talk 1.) Introduction 2.) RI-Tree 3.) HRI-Approach 4.) Experimental Evaluation 5.) Conclusions

  23. 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]

  24. - Interval Distribution CAR • number of interval decreases with increasing MAXGAP - parameter • average interval length increases with increasing MAXGAP - parameter Experiments

  25. Experiments – Secondary Storage (RI-Tree) • With the HRI method we can improve the storage requirement by an order of magnitude.

  26. Experiments – Runtime for collision queries CAR PLANE

  27. 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

  28. Outline of the Talk 1.) Introduction 2.) RI-Tree 3.) HRI-Approach 4.) Experimental Evaluation 5.) Conclusions

  29. 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

  30. ? ? ? Any questions? ? ? ? ?

More Related