54 releases (4 major breaking)

Uses new Rust 2024

4.0.1 Apr 22, 2025
3.0.0 Oct 12, 2024
2.0.0 Oct 7, 2024
1.0.2 Sep 26, 2024
0.11.6 Dec 25, 2021

#26 in #leveldb

Download history 38/week @ 2025-01-08 32/week @ 2025-01-15 62/week @ 2025-01-22 21/week @ 2025-01-29 29/week @ 2025-02-05 310/week @ 2025-02-12 35/week @ 2025-02-19 29/week @ 2025-02-26 60/week @ 2025-03-05 100/week @ 2025-03-12 58/week @ 2025-03-19 73/week @ 2025-03-26 37/week @ 2025-04-02 26/week @ 2025-04-09 178/week @ 2025-04-16 163/week @ 2025-04-23

425 downloads per month
Used in 8 crates (6 directly)

GPL-3.0 license

225KB
6.5K SLoC

GitHub top language Rust Latest Version Rust Documentation Minimum rustc version

vsdb

vsdb is a 'std-collection-like' database.

This is a simplified version of the original vsdb, retaining only the most practical and stable parts.

To view the change log check here.

Highlights

  • Most APIs is similar as the coresponding data structures in the standard library
    • Use Vecx just like Vec
    • Use Mapx just like HashMap
    • Use MapxOrd just like BTreeMap
  • ...

Compilation features

  • rocks_backend, use rocksdb as the backend database
    • Stable ?
    • C++ implementation, difficult to be compiled into a static binary
  • [ DEFAULT ] parity_backend, use parity-db as the backend database
    • Experimental ?
    • Pure rust implementation, can be easily compiled into a static binary
  • msgpack_codec, use rmp-serde as the codec
    • Faster running speed than json
  • json_codec, use serde_json as the codec
    • Better generality and compatibility
  • compress, enable compression in the backend database

NOTE

  • The serialized result of a vsdb instance can not be used as the basis for distributed consensus
    • The serialized result only contains some meta-information(storage paths, etc.)
    • These meta-information are likely to be different in different environments
    • The correct way is to read what you need from it, and then process the real content
  • The instance len is not absolutely reliable and should be regarded as a hint

Dependencies

~2–12MB
~148K SLoC