- Ordered B+tree — keys kept in sorted order; logarithmic point lookup, insert, and delete
- Range scans — forward and reverse iteration over a key range, the operation B+trees exist for
- Paged layout — internal and leaf nodes are fixed-size pages, persistable and cacheable via a pager
- Concurrent access — latch coupling (crabbing) for many-reader / many-writer traversal without a global lock
- Bulk load — build a balanced tree bottom-up from sorted input
- Pluggable key ordering — byte-ordered by default; custom comparators supported
Installation
[]
= "0.1"
API Overview
For the complete reference, see docs/API.md.
Where It Fits
index-db is the ordered-index layer. It builds on / pairs with:
page-db— B+tree nodes are pages allocated and cached by the pagerlock-db— range locks protect scanned key ranges- storage engines — the secondary-index and ordered-access structure above the pager
lsm-db— a B-tree alternative to the LSM index for read-heavy workloads
It has no first-party dependencies, so it builds and tests standalone today.
Cross-Platform Support
Linux (x86_64, aarch64), macOS (x86_64, Apple Silicon), and Windows (x86_64) are first-class and verified by the CI matrix.
Contributing
See CONTRIBUTING.md and dev/DIRECTIVES.md. Before a PR: cargo fmt --all, cargo clippy --all-targets --all-features -- -D warnings, and cargo test --all-features must be clean.