Title: Spatial Query Processing for High Resolutions
1Spatial 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
2Outline of the Talk
1.) Introduction 2.) RI-Tree 3.)
HRI-Approach 4.) Experimental Evaluation 5.)
Conclusions
3Outline of the Talk
1.) Introduction 2.) RI-Tree 3.)
HRI-Approach 4.) Experimental Evaluation 5.)
Conclusions
- ? Spatial Databases
- Voxelized Objects
- High Resolutions
4Spatial Database Management Systems
- System Requirements
- ? Effectivity
- ? Efficiency
- ? Scalability
- Concurrency Control
- Recovery
complex
spatial objects
(based on extensible ORDBMS)
5Voxelized Spatial Objects
6Query 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
7Outline of the Talk
- Relational Interval Tree
- VLDB 00
- Extensible Indexing
1.) Introduction 2.) RI-Tree 3.)
HRI-Approach 4.) Experimental Evaluation 5.)
Conclusions
8Relational Interval Tree (RI-Tree)
? Foundation Interval Tree Edelsbrunner 1980
9Relational Interval Tree (RI-Tree)
root 2h1
? Foundation Interval Tree Edelsbrunner 1980
? 1. Idea Virtualization of the Primary Structure
10Relational Interval Tree (RI-Tree)
? Foundation Interval Tree Edelsbrunner 1980
? 1. Idea Virtualization of the Primary Structure
11RI-Tree Intersection Query
1. Procedural Step
2. Declarative Step
12RI-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(hlogbn r/b)
13RI-Tree Integration into an ORDBMS
Declarative Embedding Object-relational DML and
DDL
Extensible Optimization Framework Object-relationa
l 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
indexes (B-trees) SQL-based query processing
Relational Implementation Mapping to built-in
statistics facilities SQL-based evaluation of
cost model
14Outline 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
15Grey Intervals
A voxelized real-world object
16Storage of a Grey Object Interval Sequence
17Multi-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
D1 Q1
Query Q
182. filter step FAST-GREY-TEST
- intersection test based on the
- aggregated information of the grey
intervals.
intersection
no intersection
193. 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)
O (L)
203. 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
w6
w4
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 (nL1nL2)
21SQL-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)
22Outline of the Talk
1.) Introduction 2.) RI-Tree 3.)
HRI-Approach 4.) Experimental Evaluation 5.)
Conclusions
23Experimental 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 -
24Experiments
25Experiments Secondary Storage
(RI-Tree)
- With the HRI method we can improve the storage
requirement - by an order of magnitude.
-
26Experiments Runtime for collision queries
CAR
PLANE
27Experiments Runtime for collision queries
CAR
RI-tree
PLANE
RI-tree
28Outline of the Talk
1.) Introduction 2.) RI-Tree 3.)
HRI-Approach 4.) Experimental Evaluation 5.)
Conclusions
29Conclusions
- 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?
?
?
?
?