39 releases (7 stable)
2.0.0-beta.3 | Mar 24, 2024 |
---|---|
2.0.0-beta.0 | May 23, 2023 |
1.3.2 | Feb 19, 2023 |
1.1.0 | Dec 18, 2022 |
0.1.0 | Jun 18, 2022 |
#366 in Database interfaces
44KB
1K
SLoC
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
How to install
Add the following to your Cargo.toml
:
[dependencies]
dustdata = "2.0.0-beta.2"
Usage
Initialize a new DustData
instance with the default configuration:
use dustdata::DustData;
let mut dustdata = DustData::new(Default::default()).unwrap();
Inserting data into a collection
#[derive(Serialize, Deserialize, Clone, Debug)]
struct User {
name: String,
age: u32,
}
let collection = dustdata.collection::<User>("users");
let user = User {
name: "Pedro".to_string(),
age: 21,
};
// Creating a new transaction.
let mut transaction = collection.start();
// Inserting the user into the transaction.
transaction.insert("user:1", user);
// Committing the transaction.
collection.commit(&mut transaction).unwrap();
// Done!
Reading data from a collection
let collection = dustdata.collection::<User>("users").unwrap();
let user = collection.get("user:1").unwrap();
Authors
License
Dependencies
~4.5MB
~57K SLoC