Volcano-an extensible and parallel query evaluation system
- 1 January 1994
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Knowledge and Data Engineering
- Vol. 6 (1) , 120-135
- https://doi.org/10.1109/69.273032
Abstract
To investigate the interactions of extensibility and parallelism in database query processing, we have developed a new dataflow query execution system called Volcano. The Volcano effort provides a rich environment for research and education in database systems design, heuristics for query optimization, parallel query execution, and resource allocation. Volcano uses a standard interface between algebra operators, allowing easy addition of new operators and operator implementations. Operations on individual items, e.g., predicates, are imported into the query processing operators using support functions. The semantics of support functions is not prescribed; any data type including complex objects and any operation can be realized. Thus, Volcano is extensible with new operators, algorithms, data types, and type-specific methods. Volcano includes two novel meta-operators. The choose-plan meta-operator supports dynamic query evaluation plans that allow delaying selected optimization decisions until run-time, e.g., for embedded queries with free variables. The exchange meta-operator supports intra-operator parallelism on partitioned datasets and both vertical and horizontal inter-operator parallelism, translating between demand-driven dataflow within processes and data-driven dataflow between processes. All operators, with the exception of the exchange operator, have been designed and implemented in a single-process environment, and parallelized using the exchange operator. Even operators not yet designed can be parallelized using this new operator if they use and provide the interator interface. Thus, the issues of data manipulation and parallelism have become orthogonal, making Volcano the first implemented query execution engine that effectively combines extensibility and parallelism.Keywords
This publication has 23 references indexed in Scilit:
- Relational division: four algorithms and their performancePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- The Gamma database machine projectIEEE Transactions on Knowledge and Data Engineering, 1990
- The implementation of POSTGRESIEEE Transactions on Knowledge and Data Engineering, 1990
- The DASDBS project: objectives, experiences, and future prospectsIEEE Transactions on Knowledge and Data Engineering, 1990
- Dynamic query evaluation plansPublished by Association for Computing Machinery (ACM) ,1989
- Query optimization in object-oriented database systems: A prospectusPublished by Springer Nature ,1988
- The EXODUS optimizer generatorPublished by Association for Computing Machinery (ACM) ,1987
- Join processing in database systems with large main memoriesACM Transactions on Database Systems, 1986
- Design and implementation of the wisconsin storage systemSoftware: Practice and Experience, 1985
- Retrospection on a database systemACM Transactions on Database Systems, 1980