neutrondb 5.0.2

NeutronDB is a log-structured merge-tree key-value store for any implemented data type.
Documentation

NeutronDB

NeutronDB is a log-structured merge-tree key-value store for any implemented data type.

Author

Roy R. O. Okello

Email

Github

Twitter

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)

License