Communicating sequential processes
Communicating sequential processes
A rule-based view of query optimization
SIGMOD '87 Proceedings of the 1987 ACM SIGMOD international conference on Management of data
Grammar-like functional rules for representing query optimization alternatives
SIGMOD '88 Proceedings of the 1988 ACM SIGMOD international conference on Management of data
Extensible/rule based query rewrite optimization in Starburst
SIGMOD '92 Proceedings of the 1992 ACM SIGMOD international conference on Management of data
Concurrent programming in ERLANG (2nd ed.)
Concurrent programming in ERLANG (2nd ed.)
Rapid bushy join-order optimization with Cartesian products
SIGMOD '96 Proceedings of the 1996 ACM SIGMOD international conference on Management of data
Counting, enumerating, and sampling of execution plans in a cost-based query optimizer
SIGMOD '00 Proceedings of the 2000 ACM SIGMOD international conference on Management of data
Optimizing queries using materialized views: a practical, scalable solution
SIGMOD '01 Proceedings of the 2001 ACM SIGMOD international conference on Management of data
Orthogonal optimization of subqueries and aggregation
SIGMOD '01 Proceedings of the 2001 ACM SIGMOD international conference on Management of data
Access path selection in a relational database management system
SIGMOD '79 Proceedings of the 1979 ACM SIGMOD international conference on Management of data
Volcano An Extensible and Parallel Query Evaluation System
IEEE Transactions on Knowledge and Data Engineering
A Blackboard Architecture for Query Optimization in Object Bases
VLDB '93 Proceedings of the 19th International Conference on Very Large Data Bases
The Complexity of Transformation-Based Join Enumeration
VLDB '97 Proceedings of the 23rd International Conference on Very Large Data Bases
Exploiting Upper and Lower Bounds In Top-Down Query Optimization
IDEAS '01 Proceedings of the International Database Engineering & Applications Symposium
Control of an Extensible Query Optimizer: A Planning-Based Approach
VLDB '93 Proceedings of the 19th International Conference on Very Large Data Bases
OPT++ : an object-oriented implementation for extensible database query optimization
The VLDB Journal — The International Journal on Very Large Data Bases
Data reduction through early grouping
CASCON '94 Proceedings of the 1994 conference of the Centre for Advanced Studies on Collaborative research
VLDB '03 Proceedings of the 29th international conference on Very large data bases - Volume 29
Parallelizing query optimization
Proceedings of the VLDB Endowment
Evita raced: metacompilation for declarative networks
Proceedings of the VLDB Endowment
Architecture of a Database System
Foundations and Trends in Databases
Automatic capture of minimal, portable, and executable bug repros using AMPERe
DBTest '12 Proceedings of the Fifth International Workshop on Testing Database Systems
Flexible and extensible preference evaluation in database systems
ACM Transactions on Database Systems (TODS)
Hi-index | 0.00 |
Query optimization is the most computationally complex task in a database management systems. In many query optimizers, faster CPUs and increased RAM can translate directly to better query plans and thus better overall system performance. Although memory size continues to scale with Moore's Law, processor speeds are leveling off. Chip manufacturers are now focusing on multicore designs that integrate increasing numbers of cores in a single CPU. Query optimizers need to be parallelized in order to continue enjoying the growth trend of Moore's Law. In this paper, we address this problem in the context of the extensible optimizer architectures found in many commercial database systems. We identify the key data dependencies inherent in the dynamic programming at the heart of these optimizers. We use this insight both to design a flexible parallel query optimization implementation, and to assess the opportunities for parallelism in this context. The proposed solutions can serve as a blueprint for retrofitting existing industry-grade optimizers to leverage multicore architectures, without requiring significant rework of the underlying infrastructure.