Enhancing an Extensible Query Optimizer with Support for Multiple Equivalence Types

Database management systems are continuously being extended with support for new types of data and advanced querying capabilities. In large part because of this, query optimization has remained a very active area of research throughout the past two decades. At the same time, current commercial optimizers are hard to modify, to incorporate desired changes in, e.g., query algebras or transformation rules. This has led to a number of research contributions aiming to create extensible query optimizers, such as Starburst, Volcano, and OPT++. This paper reports on a study that has enhanced Volcano to support a relational algebra with added temporal operators, such as temporal join and aggregation. These enhancements include the introduction of algorithms and cost formulas for the new operators, six types of query equivalences, and accompanying query transformation rules. The paper describes extensions to Volcano's structure and algorithms and summarizes implementation experiences.

[1]  Goetz Graefe,et al.  The Volcano optimizer generator: extensibility and efficient search , 1993, Proceedings of IEEE 9th International Conference on Data Engineering.

[2]  Goetz Graefe The Cascades Framework for Query Optimization , 1995, IEEE Data Eng. Bull..

[3]  Hamid Pirahesh,et al.  A rule engine for query transformation in Starburst and IBM DB2 C/S DBMS , 1997, Proceedings 13th International Conference on Data Engineering.

[4]  Surajit Chaudhuri,et al.  An overview of query optimization in relational systems , 1998, PODS.

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

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

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

[8]  Hamid Pirahesh,et al.  Starburst Mid-Flight: As the Dust Clears , 1990, IEEE Trans. Knowl. Data Eng..

[9]  Christian S. Jensen,et al.  A Foundation for Conventional and Temporal Query Optimization Addressing Duplicates and Ordering , 2001, IEEE Trans. Knowl. Data Eng..

[10]  Christian S. Jensen,et al.  Adaptable query optimization and evaluation in temporal middleware , 2001, SIGMOD '01.

[11]  William J. McKenna,et al.  EROC: A Toolkit for Building NEATO Query Optimizers , 1996, VLDB.

[12]  David J. DeWitt,et al.  Of Objects and Databases: A Decade of Turmoil , 1996, VLDB.

[13]  Christian S. Jensen,et al.  Developing a DataBlade for a new index , 1999, Proceedings 15th International Conference on Data Engineering (Cat. No.99CB36337).

[14]  David J. DeWitt,et al.  OPT++ : an object-oriented implementation for extensible database query optimization , 1999, The VLDB Journal.

[15]  Bernhard Mitschang,et al.  User-Defined Table Operators: Enhancing Extensibility for ORDBMS , 1999, VLDB.