The Volcano optimizer generator: extensibility and efficient search

@article{Graefe1993TheVO,
  title={The Volcano optimizer generator: extensibility and efficient search},
  author={Goetz Graefe and William J. McKenna},
  journal={Proceedings of IEEE 9th International Conference on Data Engineering},
  year={1993},
  pages={209-218}
}
  • G. Graefe, William J. McKenna
  • Published 19 April 1993
  • Computer Science
  • Proceedings of IEEE 9th International Conference on Data Engineering
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… 

Figures from this paper

Rule-based query optimization, revisited
TLDR
Evaluation of the system using quantitative software metrics supports a claim that the Venus-based optimizer is more easily maintained and extended than are its predecessors.
Enhancing an Extensible Query Optimizer with Support for Multiple Equivalence Types
TLDR
A study has enhanced Volcano to support a relational algebra with added temporal operators, such as temporal join and aggregation, and the introduction of algorithms and cost formulas for the new operators, six types of query equivalences, and accompanying query transformation rules.
Configurable and Extensible Query Optimization by Controlled Term Rewriting
TLDR
An optimizer simulator is developed which uses a general spectrum of operators covering relational algebra operators, their physical implementation alternatives, non-standard predicates, etc. and is thus extensible wrt operators and configurable wrt control mechanisms.
EROC: A Toolkit for Building NEATO Query Optimizers
TLDR
It is shown how EROC’s classes were extended to build NEAT0 (New EROC-based Advanced Teradata Optimizer), a join optimizer for a massively parallel environment and an indication of the savings EROC, provided us.
Experiences building the open OODB query optimizer
TLDR
The Open OODB query optimizer was constructed using the Volcano Optimizer Generator, demonstrating that this second-generation optimizer generator enables rapid development of efficient and effective query optimizers for non-standard data models and systems.
Rule-Based Generation of Logical Query Plans with Controlled Complexity
TLDR
This paper exemplifies this for one fundamental optimization problem, namely join enumeration for linear queries, and shows that a rule-based optimization strategy can achieve the theoretically optimal complexity.
Encapsulation of Parallelism and Architecture-Independence in Extensible Database Query Execution
TLDR
The authors justify their decision to support hierarchical architectures and argue that the exchange operator offers a significant advantage for development and maintenance of database query processing software.
Optimizing Join Enumeration in Transformation-based Query Optimizers
TLDR
This paper proposes an efficient new ruleset for generating cross-product free trees, based on techniques proposed recently for top-down join order enumeration, but unlike earlier work it is cleanly integrated into the Volcano/Cascades framework, and can be used in conjunction with other transformation rules.
Query Optimization as a Datalog Program
TLDR
As part of the ASPEN project, future query processing architectures targeted at widely distributed (cloud or cluster) deployments are envisioned, where statistics and state monitoring information are acquired from across the network, via declarative views that may integrate multiple kinds of data.
Making database optimizers more extensible
TLDR
Prairie is described, an environment for specifying rules for rule-based optimizers that satisfies all four of the above requirements, and the Prairie specification language is presented and it is shown how it allows a DBI to design an easily extensible rule set for a rule- based optimizer.
...
...

References

SHOWING 1-10 OF 30 REFERENCES
The EXODUS optimizer generator
This paper presents the design and an initial performance evaluation of the query optimizer generator designed for the EXODUS extensible database system. Algebraic transformation rules are translated
A modular query optimizer generator
  • E. Sciore, J. Sieg
  • Computer Science
    [1990] Proceedings. Sixth International Conference on Data Engineering
  • 1990
TLDR
A new approach to optimization based on the idea of modules is presented, which avoids the limitations of existing systems and supports flexible optimizer prototyping, efficient optimize-time search, and convenient access to metadata.
Implementing an Interpreter for Functional Rules in a Query Optimizer
TLDR
This paper presents a design for implementing a query optimizer that interprets a new kind of compositional rules for specifying alternative execution strategies that are input to the optimizer as data.
Measuring the Complexity of Join Enumeration in Query Optimization
TLDR
This paper describes and measures the performance of the Starburst join enumerator, which can parameterically adjust for each query the space of join sequences that arc evaluated by the optimizer to allow or disallow composite tables as the inner operand of a join.
Execution Plan Generation for an Object-Oriented Dat Model
TLDR
Two algorithms for generating execution plans for queries expressed in an object algebra are presented and the interface to an object manager whose operations are the executable elements of query execution plans is defined.
Advanced Query Processing in Object Bases Using Access Support Relations
TLDR
This paper describes an optimization strategy used in the GOM (Generic Object Model) project which combines established relational methods with new techniques designed for object models and makes the exploitation of access support relations entirely transparent to the database user.
Algebraic Optimization of Computations over Scientific Databases
TLDR
This research introduces an integrated algebra that includes traditional database operators for pattern matching and search as well as numeric operators for scientific analysis, and identifies a set of transformation rules for this algebra that can be used to achieve significant performance improvements.
Access support in object bases
TLDR
An analytical cost model for access support relations and their application is developed and is used to determine the best access support relation extension and decomposition with respect to the specific database configuration and application profile.
Access path selection in a relational database management system
TLDR
This paper describes how System R chooses access paths for both simple (single relation) and complex queries (such as joins) given a user specification of desired data as a boolean expression of predicates.
A query algebra for object-oriented databases
  • G. Shaw, S. Zdonik
  • Computer Science
    [1990] Proceedings. Sixth International Conference on Data Engineering
  • 1990
TLDR
An algebra that synthesizes relational query concepts with object-oriented databases is defined and support for object identity leads to new definitions for equality of results and operators that can manipulate the identities of objects.
...
...