An versioned and forkable embedded Key-Value database. It aims to used as storage of blockchain.
- 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)
For now, CrepeDB supports these backend:
- redb
- mdbx
- sled
- rocksdb
- leveldb
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.
use crepedb::CrepeDB;
use crepedb_redb::RedbDatabase;
let backend = RedbDatabase::memory().unwarp();
let db = CrepeDB::new(backend);
You can use crepedb
command line to read database. Reference to tool.