matterdb

Crates.iomatterdb
lib.rsmatterdb
version1.2.0
sourcesrc
created_at2021-04-12 15:28:15.720385
updated_at2021-07-15 13:53:24.085753
descriptionPersistent storage implementation based on RocksDB.
homepage
repositoryhttps://github.com/popzxc/matterdb
max_upload_size
id382439
size520,562
Igor Aleksanov (popzxc)

documentation

https://docs.rs/matterdb

README

MatterDB

Docs.rs rust 1.45.0+ required

MatterDB is a document-oriented persistent storage. Under the hood, MerkleDB uses RocksDB as a key-value storage.

Features

  • Supports list, map and set collections (aka indexes), as well as singular elements. Further, indexes can be organized into groups, allowing to create hierarchies of documents with arbitrary nesting.
  • Ability to define data layouts in an intuitive, declarative format.
  • Basic support of transactions: changes to the storage can be aggregated into a fork and then merged to the database atomically.
  • Access control leveraging the Rust type system, allowing to precisely define access privileges for different actors.
  • First-class support of long-running, fault-tolerant data migrations running concurrently with other I/O to the storage.

Usage

Include matterdb as a dependency in your Cargo.toml:

[dependencies]
matterdb = "1.0.0"

History notice

MatterDB was initially created as MerkleDB by Exonum.

MerkleDB was initially created to support merklized collections atop of the persistent key-value storage. This project does not have the same purpose: instead, it provides a generic convenient and (ideally) backend-agnostic interface for the persistent NoSQL storage, without any bounds to the blockchain specifics.

License

matterdb is licensed under the Apache License (Version 2.0). See LICENSE for details.

Commit count: 30

cargo fmt