FB+-tree: A Memory-Optimized B+-tree with Latch-Free Update
Yuan Chen, Ao Li, Wenhai Li, Lingfeng Deng
摘要
B + -trees are prevalent in traditional database systems due to their versatility and balanced structure. While binary search is typically utilized for branch operations, it may lead to inefficient cache utilization in main-memory scenarios. In contrast, trie-based index structures drive branch operations through prefix matching. While these structures generally produce fewer cache misses and are thus increasingly popular, they may underperform in range scans because of frequent pointer chasing.
This paper proposes a new high-performance B + -tree variant called
Feature B + -tree (FB + -tree
). Similar to employing bit or byte for branch operation in tries, FB + -tree progressively considers several bytes following the common prefix on each level of its inner nodes—referred to as features, which allows FB + -tree to benefit from prefix skewness. FB + -tree blurs the lines between B + -trees and tries, while still retaining balance. In the best case, FB + -tree almost becomes a trie, whereas in the worst case, it continues to function as a B + -tree. Meanwhile, a crafted synchronization protocol that combines the link technique and optimistic lock is designed to support efficient concurrent index access. Distinctively, FB + -tree leverages subtle atomic operations seamlessly coordinated with optimistic lock to facilitate latch-free updates, which can be easily extended to other structures. Intensive experiments on multiple workload-dataset combinations demonstrate that FB + -tree shows comparable lookup performance to state-of-the-art trie-based indexes and outperforms popular B + -trees by 2.3x 3.7x under 96 threads. FB + -tree also exhibits significant potential on other workloads, especially update workloads under contention and scan workloads.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper1
问问它们各自怎么用它它引用的顶会 Paper14
- ALEX: An Updatable Adaptive Learned IndexJialin Ding, Umar Farooq Minhas, Jia Yu, Chi Wang 等SIGMOD 2020 · 被引用 274 次
- A large scale analysis of hundreds of in-memory cache clusters at TwitterJuncheng Yang, Yao Yue, K. V. RashmiOSDI 2020 · 被引用 245 次
- APEX: A High-Performance Learned Index on Persistent MemoryBaotong Lu, Jialin Ding, Eric Lo, Umar Farooq Minhas 等VLDB 2022 · 被引用 73 次
- LB+-Trees: Optimizing Persistent Index Performance on 3DXPoint MemoryJihang Liu, Shimin Chen, Lujun WangVLDB 2020 · 被引用 69 次
- PilotScope: Steering Databases with Machine Learning DriversRong Zhu, Lianggui Weng, Wenqing Wei, Di Wu 等VLDB 2024 · 被引用 18 次
相关 Paper
- Bf-Tree: A Modern Read-Write-Optimized Concurrent Larger-Than-Memory Range IndexXiangpeng Hao, Badrish ChandramouliVLDB 2024 · 被引用 14 次
- BP-tree: Overcoming the Point-Range Operation Tradeoff for In-Memory B-treesHelen Xu, Amanda Li, Brian Wheatman, Manoj Marneni 等VLDB 2023 · 被引用 13 次
- NBTree: a Lock-free PM-friendly Persistent B+-Tree for eADR-enabled PM SystemsBowen Zhang, Shengan Zheng, Zhenlin Qi, Linpeng HuangVLDB 2022 · 被引用 41 次
- -Tree: A Gapped Data-Parallel B-TreeDimitrios Tsitsigkos, Achilleas Michalopoulos, Nikos Mamoulis, Manolis TerrovitisICDE 2026 · 被引用 4 次
- OptiQL: Robust Optimistic Locking for Memory-Optimized IndexesGe Shi, Ziyi Yan, Tianzheng WangSIGMOD 2024 · 被引用 3 次
