Optimizing joins between two partitioned relations in distributed databases
Journal of Parallel and Distributed Computing
Magic sets and other strange ways to implement logic programs (extended abstract)
PODS '86 Proceedings of the fifth ACM SIGACT-SIGMOD symposium on Principles of database systems
IBM Systems Journal
Principles of distributed database systems (2nd ed.)
Principles of distributed database systems (2nd ed.)
Automating physical database design in a parallel database
Proceedings of the 2002 ACM SIGMOD international conference on Management of data
Introduction to Algorithms
Access path selection in a relational database management system
SIGMOD '79 Proceedings of the 1979 ACM SIGMOD international conference on Management of data
Query Optimization by Predicate Move-Around
VLDB '94 Proceedings of the 20th International Conference on Very Large Data Bases
Integrating vertical and horizontal partitioning into automated physical database design
SIGMOD '04 Proceedings of the 2004 ACM SIGMOD international conference on Management of data
Exploiting Correlated Attributes in Acquisitional Query Processing
ICDE '05 Proceedings of the 21st International Conference on Data Engineering
Content-based routing: different plans for different data
VLDB '05 Proceedings of the 31st international conference on Very large data bases
Selectivity-based partitioning: a divide-and-union paradigm for effective query optimization
Proceedings of the 14th ACM international conference on Information and knowledge management
SSDBM '03 Proceedings of the 15th International Conference on Scientific and Statistical Database Management
VLDB '02 Proceedings of the 28th international conference on Very Large Data Bases
Proceedings of the VLDB Endowment
HadoopDB: an architectural hybrid of MapReduce and DBMS technologies for analytical workloads
Proceedings of the VLDB Endowment
Hirundo: a mechanism for automated production of optimized data stream graphs
ICPE '12 Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering
DYMOND: an active system for dynamic vertical partitioning of multimedia databases
Proceedings of the 16th International Database Engineering & Applications Sysmposium
Sliced column-store (SCS): ontological foundations and practical implications
ER'12 Proceedings of the 31st international conference on Conceptual Modeling
Automatic optimization of stream programs via source program operator graph transformations
Distributed and Parallel Databases
Hi-index | 0.01 |
Table partitioning splits a table into smaller parts that can be accessed, stored, and maintained independent of one another. From their traditional use in improving query performance, partitioning strategies have evolved into a powerful mechanism to improve the overall manageability of database systems. Table partitioning simplifies administrative tasks like data loading, removal, backup, statistics maintenance, and storage provisioning. Query language extensions now enable applications and user queries to specify how their results should be partitioned for further use. However, query optimization techniques have not kept pace with the rapid advances in usage and user control of table partitioning. We address this gap by developing new techniques to generate efficient plans for SQL queries involving multiway joins over partitioned tables. Our techniques are designed for easy incorporation into bottom-up query optimizers that are in wide use today. We have prototyped these techniques in the PostgreSQL optimizer. An extensive evaluation shows that our partition-aware optimization techniques, with low optimization overhead, generate plans that can be an order of magnitude better than plans produced by current optimizers.