The Volcano optimizer generator: extensibility and efficient search

The Volcano project, which provides efficient, extensible tools for query and request processing, particularly for object-oriented and scientific database systems, is reviewed. In particular, one of its tools, the optimizer generator, is discussed. The data model, logical algebra, physical algebra, and optimization rules are translated by the optimizer generator into optimizer source code. It is shown that, compared with the EXODUS optimizer generator prototype, the search engine of the Volcano optimizer generator is more extensible and powerful. It provides effective support for non-trivial cost models and for physical properties such as sorting order. At the same time, it is much more efficient, as it combines dynamic programming with goal-directed searching and branch-and-bound pruning. Compared with other rule-based optimization systems, it provides complete data model independence and more natural extensibility.<<ETX>>

[1]  Patricia G. Selinger,et al.  Access path selection in a relational database management system , 1979, SIGMOD '79.

[2]  INFOPLEX: Research in a High-Performance Database Computer , 2011, IEEE Database Eng. Bull..

[3]  David J. DeWitt,et al.  The EXODUS optimizer generator , 1987, SIGMOD '87.

[4]  Guy M. Lohman,et al.  Implementing an Interpreter for Functional Rules in a Query Optimizer , 1988, VLDB.

[5]  Edward Sciore,et al.  A modular query optimizer generator , 1990, [1990] Proceedings. Sixth International Conference on Data Engineering.

[6]  Guido Moerkotte,et al.  Access support in object bases , 1990, SIGMOD '90.

[7]  Stanley B. Zdonik,et al.  A query algebra for object-oriented databases , 1990, [1990] Proceedings. Sixth International Conference on Data Engineering.

[8]  Guido Moerkotte,et al.  Advanced Query Processing in Object Bases Using Access Support Relations , 1990, VLDB.

[9]  Guy M. Lohman,et al.  Measuring the Complexity of Join Enumeration in Query Optimization , 1990, VLDB.

[10]  David Maier,et al.  Efficient assembly for complex objects , 1991, SIGMOD '91.

[11]  David J. DeWitt,et al.  Algebraic support for complex objects with arrays, identity, and inheritance , 1991, SIGMOD '91.

[12]  Goetz Graefe,et al.  Extensible Query Optimization and Parallel Execution in Volcano , 1991, Query Processing for Advanced Database Systems.

[13]  David Maier,et al.  Challenges for Query Processing in Object-Oriented Databases , 1991, Query Processing for Advanced Database Systems.

[14]  M. Tamer Özsu,et al.  Execution Plan Generation for an Object-Oriented Dat Model , 1991, DOOD.

[15]  Stanley B. Zdonik,et al.  An architecture for query processing in persistent object stores , 1992, Proceedings of the Twenty-Fifth Hawaii International Conference on System Sciences.

[16]  A Transformation-Based Approach to Optimizing Loops in Database Programming Languages , 1992, SIGMOD Conference.

[17]  José A. Blakeley,et al.  Architecture of an open object-oriented database management system , 1992, Computer.

[18]  David J. DeWitt,et al.  A transformation-based approach to optimizing loops in database programming languages , 1992, SIGMOD '92.

[19]  Goetz Graefe,et al.  Algebraic Optimization of Computations over Scientific Databases , 1993, IEEE Data Eng. Bull..

[20]  Goetz Graefe,et al.  Experiences building the open OODB query optimizer , 1993, SIGMOD Conference.

[21]  Experiences Building the Open OODB Query Optimizer , 1993, SIGMOD Conference.

[22]  David W. Etherington,et al.  A Other Related Work , 1993 .