NeutronDB
NeutronDB is a log-structured merge-tree key-value store for any implemented data type.
Author
Roy R. O. Okello
Usage
Cargo.toml
[dependencies]
neutrondb = "5.0.2"
Module.rs
use neutrondb::Store;
About
Files
Neutron Logs
+-------------------+
| Log Type & Data |
| ... |
+-------------------+
Neutron Table
+-----------+
| Version |
+-----------+
+-----------------+
| Keys & Values |
| ... |
+-----------------+
+----------------+
| Bloom Filter |
+----------------+
Neutron Graves
+--------+
| Keys |
| ... |
+--------+
API
new: directory -> Store
let mut accounts_store: Store<Hash, Account> = Store::new("./ndb")?;
put: &key, &value
accounts_store.put(&Hash, &Account)?;
get: &key -> value
let account = accounts_store.get(&Hash)?;
delete: &key
accounts_store.delete(&Hash)?;
Future
- 🚀 batching requests for performance
- 📥 store.put_many(&[(K,V)])
- 📤 store.get_many(&[K]) -> Vec<(K,V)>
- 🦾 store.iter(lambda) -> Vec<_>
- 🧠 store.fold(accumulator, lambda) -> accumulator
- 🔍 store.any(lambda) -> V
- 🐘 store.memory(size)