Plug&Join: An Easy-To-Use Generic Algorithm for Efficiently Processing Equi and Non-equi Joins

  • Jochen van den Bercken
  • Martin Schneider
  • Bernhard Seeger
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1777)


This paper presents Plug&Join, a new generic algorithm for efficiently processing a broad class of different join types in extensible database systems. Depending on the join predicate Plug&Join is called with a suitable type of index structure as a parameter. If the inner relation fits in memory, the algorithm builds a memory resident index of the desired type on the inner relation and probes all tuples of the outer relation against the index. Otherwise, a memory resident index is created by sampling the inner relation. The index is then used as a partitioning function for both relations.

In order to demonstrate the flexibility of Plug&Join, we present how to implement equi joins, spatial joins and subset joins by using memory resident B+-trees, R-trees and S-trees, respectively. Moreover, results obtained from different experiments for the spatial join show that Plug&Join is competitive to special- purpose methods like the Partition Based Spatial-Merge Join algorithm.


Main Memory Index Structure Spatial Object Input Relation Window Query 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aoki, P. M.: Generalizing “Search” in Generalized Search Trees (Extended Abstract). ICDE 1998: 380–389Google Scholar
  2. 2.
    Arge, L.; Procopiuc, O.; Ramaswamy, S.; Suel, T.; Vitter, J. S.: Scalable Sweeping-Based Spatial Join. VLDB 1998: 570–581Google Scholar
  3. 3.
    Becker, L.; Finke, U.; Hinrichs, K.: A New Algorithm for Computing Joins with Grid Files. ICDE 1993: 190–197Google Scholar
  4. 4.
    Becker, B.; Gschwind, S.; Ohler, T.; Seeger, B.; Widmayer, P.: An Asymptotically Optimal Multiversion B-Tree. VLDB Journal 5(4): 264–275 (1996)CrossRefGoogle Scholar
  5. 5.
    Brinkhoff, T.; Kriegel, H.-P.; Seeger, B.: Efficient Processing of Spatial Joins Using R-Trees. SIGMOD Conference 1993: 237–246Google Scholar
  6. 6.
    Beckmann, N.; Kriegel, H.-P.; Schneider, R.; Seeger, B.: The R*-Tree: An Efficient and Robust Access Method for Points and Rectangles. SIGMOD Conference 1990: 322–331Google Scholar
  7. 7.
    Van den Bercken, J.; Seeger, B.; Widmayer, P.: The Bulk Index Join: A Generic Approach to Processing Non-Equijoins. ICDE 1999: 257Google Scholar
  8. 8.
    Bureau of the Census: Tiger/Line Precensus Files: 1995 technical documentation. Bureau of the Census, Washington DC. 1996Google Scholar
  9. 9.
    Cattell, R. (editor): The Object Database Standard: ODMG-93, Release 1.2, Morgan Kaufmann, 1996Google Scholar
  10. 10.
    Ciaccia, P.; Patella, M.; Zezula, P.: M-tree: An Efficient Access Method for Similarity Search in Metric Spaces. VLDB 1997: 426–435Google Scholar
  11. 11.
    Deppisch, U.: S-tree: A Dynamic Balanced Signature Index for Office Retrieval. SIGIR 1986: 77–87Google Scholar
  12. 12.
    DeWitt, D. J.; Naughton, J. F.; Schneider, D. A.: An Evaluation of Non-Equijoin Algorithms. VLDB 1991: 443–452Google Scholar
  13. 13.
    Dittrich, J.; Seeger, B.: Data Redundancy and Duplicate Detection in Spatial Join Processing. ICDE 2000: to appearGoogle Scholar
  14. 14.
    Graefe, G.: Query Evaluation Techniques for Large Databases. Computing Surveys 25(2): 73–170 (1993)CrossRefGoogle Scholar
  15. 15.
    Günther, O.: Efficient Computation of Spatial Joins. ICDE 1993: 50–59Google Scholar
  16. 16.
    Guttman, A.: R-Trees: A Dynamic Index Structure for Spatial Searching. SIGMOD Conference 1984: 47–57Google Scholar
  17. 17.
    Hellerstein, J. M.; Naughton, J. F.; Pfeffer, A.: Generalized Search Trees for Database Systems. VLDB 1995: 562–573Google Scholar
  18. 18.
    Helmer, S.; Moerkotte, G.: Evaluation of Main Memory Join Algorithms for Joins with Set Comparison Join Predicates. VLDB 1997: 386–395Google Scholar
  19. 19.
    Hoel, E. G.; Samet, H.: Benchmarking Spatial Join Operations with Spatial Output. VLDB 1995: 606–618Google Scholar
  20. 20.
    Henrich, A.; Six, H.-W.; Widmayer, P.: The LSD tree: Spatial Access to Multidimensional Point and Nonpoint Objects. VLDB 1989: 45–53Google Scholar
  21. 21.
    Lomet, D. B.: Grow and Post Index Trees: Roles, Techniques and Future Potential. SSD 1991:183–206Google Scholar
  22. 22.
    Lo, M.-L.; Ravishankar, C. V.: Spatial Joins Using Seeded Trees. SIGMOD Conference 1994: 209–220Google Scholar
  23. 23.
    Lo, M.-L.; Ravishankar, C. V.: Spatial Hash-Joins. SIGMOD Conference 1996: 247–258Google Scholar
  24. 24.
    Koudas, N.; Sevcik, K. C: Size Separation Spatial Join. SIGMOD Conference 1997: 324–335Google Scholar
  25. 25.
    Mishra, P.; Eich, M. H.: Join Processing in Relational Databases. Computing Surveys 24(1):63–113 (1992)CrossRefGoogle Scholar
  26. 26.
    Mamoulis, N.; Papadias, D.: Integration of Spatial Join Algorithms for Processing Multiple Inputs. SIGMOD Conference 1999: 1–12Google Scholar
  27. 27.
    Orenstein, J.: Spatial Query Processing in an Object-Oriented Database System. SIGMOD Conference 1986: 326–336Google Scholar
  28. 28.
    Patel, J. M.; DeWitt, D. J.: Partition Based Spatial-Merge Join. SIGMOD Conference 1996: 259–270Google Scholar
  29. 29.
    Papadias, D.; Theodoridis, Y.; Sellis, T. K.; Egenhofer, M. J.: Topological Relations in the World of Minimum Bounding Rectangles: A Study with R-trees. SIGMOD Conference 1995: 92–103Google Scholar
  30. 30.
    Shapiro, L. D.: Join Processing in Database Systems with Large Main Memories. TODS 11(3): 239–264 (1986)CrossRefGoogle Scholar
  31. 31.
    Soo, M. D.; Snodgrass, R. T.; Jensen, C. S.: Efficient Evaluation of the Valid-Time Natural Join. ICDE 1994: 282–292Google Scholar
  32. 32.
    Zurek, T.: Optimisation of Partitioned Temporal Joins. BNCOD 1997: 101–115Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Jochen van den Bercken
    • 1
  • Martin Schneider
    • 1
  • Bernhard Seeger
    • 1
  1. 1.Department of Mathematics and Computer ScienceUniversity of MarburgMarburgGermany

Personalised recommendations