210 likes | 229 Views
This research explores algorithms and techniques for efficient intersection joins on continuously moving objects, proposing improvements and optimizations for time-constrained processing. Experiments show significant enhancements in performance.
E N D
Continuous Intersection Joins Over Moving Objects Rui Zhang University of Melbourne Dan Lin Purdue University Kotagiri Ramamohanarao University of Melbourne Elisa Bertino Purdue University
Outline • Backgrounds • Intersection Joins on moving objects • Indexes for moving objects • Algorithms • Adapting existing algorithms • Our approach • Time constrained processing • Improvement techniques • Experiments
Motivation • (Traditional) Intersection join • Given two sets of spatial objects A and B, find all object pairs ‹i,j›, where iA, j B, such that i intersects j. • Intersection join on moving objects • Moving • Continuous
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
N3 N1 N3 N1 N1 N2 A D N1 N2 F C F A C D B E N2 E B Indexing Moving Objects u u u u u u • Monitoring moving objects • Sampling-based • Trajectory-based • p = p ( t ref ) + v (t - t ref ) • TM : maximum update interval • R-tree [SIGMOD’84] • Minimum bounding rectangle (MBR) • TPR-tree [SIGMOD’00] • Add time parameters to the R-tree • Other indexes: Bx-tree [VLDB’04], STRIPES [SIGMOD’04] • Only for points u
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
For the 1st TP-Join Node access (IO) roots, N1, N3 Comparison (CPU) root A vs root B, N1 vs N3 Extended TP-Join Algorithm (ETP-Join) • Time Parameterized Join (TP-Join) [SIGMOD’02] • Current result ‹a1,b1› • Expiry time 1 • Event that causes the change ‹a2,b2›
Summary • ETP-Join • Cheaper traversal, but too frequent traversals • NaiveJoin • One tree traversal per update, but expensive traversal For the 1st TP-Join Too long Too short
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 ta and tb • Perfect time range for computing their join result is [tc, min(ta,tb)] • How do we know ta or tb? • TM gives a bound for them • Time range is cut from [tc, ] to [tc, tc+TM] • Is this correct for all objects? • Yes. Proof in technical report: http://www.cs.mu.oz.au/~rui/publication/TR_mj.pdf
Time Constrained Processing (TC-Join) • NaiveJoin with constrained processing time range [tc, tc+TM]
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 tc is in [TM, 3/2TM]
Improvement on the Basic Join Algorithm • Plane Sweep • Sorting based on the lower left corner in dimension x • Two sequences: Sa = ‹a3, a4, a5›; Sb = ‹ b1, b2, b3, b4› • Two essential components for PS • Lower bound • Upper bound
Other Improvements • Sorting dimension selection • Smaller average speed • Intersection check • First intersection check and then plane sweep
Experiments: setting • Computer: 2.6G Pentium IV CPU, 1G RAM • Datasets: Uniform, Gaussian, Battlefield • Measure: IO and Time
Experiments: TC processing Up to 15 times improvement
Experiments: Improvement techniques Up to 6 times improvement
Comparison: Initial Join MTB-Join outperforms others Half an hour for NaiveJoin
Comparison: Maintenance Up to 104 times improvement
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
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. • Bx-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.
Questions Please send your questions to Rui Zhang rui@csse.unimelb.edu.au