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.


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