Vertical partitioning algorithms for database design
ACM Transactions on Database Systems (TODS)
Vertical partitioning for database design: a graphical algorithm
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
An Effective Approach to Vertical Partitioning for Physical Design of Relational Databases
IEEE Transactions on Software Engineering
A heuristic approach to attribute partitioning
SIGMOD '79 Proceedings of the 1979 ACM SIGMOD international conference on Management of data
A Transaction-Based Approach to Vertical Partitioning for Relational Database Systems
IEEE Transactions on Software Engineering
A Vertical Partitioning Algorithm for Relational Databases
Proceedings of the Third International Conference on Data Engineering
AutoPart: Automating Schema Design for Large Scientific Databases Using Data Partitioning
SSDBM '04 Proceedings of the 16th International Conference on Scientific and Statistical Database Management
Integrating vertical and horizontal partitioning into automated physical database design
SIGMOD '04 Proceedings of the 2004 ACM SIGMOD international conference on Management of data
The use of cluster analysis in physical data base design
VLDB '75 Proceedings of the 1st International Conference on Very Large Data Bases
Data morphing: an adaptive, cache-conscious storage technique
VLDB '03 Proceedings of the 29th international conference on Very large data bases - Volume 29
Constant-Time Query Processing
ICDE '08 Proceedings of the 2008 IEEE 24th International Conference on Data Engineering
HYRISE: a main memory hybrid storage engine
Proceedings of the VLDB Endowment
Trojan data layouts: right shoes for a running elephant
Proceedings of the 2nd ACM Symposium on Cloud Computing
Hi-index | 0.00 |
Vertical partitioning is a crucial step in physical database design in row-oriented databases. A number of vertical partitioning algorithms have been proposed over the last three decades for a variety of niche scenarios. In principle, the underlying problem remains the same: decompose a table into one or more vertical partitions. However, it is not clear how good different vertical partitioning algorithms are in comparison to each other. In fact, it is not even clear how to experimentally compare different vertical partitioning algorithms. In this paper, we present an exhaustive experimental study of several vertical partitioning algorithms. We categorize vertical partitioning algorithms along three dimensions. We survey six vertical partitioning algorithms and discuss their pros and cons. We identify the major differences in the use-case settings for different algorithms and describe how to make an apples-to-apples comparison of different vertical partitioning algorithms under the same setting. We propose four metrics to compare vertical partitioning algorithms. We show experimental results from the TPC-H and SSB benchmark and present four key lessons learned: (1) we can do four orders of magnitude less computation and still find the optimal layouts, (2) the benefits of vertical partitioning depend strongly on the database buffer size, (3) HillClimb is the best vertical partitioning algorithm, and (4) vertical partitioning for TPC-H-like benchmarks can improve over column layout by only up to 5%.