dustdata 2.0.0-beta.0

A data concurrency control storage engine to Rustbase
Documentation

crates.io

DustData

A data concurrency control storage engine to Rustbase

Join our community and chat with other Rust users.

⚠️ Warning

This is a work in progress. The API is not stable yet.

🔗 Contribute

Click here to see how to Contribute

Dependencies

These are dependencies that are required to use the DustData.

How to install

Add the following to your Cargo.toml:

[dependencies]
dustdata = "2.0.0-beta.0"

Usage

Initialize a DustData interface.

// DustData Configuration
let config = LsmConfig {
    flush_threshold: 10240 // 10KB
    sstable_path: PathBuf::from("./test_data"),
};

let dustdata = Lsm::new(config);

Insert a data

// ...
// Creating a data
let data = bson::doc! {
    "name": "John Doe",
    "age": 30,
}

dustdata.insert("key", data);

Getting a data

// ...
let value = dustdata.get("key").unwrap().unwrap();
println!("{:?}", value);

Updating a data

// ...
let data = bson::doc! {
    "name": "Joe Mamma",
    "age": 42,
}

dustdata.update("key", data);

Deleting a data

// ...
dustdata.delete("key");

To-dos

  • Memtable (06/19/22)
  • SSTable (08/20/22)
  • Snapshots (12/16/22)

Authors

@peeeuzin

License

MIT License