Vertical partitioning of relational OLTP databases using integer programming
Rasmus Resen Amossen

TL;DR
This paper introduces integer programming algorithms for vertical partitioning of relational OLTP databases, optimizing performance by minimizing data access costs while maintaining single-site transaction execution.
Contribution
It presents a cost model for vertical partitioning, proves NP-hardness of the problem, and offers both optimal and heuristic algorithms that improve database performance.
Findings
Algorithms reduce cost by 37% on TPC-C benchmark.
Heuristic solutions are close to optimal solutions.
Partitioning improves performance by minimizing irrelevant data reads.
Abstract
A way to optimize performance of relational row store databases is to reduce the row widths by vertically partitioning tables into table fractions in order to minimize the number of irrelevant columns/attributes read by each transaction. This paper considers vertical partitioning algorithms for relational row-store OLTP databases with an H-store-like architecture, meaning that we would like to maximize the number of single-sited transactions. We present a model for the vertical partitioning problem that, given a schema together with a vertical partitioning and a workload, estimates the costs (bytes read/written by storage layer access methods and bytes transferred between sites) of evaluating the workload on the given partitioning. The cost model allows for arbitrarily prioritizing load balancing of sites vs. total cost minimization. We show that finding a minimum-cost vertical…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Database Systems and Queries · Cloud Computing and Resource Management · Distributed systems and fault tolerance
