Wang, Ju (2002) Implementing the postgreSQL query optimizer within the OPT++ framework. Masters thesis, Concordia University.
As a promising object-oriented reuse technology, frameworks have been attracting enough attention. However, much less work has been done on framework-based development, compared with on framework development. In this thesis we described our work, framework-based implementation of an optimizer for a relational database. We implemented our target optimizer based on a query optimization framework, OPT++. In order to borrow expertise from a mature optimizer, we studied a model optimizer, the PostgreSQL optimizer. The operators and algorithms supported by it are summarized. The transformative rules applied are extracted. Its search strategy is analyzed. In our application, typical operators for relational algebra are supported. Main transformative rules extracted from the PostgreSQL optimizer are applied. A PostgreSQL-like search strategy is implemented. Constrained dynamic programming and genetic algorithm are incorporated to optimize joins. Additionally, we modified the framework to fit sub-queries and explicit joins. We describe our implementation by following the framework recipes. Problems and implementation considerations are presented in detail. Furthermore, more general issues in framework-based development are discussed.
|Divisions:||Concordia University > Faculty of Engineering and Computer Science > Computer Science and Software Engineering|
|Item Type:||Thesis (Masters)|
|Pagination:||x, 123 leaves : ill. ; 29 cm.|
|Degree Name:||Theses (M.Comp.Sc.)|
|Program:||Computer Science and Software Engineering|
|Thesis Supervisor(s):||Butler, Gregory|
|Deposited By:||Concordia University Libraries|
|Deposited On:||27 Aug 2009 13:24|
|Last Modified:||08 Dec 2010 10:24|
Repository Staff Only: item control page