@MISC{_volcano-anextensible, author = {}, title = {Volcano-An Extensible and Parallel Query Evaluation System}, year = {} }
Share
OpenURL
Abstract
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 Vol-cano effort provides a rich environment for research and edu-cation in database systems design, heuristics for query opti-mization, parallel query execution, and resource allocation. Volcano uses a standard interface between algebra opera-tors, allowing easy addition of new operators and operator im-plementations. Operations on individual items, e.g., predi-cates, 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 al-low delaying selected optimization decisions until run-time, e.g., for embedded queries with free variables. The exchange meta-operator supports intra-operator parallelism on parti-tioned 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 envi-ronment, 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 exe-cution engine that effectively combines extensibility and paral-lelism. Index Terms-Dynamic query evaluation plans, extensible database systems, iterators, operator model of parallelization, query execution. I.