In this paper query organization, execution, and optimization in the database machine DIRECT are discussed. We demonstrate that the use of a monitor for each relation referenced by a query along with the use of the NEXT PAGE construct permits the DIRECT back-end controller to assign a query to any number of processors for execution. Furthermore, these constructs also permit the controller to balance the load in the back-end by dynamically adjusting how many processors are assigned to each executing query.We also identify the problem of relation fragmentation which occurs when a query is executed by several processors in parallel and develop a technique for estimating the optimal number of processors to compress a relation so that the execution time of the entire query is minimized. These results appear to be applicable to all database machines which employ parallel processing techniques to enhance query execution.
[1]
C. A. R. Hoare,et al.
Monitors: an operating system structuring concept
,
1974,
CACM.
[2]
David J. DeWitt.
DIRECT - a multiprocessor organization for supporting relational data base management systems
,
1978,
ISCA '78.
[3]
Michael Stonebraker,et al.
The design and implementation of INGRES
,
1976,
TODS.
[4]
D. J. De Witt,et al.
Direct—A Multiprocessor Organization for Supporting Relational Database Management Systems
,
1979
.
[5]
Kenneth C. Smith,et al.
A virtual memory system for a relational associative processor
,
1976,
AFIPS '76.
[6]
Kenneth C. Smith,et al.
A virtual memory system for a relational associative processor
,
1976,
SIGF.
[7]
Kenneth C. Smith,et al.
RAP: an associative processor for data base management
,
1975,
AFIPS '75.