Download presentation
Presentation is loading. Please wait.
Published byHortense Carroll Modified over 9 years ago
1
Continuous Intersection Joins Over Moving Objects Rui Zhang University of Melbourne Dan Lin Purdue University Kotagiri Ramamohanarao University of Melbourne Elisa Bertino Purdue University
2
Outline Backgrounds Intersection Joins on moving objects Indexes for moving objects Algorithms Adapting existing algorithms Our approach Time constrained processing Improvement techniques Experiments
3
Motivation (Traditional) Intersection join Given two sets of spatial objects A and B, find all object pairs ‹i,j›, where i A, j B, such that i intersects j. Intersection join on moving objects Moving Continuous
4
Join Algorithms Nested loops join Basic Expensive Block nested loops join Efficient Dependent on buffer size Index nested loops join Efficient and robust Sort-merge join Efficient Difficult for spatial objects
5
Indexing Moving Objects Monitoring moving objects Sampling-based Trajectory-based p = p ( t ref ) + v (t - t ref ) T M : maximum update interval R-tree [SIGMOD’84] Minimum bounding rectangle (MBR) TPR-tree [SIGMOD’00] Add time parameters to the R-tree Other indexes: B x -tree [VLDB’04], STRIPES [SIGMOD’04] Only for points uuu u u u u N2N2 N1N1 N1N1 N2N2 N1N1 ACD N1N1 BE N2N2 F N3N3 N3N3 A B C D E F
6
Naive Algorithm (NaiveJoin) Join nodes from two TPR-trees recursively If intersected, check on children Otherwise, disregard it For an update, compute its join pairs and update the answer Join result ‹a 1,b 1 ›, [0,3] ‹a 2,b 2 ›, [1,4] ‹a 3,b 4 ›, [6,8] Node access (IO) roots, N 1, N 2, N 3, N 4 Comparison (CPU) root A vs root B, N 1 vs N 3, N 2 vs N 4
7
Extended TP-Join Algorithm (ETP-Join) Time Parameterized Join (TP-Join) [SIGMOD’02] Current result ‹a 1,b 1 › Expiry time 1 Event that causes the change ‹a 2,b 2 › Join result ‹a 1,b 1 ›, [0,3] ‹a 2,b 2 ›, [1,4] ‹a 3,b 4 ›, [6,8] root A vs root B, N 1 vs N 3 Comparison (CPU) roots, N 1, N 3 Node access (IO) For the 1 st TP-Join
8
Summary NaiveJoin One tree traversal per update, but expensive traversal ETP-Join Cheaper traversal, but too frequent traversals Node access (IO) roots, N 1, N 2, N 3, N 4 Comparison (CPU) root A vs root B, N 1 vs N 3, N 2 vs N 4 Node access (IO) roots, N 1, N 3 Comparison (CPU) root A vs root B, N 1 vs N 3 For the 1 st TP-Join Too longToo short
9
Key Problem Find a good time range for computing the join pairs Observation Consider object a and b Let the next update time for them be t a and t b Perfect time range for computing their join result is [t c, min(t a,t b )] How do we know t a or t b ? T M gives a bound for them Time range is cut from [t c, ] to [t c, t c +T M ] Is this correct for all objects? Yes. Proof in technical report: http://www.cs.mu.oz.au/~rui/publication/TR_mj.pdf http://www.cs.mu.oz.au/~rui/publication/TR_mj.pdf
10
Time Constrained Processing (TC-Join) NaiveJoin with constrained processing time range [t c, t c +T M ] Join result ‹a 1,b 1 ›, [0,3] ‹a 2,b 2 ›, [1,4] ‹a 3,b 4 ›, [6,8] Node access (IO) roots, N 1, N 3 Comparison (CPU) root A vs root B, N 1 vs N 3
11
Further Optimization (MTB-Join) Many objects will not update at the time bound Put objects in time buckets Each time bucket has an associated TPR-tree An object is inserted into the tree whose time bucket contains the object’s latest update time t c is in [T M, 3/2T M ]
12
Improvement on the Basic Join Algorithm Plane Sweep Sorting based on the lower left corner in dimension x Two sequences: S a = ‹a 3, a 4, a 5 ›; S b = ‹ b 1, b 2, b 3, b 4 › Two essential components for PS Lower bound Upper bound
13
Other Improvements Sorting dimension selection Smaller average speed Intersection check First intersection check and then plane sweep
14
Experiments: setting Computer: 2.6G Pentium IV CPU, 1G RAM Datasets: Uniform, Gaussian, Battlefield Measure: IO and Time ParameterValue Node capacity113 Maximum update interval (T M )60, 120, 240 Maximum object speed1, 2, 3, 4, 5 Object size (% of space)0.5, 0.1, 0.2, 0.4, 0.8 Dataset size1K, 10K, 50K, 100K DatasetUniform, Gaussian, Battlefield
15
Experiments: TC processing Up to 15 times improvement
16
Experiments: Improvement techniques Up to 6 times improvement
17
Comparison: Initial Join MTB-Join outperforms others Half an hour for NaiveJoin
18
Comparison: Maintenance Up to 10 4 times improvement Time for processing the join for one second 1K10K100K MTB-Join0.03 millisecs0.05 secs6 secs ETP-Join6.3 secs15 minshours
19
Conclusion and future work Conclusion Time Constrained processing Further optimization by bucketing in time Improvement techniques Several orders of magnitude performance improvement Future work Applying TC processing to other queries
20
References R-tree [SIGMOD’04] Antonin Guttman. R-Trees: A Dynamic Index Structure for Spatial Searching. ACM SIGMOD Conference 1984. TPR-tree [SIGMOD ’ 00] S. Saltenis, C. S.Jensen, S. T. Leutenegger, and M. A. Lopez. Indexing the positions of continuously moving objects. ACM SIGMOD Conference 2000. B x -tree [VLDB ’ 04] C. Jensen, D. Lin, and B.C.Ooi. Query and update efficient B+-tree based indexing of moving objects. International conference on Very Large Databases, 2004. STRIPES [SIGMOD’04] J. M. Patel, Y. Chen, and V. P. Chakka. STRIPES: An efficient index for predicted trajectories. ACM SIGMOD Conference 2004. TP-Join [SIGMOD’02] Y. Tao and D. Papadias. Time-parameterized queries in spatio-temporal databases. ACM SIGMOD Conference 2002.
21
Questions Please send your questions to Rui Zhang rui@csse.unimelb.edu.au
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.