Skip to content

Latest commit

 

History

History
50 lines (35 loc) · 1.1 KB

README.md

File metadata and controls

50 lines (35 loc) · 1.1 KB

CrepeDB

An versioned and forkable embedded Key-Value database. It aims to used as storage of blockchain.

Supported Features

  • Create shopshots based on any snapshot.
  • Read data based on any snapshot.
  • All snapshots are organized into this tree.
  • Table can be Versioned and Basic(No snapshot).
  • Versioned and Basic table at one transaction.
  • High-performance reads and inserts
  • Multi backend support.
  • Provide tools for analyzing databases, migrating, and managing data. (WIP)

backends

For now, CrepeDB supports these backend:

  • redb
  • mdbx
  • sled
  • rocksdb
  • leveldb

Usage

Crates

If you want to use this crate, please add crepedb and a backend what you want to use.

cargo add crepedb 
cargo add crepedb-redb # replace backend crate you want to use.

Usage

use crepedb::CrepeDB;
use crepedb_redb::RedbDatabase;

let backend = RedbDatabase::memory().unwarp();
let db = CrepeDB::new(backend);

Read snapshot

You can use crepedb command line to read database. Reference to tool.