B-Trees Are Back: Engineering Fast and Pageable Node Layouts
Large main memory capacity and even larger data sets have motivated hybrid storage systems, which serve most transactions from memory, but can seamlessly transition to flash storage. In such systems, the data structure of choice is usually a B-Tree with pageable nodes. Most academic B-Tree work considers only fixed size records, making them unsuitable for most practical applications. Given the prevalence of B-Trees, surprisingly few available implementations and benchmarks of optimized B-Trees cover variable-sized records. In this paper, we describe an efficient B-Tree implementation supporting variable-sized records containing six known node layout optimizations. We evaluate each optimization to guide future implementations, and propose an optimized adaptive layout that can even compete with pure in-memory structures for many workloads. Our results show that well-engineered B-Trees can efficiently handle both in-memory and out-of-memory workloads.
Authors
- Viktor Leis (ORCID: https://orcid.org/0000-0001-5676-8017)
- Lawrence Benson (ORCID: https://orcid.org/0000-0002-0085-5274)
- M.W. Müller
Institutions
- Technical University of Munich (DE)
Publication Details
- Journal
- Proceedings of the ACM on Management of Data
- Published
- 2025-02-10
- DOI
- https://doi.org/10.1145/3709664
- Citations
- 3
- Primary Topic
- Advanced Data Storage Technologies
- Type
- article
- Field-Weighted Citation Impact
- 4.46