vsdb
High-performance, embedded database with an API similar to Rust's standard collections.
vsdb provides typed, persistent collections backed by mmdb, a pure-Rust LSM-Tree engine. No C/C++ toolchain required.
Features
| Collection | Description |
|---|---|
Mapx<K, V> |
Persistent HashMap-like KV store |
MapxOrd<K, V> |
Persistent BTreeMap-like KV store with sorted iteration |
VerMap<K, V> |
Git-model versioning: branches, commits, three-way merge, rollback |
MptCalc / SmtCalc |
Merkle Patricia Trie and Sparse Merkle Tree for cryptographic state commitments |
VerMapWithProof<K, V, T> |
VerMap + trie integration for versioned Merkle roots |
SlotDex<S, K> |
Timestamp-based paged index with skip-list-like tier acceleration |
VecDex<K, D> |
HNSW approximate nearest-neighbor vector search (L2, Cosine, InnerProduct) |
DagMapRaw / DagMapRawKey<V> |
DAG-based collections |
Installation
Quick example
use Mapx;
let mut map: = new;
map.insert;
assert_eq!;
For detailed examples covering all collection types (VerMap, Merkle tries, VecDex, SlotDex, and more), see the API Examples.
Documentation
- API Examples — code examples for all collection types
- Versioned Module — Architecture & Internals — COW B+ tree, commit DAG, three-way merge, automatic GC
- VecDex — HNSW Vector Index — configuration, distance metrics, filtered search, storage architecture
Important Notes
- The serialized output of a
vsdbinstance cannot be used for distributed consensus. The serialized data contains meta-information (like storage paths) that may differ across environments. Read the required data and process the raw content instead.
License
MIT