Crate bplustree

Source
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§

GenericBPlusTree
Concurrent, optimistically locked B+ Tree

Type Aliases§

BPlusTree
Type alias for the GenericBPlusTree with preset node sizes