Bf-Tree: A Modern Read-Write-Optimized Concurrent Larger-Than-Memory Range Index
Xiangpeng Hao, Badrish Chandramouli
Abstract
A B-Tree is the most widely used range index for larger-than-memory data systems. It organizes data in pages (usually 4 KB) that efficiently align with disk IO operations, fully utilizing each IO operation to narrow down the search space. On the other hand, a B-Tree's page-based organization leads to inefficient caching and high write amplification, as it needs to cache the entire page as a whole while often only a small subset of records are hot, and it needs to write the entire page for a single record update.
The key insight of this paper is to separate cache pages from disk pages , i.e., a cache page is no longer a pure mirror of its disk content, but instead, it forms a judiciously chosen subset of the disk page that is worth caching, and can absorb both read and write operations in a consistent manner. Based on this insight, we propose Bf-Tree, a modern B-Tree that is read-write-optimized by building a new variable-length buffer pool to manage such cache pages, called mini-pages. Bf-Tree uses this in-memory buffer pool to support efficient record-level caching, buffering recent updates, caching range gaps, as well as mirrors of disk pages when needed. We implement a fully featured and modern Bf-Tree in Rust with 13k lines of code, and show that Bf-Tree is 2.5× faster than RocksDB (LSM-Tree) for scan operations, 6× faster than a B-Tree for write operations, and 2× faster than both B-Trees and LSM-Trees for point lookups. We believe these results firmly establish a new standard for database storage engines of the future.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 35870cf5-a994-4a7f-8996-6087b0957b05Cited by top-tier papers6
- Mnemosyne: Dynamic Workload-Aware BF Tuning via Accurate Statistics in LSM treesZichen Zhu, Yanpeng Wei, Ju Hyoung Mun, Manos AthanassoulisSIGMOD 2025 · 3 citations
- Predictive Translation: High-Performance Buffer Management Without the Trade-OffsMichael Zinsmeister, Lam-Duy Nguyen, Viktor Leis, Thomas NeumannSIGMOD 2026 · 3 citations
- How to Write to SSDsBohyun Lee, Tobias Ziegler, Viktor LeisVLDB 2026 · 2 citations
- SIDLE: Tree-structure Aware Indexes for CXL-based Heterogeneous MemoryHaoru Zhao, Mingkai Dong, Fangnuo Wu, Haibo ChenVLDB 2026 · 1 citation
- Dynamic read & write optimization with TurtleKVTony Astolfi, Vidya Silai, Darby Huye, Lan Liu et al.VLDB 2026
Builds on23
- Sherman: A Write-Optimized Distributed B+Tree Index on Disaggregated MemoryQing Wang, Youyou Lu, Jiwu ShuSIGMOD 2022 · 99 citations
- Evaluating Persistent Memory Range IndexesLucas Lersch, Xiangpeng Hao, Ismail Oukid, Tianzheng Wang et al.VLDB 2020 · 97 citations
- SplinterDB: Closing the Bandwidth Gap for NVMe Key-Value StoresAlexander Conway, Abhishek Gupta, Vijay Chidambaram, Martin Farach-Colton et al.USENIX ATC 2020 · 90 citations
- What Modern NVMe Storage Can Do, And How To Exploit It: High-Performance I/O for High-Performance Storage EnginesGabriel Haas, Viktor LeisVLDB 2023 · 83 citations
- APEX: A High-Performance Learned Index on Persistent MemoryBaotong Lu, Jialin Ding, Eric Lo, Umar Farooq Minhas et al.VLDB 2022 · 73 citations
Related papers
- BP-tree: Overcoming the Point-Range Operation Tradeoff for In-Memory B-treesHelen Xu, Amanda Li, Brian Wheatman, Manoj Marneni et al.VLDB 2023 · 13 citations
- Closing the B+-tree vs. LSM-tree Write Amplification Gap on Modern Storage Hardware with Built-in Transparent CompressionYifan Qiao, Xubin Chen, Ning Zheng, Jiangpeng Li et al.FAST 2022 · 23 citations
- FB+-tree: A Memory-Optimized B+-tree with Latch-Free UpdateYuan Chen, Ao Li, Wenhai Li, Lingfeng DengVLDB 2025 · 2 citations
- Range Cache: An Efficient Cache Component for Accelerating Range Queries on LSM - Based Key-Value StoresXiaoliang Wang, Peiquan Jin, Yongping Luo, Zhaole ChuICDE 2024 · 10 citations
- B-Trees Are Back: Engineering Fast and Pageable Node LayoutsMarcus Müller, Lawrence Benson, Viktor LeisSIGMOD 2025 · 5 citations
