A Comparison of Knives for Bread Slicing

Alekh Jindal, Endre Palatinus, Vladimir Pavlov, Jens Dittrich

In: Peer Kröger , Stratis D. Viglas (Hrsg.). Proceedings of the VLDB Endowment Proceedings of the 39th International Conference on Very Large Data Bases. International Conference on Very Large Data Bases (VLDB-2013) 39th August 26-30 Riva del Garda, Trento Italy Seiten 361-372 Proceedings of the VLDB Endowment 6 6 VLDB Endowment 4/2013.


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%.

Deutsches Forschungszentrum für Künstliche Intelligenz
German Research Center for Artificial Intelligence