Skip to content

rust-util-collections/vsdb

Repository files navigation

GitHub top language Rust Minimum rustc version

vsdb

vsdb is a high-performance, embedded database designed to feel like using Rust's standard collections (Vec, HashMap, etc.). It provides persistent, disk-backed data structures with a familiar, in-memory feel.

This repository is a simplified version of the original vsdb, retaining the most practical and stable features while focusing on performance and ease of use.

For a detailed guide and API examples, see the vsdb crate documentation.

Crate Ecosystem

The vsdb project is a workspace containing several related crates:

Crate Version Documentation Path Description
vsdb Crates.io Docs.rs wrappers High-level, typed data structures (e.g., Mapx, MapxOrd). This is the primary crate for most users.
vsdb_core Crates.io Docs.rs core Low-level implementations, including storage backends and raw data structures.
vsdb_slot_db Crates.io Docs.rs utils/slot_db A skip-list-like, timestamp-based index for efficient paged queries.
vsdb_trie_db Crates.io Docs.rs utils/trie_db An out-of-the-box Merkle Patricia Trie (MPT) implementation.

Important Changes

  • Performance-focused API: The insert() and remove() methods no longer return the old value, eliminating expensive read-before-write operations and significantly improving write performance.
  • Simplified API: The unreliable len() and is_empty() methods have been removed from map structures. If you need to track collection size, maintain a separate counter in your application.
  • Removed Types: Vecx and VecxRaw have been removed as they heavily depended on the unreliable len() tracking.

About

A KV-database with 'Git-like' features

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 7

Languages