Join and Semijoin Algorithms for a Multiprocessor Database Machine
- 23 March 1984
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Database Systems
- Vol. 9 (1) , 133-161
- https://doi.org/10.1145/348.318590
Abstract
This paper presents and analyzes algorithms for computing joins and semijoins of relations in a multiprocessor database machine. First, a model of the multiprocessor architecture is described, incorporating parameters defining I/O, CPU, and message transmission times that permit calculation of the execution times of these algorithms. Then, three join algorithms are presented and compared. It is shown that, for a given configuration, each algorithm has an application domain defined by the characteristics of the operand and result relations. Since a semijoin operator is useful for decreasing I/O and transmission times in a multiprocessor system, we present and compare two equi-semijoin algorithms and one non-equi-semijoin algorithm. The execution times of these algorithms are generally linearly proportional to the size of the operand and result relations, and inversely proportional to the number of processors. We then compare a method which consists of joining two relations to a method whereby one joins their semijoins. Finally, it is shown that the latter method, using semijoins, is generally better. The various algorithms presented are implemented in the SABRE database system; an evaluation model selects the best algorithm for performing a join according to the results presented here. A first version of the SABRE system is currently operational at INRIA.Keywords
This publication has 12 references indexed in Scilit:
- Introduction to a system for distributed databases (SDD-1)ACM Transactions on Database Systems, 1980
- Design of a backend processor for a data base machinePublished by Association for Computing Machinery (ACM) ,1980
- Implementing a relational database by means of specialzed hardwareACM Transactions on Database Systems, 1979
- Query execution in DIRECTPublished by Association for Computing Machinery (ACM) ,1979
- Concepts and capabilities of a database computer\ACM Transactions on Database Systems, 1978
- New Parallel-Sorting SchemesIEEE Transactions on Computers, 1978
- Performance evaluation of a relational associative processorACM Transactions on Database Systems, 1977
- Storage and access in relational data basesIBM Systems Journal, 1977
- The design and implementation of INGRESACM Transactions on Database Systems, 1976
- A relational model of data for large shared data banksCommunications of the ACM, 1970