BP-Tree: Overcoming the Point-Range Operation Tradeoff for In-Memory B⁺-trees
Name
li-amandali-meng-eecs-2023-thesis.pdf
Description
Thesis PDF
Size
643.43 KB
Format
Adobe PDF
Checksum (MD5)
4918eaf386a02a8fc6565fed821b3eae
Author(s)
Li, Amanda
Advisor(s)
Xu, Helen
Leiserson, Charles E.
Date Issued
February 2023
Publisher
Massachusetts Institute of Technology
Abstract
This thesis presents the BP-tree, an efficient concurrent key-value store based on the B⁺-tree, that uses large leaf nodes to optimize for range-query performance without sacrificing update speed by using large leaf nodes. B⁺-trees are a fundamental data structure for implementing in-memory indexes in databases and storage systems. B⁺- trees support both point operations (i.e., inserts and finds) and range operations (i.e., iterators and maps). There is an inherent tradeoff between point and range operations however, since the optimal node size for point operations is much smaller than the optimal node size for range operations. To avoid any slowdown in point operations, this thesis introduces a novel insert-optimized array called the buffered partitioned array (BPA) to efficiently organize data in leaf nodes.
Using the buffered partitioned array, the BP-tree overcomes the decades-old tradeoff between point and range operations in B⁺-trees. Experiments show that on 48 hyperthreads, the BP-tree supports slightly faster (by about 1.1×) point operations than the best-case configuration for B+-trees for point operations while supporting between 1.4×–1.7× faster range operations. On workloads generated from the Yahoo! Cloud Serving Benchmark (YCSB), the BP-tree is faster (by about 1.1×) on all point operation workloads compared to the B⁺-tree, and slower (by about 1.15×) on the short range operation workload compared to the B⁺-tree. Furthermore, this work extends the YCSB to include large scan and map workloads, commonly found in database applications, and find that the BP-tree is between 1.2×–1.4× faster than the B⁺-tree on these workloads. This thesis contains my joint work with Helen Xu, Brian Wheatman, Manoj Marneni, and Prashant Pandey.
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
In Copyright - Educational Use Permitted
Copyright MIT
Persistent DSpace Link