Complex query processing in multiprocessor database machines

High performance multiprocessor database machines have been made feasible with the advent of cheap, powerful microprocessors and large main memories. However, exploiting these platforms to support high speed complex query processing has lagged behind the hardware technology. The thrust of this dissertation has concentrated on developing strategies for efficiently processing join queries consisting of on the order of 10 joins in a parallel database machine with hundreds of processors. Although the algorithms were developed with a shared-nothing architecture in mind, the algorithms can be applied to shared-memory systems with little modification. For queries that join only a few relations, we have found that the parallel Hybrid hash-join algorithm dominates under most circumstances, except when the join attribute values of the building relation are highly skewed. For multi-way join queries, a subset of the optimization search space of query plans called right-deep query plans is identified as being particularly important in this highly-parallel environment. Several algorithms are proposed for processing right-deep query plans and results from a simulation model are presented that demonstrate that right-deep plans can indeed offer significant performance advantages over the more traditional left-deep plans under many conditions. ftn*This research was partially supported by the Defense Advanced Research Projects Agency under contract N00039-86-C-0578, by the National Science Foundation under grant DCR-8512862, by a DARPA/NASA sponsored Graduate Research Assistantship in Parallel Processing, by a Digital Equipment Corporation External Research Grant, and by a research grant from the Tandem Computer Corporation.