Expand description
Implementation of a fast in-memory concurrent B+ Tree featuring optimistic lock coupling. The implementation is based on LeanStore with some adaptations from Umbra.
The current API is very basic and more features are supposed to be added in the following
versions, it tries to loosely follow the std::collections::BTreeMap
API.
Currently it is not heavily optimized but is already faster than some concurrent lock-free
implementations. Single threaded performance is generally slower (~ 1.4x) but still comparable to std::collections::BTreeMap
with sligthly faster scans due to the B+ Tree topology.
use bplustree::BPlusTree;
let tree = BPlusTree::new();
tree.insert("some", "data");
Modules§
- error
- Internal errors for the
GenericBPlusTree
data structure - iter
- Iterators for the
GenericBPlusTree
data structure - latch
- Implementation of a hybrid latch based on the LeanStore paper.
Structs§
- GenericB
Plus Tree - Concurrent, optimistically locked B+ Tree
Type Aliases§
- BPlus
Tree - Type alias for the
GenericBPlusTree
with preset node sizes