Title: ST2Btree: A SelfTunable SpatioTemporal B tree Index for Moving Objects
1ST2B-tree A Self-Tunable Spatio-Temporal B-tree
Index for Moving Objects
2Outline
- Introduction
- Related work
- The ST2B-tree
- The structure
- Self-tuning framework
- Experiments
- Conclusion
3Introduction
- Basic characteristics of moving objects
- Large number of objects
- Frequent location updates
- Fast query processing
- The way out effective and efficient indexes
- Another aspect of moving objects
- Highly dynamic
- Overlooked by existing indexes
4Motivation
- Data diversity
- Space
- Time
- Space-time
5The number of objects varies in different regions
6Motivation
- Data diversity
- Space
- Time
- Space-time
7 The number of objects changes with time.
8Motivation
- Data diversity
- Space
- Time
- Space-time
9The distribution of objects also changes with time
10Motivation
- Data diversity
- Space
- Time
- Space-time
Our aim to develop index that is adjustable to
these data diversities.
11Outline
- Introduction
- Related work
- The ST2B-tree
- The structure
- Self-tuning framework
- Experiments
- Conclusion
12Moving Objects Indexes
- Data Partitioning
- TPR-tree SIGMOD'00, TPR-tree VLDB'03
- Space Partitioning
- Bx-tree VLDB'04, Bdual-tree VLDBJ'08
- SINA SIGMOD'04, CPM SIGMOD'05
- STRIPES SIGMOD'04
13Quick review on the Bx-tree
- Bx-tree B-tree Space Filling Curve (SPC)
- SFC 2d location ?1d value
- 2d range query ? Several 1d range queries
14Pitfall of fixed space partitioning
- Coarse Partitioning
- Too many objects in a cell, indistinguishable to
the index
For updates - Overflow pages
For queries - More false positives
15Pitfall of fixed space partitioning
- Fine Partitioning
- Few objects in a cell
For queries - Fewer false positives, but - Need
to search more cells
16The ST2B-tree
- Find a way to dynamically partition the space in
order to make the index adaptable to the data
diversity.
17Outline
- Introduction
- Related work
- The ST2B-tree
- The structure
- Self-tuning framework
- Experiments
- Conclusion
18The ST2B-tree Index in the space
- Mapping 2d location into 1d value KEYspace
- Given a set of n reference points RP0 , RP1 , ,
RPn-1 - The space is partitioned into n disjoint regions
(Voronoi Diagram) - Each RPi has a grid Gi that covers its Voronoi
cell - An object is indexed in the grid of its nearest
RP
KEYspace i ? cid(p , Gi)
RP3
RP0
RP4
RP2
RP1
RP5
RP6
19The ST2B-tree Index with the time
- The time is divided into segments, T in length (T
is the maximum update interval) - Each time segment has a fixed Tref.
- An object is indexed with its location at
reference time Tref. - The B-tree is partitioned into two halves. Each
half corresponds to a time segment. - Time rolls over the two halves.
BT1
BT0
BT0
BT1
4T
T
2T
3T
0
tnow
20The ST2B-tree Spatio-temporal
21Deal with the diversity
- Partition the space with a set of reference
points ? Data skew in space - Each RP partitions the space with different
granularity for each half ? Change of data
cardinality with time. - Use different set of reference points for the two
halves ? Change of data distribution with time
22Outline
- Introduction
- Related work
- The ST2B-tree
- The structure
- Self-tuning framework
- Experiments
- Conclusion
23The ST2B-tree Self-Tuning
Updates
24- Histogram
- 2d grid, collecting statistics about objects in
each cell - the number of objects
- the centre of objects in a cell.
25How the tuning works?
- At each transition time iT
- The Timer triggers the online tuning process
- Online Tuning module computes
- the new set of reference points
- grid granularity of each reference point
- Updates information in the Reference Table
- Reset the statistics in the Histogram
26- Online Tuning
- Select new reference points based on the
statistics - Region growing
- Density-based clustering, e.g. DBSCANKDD96,
OPTICSSIGMOD99 - Empirically, based on seasonal patterns
- Determine the optimal granularity of each
partition - Based on the object density in the Voronoi cell
(see our paper for details)
27BT0
BT0
BT1
tnow
3T
0
2T
T
28Outline
- Introduction
- Related work
- The ST2B-tree
- The structure
- Self-tuning framework
- Experiments
- Conclusion
29Performance Study
- Datasets
- Randomly selected hotspots
- Gaussian distribution around each hotspot
- Comparative study
- The Bx-tree is optimized in the beginning
- The benefit of self-tuning
30Time Diversity
- Increasing Data Cardinality
The benefit increases with increasing number of
objects.
31Space-Time Diversity
The benefit increases with increasing degree of
data skew.
32Conclusion
- ST2B-tree Self-Tunable Spatio-Temporal B-tree
- Select the way of space partitioning based on
data distribution - Determine the granularity of space partitioning
based on data density - Discriminate between regions of different
densities - Adapt to changes in workload with time
33 34The effect of grid granularity
35Basic Query Algorithm
- Range Query
- Search both halves of the tree
- Enlarge the query region to the corresponding
Tref - If the Voronoi Cell a RP intersect the enlarged
query region - Compute the intersection
- Transform the intersected region into 1d range
queries - Search the B-tree with each of the 1d range
queries - Refinement on the records returned
- kNN Query
- Perform as incremental range queries
- Enlarge the query region until k nearest
neighbors are found
36Query Enlargement
BT0
BT1
iT
(i1)T
(i2)T
Tref0
R0
tq
Tref1
R1
R
We want to find out all objects that inside R at
tq. It is possible that some object in R0 at
Tref0 or R1 at Tref1 then move into R at tq.
37Spatial Diversity
38Time Diversity
- Decreasing data cardinality
39Data Distribution
Time Round 0 Time Round 5 Time
Round 9
40Concurrent Operations