Encyclopedia of Database Systems

2018 Edition
| Editors: Ling Liu, M. Tamer Özsu

Semijoin Program

  • Stéphane BressanEmail author
Reference work entry
DOI: https://doi.org/10.1007/978-1-4614-8265-9_709


Semijoin reducer


A semijoin program is a query execution plan for queries to distributed database systems that uses semijoins to reduce the size of relation instances before they are transmitted and further joined. Yet the reduction itself requires that a projection of the relation instances involved in the join onto the join attributes be transmitted. The maximum amount of reduction can be achieved by a semijoin program called a full reducer. Full reducers that do not require the computation of a fixpoint exist for acyclic queries. Fully reducing relation instances is rarely beneficial. However semijoin programs partially reducing selected relation instances may be an effective optimization when the dominant cost of query execution is communication. Considering semijoin programs considerably increases the distributed query optimization search space.

Historical Background

Semijoin programs were first introduced to improve the performance, input/output operations and...

This is a preview of subscription content, log in to check access.

Recommended Reading

  1. 1.
    Bernstein PA, Chiu D-MW. Using semi-joins to solve relational queries. J ACM. 1981;28(1):25–40.zbMATHCrossRefGoogle Scholar
  2. 2.
    Bernstein PA, Goodman N. Power of natural semijoins. SIAM J Comput. 1981;10(4):751–71.MathSciNetzbMATHCrossRefGoogle Scholar
  3. 3.
    Bernstein PA, Goodman N, Wong E, Reeve CL, Rothnie Jr JB. Query processing in a system for distributed databases (SDD-1). ACM Trans Database Syst. 1981;6(4):602–25.zbMATHCrossRefGoogle Scholar
  4. 4.
    Ceri S, Pelagatti G. Distributed databases: principles and systems. New York: McGraw-Hill; 1984.zbMATHGoogle Scholar
  5. 5.
    Fagin R. Degrees of acyclicity for hypergraphs and relational database schemes. J ACM. 1983;30(3):514–50.MathSciNetzbMATHCrossRefGoogle Scholar
  6. 6.
    Lal A, Choueiry BY. Constraint processing techniques for improving join computation: a proof of concept. In: Proceedings of the 1st International Symposium on Applications of Constraint Databases; 2004. p. 149–67.zbMATHCrossRefGoogle Scholar
  7. 7.
    Ozkarahan EA, Schuster SA, Sevcik KC. Performance evaluation of a relational associative processor. ACM Trans Database Syst. 1977;2(2):175–95.CrossRefGoogle Scholar
  8. 8.
    Stocker K, Kossmann D, Braumandl R, Kemper A. Integrating semi-join-reducers into state of the art query processors. In: Proceedings of the 17th International Conference on Data Engineering; 2001. p. 575–84.Google Scholar
  9. 9.
    Ullman JD. Principles of database and knowledge-base systems, vol. II. Rockville: Computer Science; 1989.Google Scholar
  10. 10.
    Valduriez P, Gardarin G. Join and semijoin algorithms for a multiprocessor database machine. ACM Trans Database Syst. 1984;9(1):133–61.CrossRefGoogle Scholar
  11. 11.
    Wallace M, Bressan S, Provost TL. Magic checking: constraint checking for database query optimization. In: Proceedings of the ESPRIT WG CONTESSA Workshop on Constraint Databases and Applications; 1995. p. 148–66.Google Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.National University of SingaporeSchool of Computing, Department of Computer ScienceSingaporeSingapore

Section editors and affiliations

  • Kian-Lee Tan
    • 1
  1. 1.Dept. of Computer ScienceNational Univ. of SingaporeSingaporeSingapore