vsdb is a high-performance, embedded database designed to feel like using Rust's standard collections. It provides persistent, disk-backed data structures (Mapx, MapxOrd) with a familiar, in-memory feel, plus Git-model versioned storage (VerMap) with branching, commits, merge, and history.
For a detailed guide and API examples, see the vsdb crate documentation. For the versioned storage architecture (VerMap internals, merge algorithm, COW B+ tree, etc.), see the Versioned Module — Architecture & Internals.
The vsdb project is a workspace containing several related crates:
| Crate | Version | Documentation | Path | Description |
|---|---|---|---|---|
| vsdb | strata |
High-level, typed data structures (e.g., Mapx, MapxOrd). This is the primary crate for most users. |
||
| vsdb_core | core |
Low-level implementations, including the RocksDB storage layer and raw data structures. | ||
| vsdb_slot_db | utils/slot_db |
A skip-list-like, timestamp-based index for efficient paged queries. | ||
| vsdb_trie_db | utils/trie_db |
An out-of-the-box Merkle Patricia Trie (MPT) implementation. |
- Performance-focused API: The
insert()andremove()methods no longer return the old value, eliminating expensive read-before-write operations and significantly improving write performance.