Content area
Much work has been accomplished in the past on the subject of parallel query processing and optimization in parallel relational database systems. However, little work on the same subject has been done in parallel object-oriented database systems. Since the object-oriented view of a database and its processing are quite different from those of a relational system, it can be expected that techniques of parallel query processing and optimization for the latter can be different from the former. In this dissertation, we present two parallel architectures, a general framework for parallel object-oriented database systems, several implemented query processing and optimization strategies together with some performance evaluation results. In this work, multi-wavefront algorithms are used in query processing to allow a higher degree of parallelism than the traditional tree-based query processing. Four optimization strategies, which are designed specifically for the multi-wavefront algorithms and for the optimization of single as well as multiple queries, are introduced and evaluated. A distributed result collection scheme which is designed to support retrieval queries is also introduced. Furthermore, two parallel architectures, namely, master-slave and peer-to-peer architectures are compared. A comparison is also made for two data placement strategies, namely, class-per-node vertical partitioning and hybrid partitioning. The query processing algorithms, four optimization strategies and the distributed result collection scheme have been implemented on a parallel computer nCUBE2, and the results of a performance evaluation are presented in this dissertation. The main emphases and the intended contributions of this dissertation are (1) data partitioning, parallel architecture, query processing, query optimization and result collection strategies suitable for parallel OODBMSs; (2) the implementation of these strategies; and (3) the performance evaluation results.