Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
PebbleVault
[!CAUTION] PebbleVault is still in early development and is not meant to be used in any production environments yet.
Welcome to PebbleVault, the database that rocks! π Imagine a world where pebbles are more than just tiny stones; they are the building blocks of your data dreams. PebbleVault is a memory database with a MySQL twist, all wrapped up in the cozy, memory-safe blanket of Rust. Itβs like having a pet rock collection, but for grown-ups with serious data needs!
Why PebbleVault? π
- Speed: With memory-based storage, your pebbles are accessible at lightning speed.
- Safety: Thanks to Rust, your data is as safe as pebbles in a vault. No more worrying about memory leaks or data corruption.
- Flexibility: Easily throw your pebbles to MySQL when you need more permanent storage. It's like tossing a pebble across a lake, but with fewer ripples and more data integrity.
- Simplicity: Simple operations to add, drop, and throw pebbles make managing your data as easy as skipping stones on a serene pond.
- Amazing dad jokes
Key Features π
- In-Memory Speed: Keep your pebbles in memory for ultra-fast access.
- MySQL Persistence: Throw pebbles to MySQL for long-term storage, ensuring your data stays solid.
- Rust Reliability: Built with Rust, so your pebbles are safe and sound, protected from the elements (and by elements, we mean bugs).
Operations π§
Define Class (Create Pebble Class)
Define a class of pebbles with specific fields and field types using JSON.
vault.define_class;
Collect (Insert Data)
Store a pebble (data object) in memory.
vault.collect;
Throw (Persist Data)
Send a pebble to MySQL for long-term storage.
vault.throw;
Drop (Delete Data)
Remove a pebble from memory or disk.
vault.drop;
Skim (Read Data)
Retrieve a pebble from memory or disk.
let data = vault.skim;
PebbleStack (Create Table)
Create a new table (or collection) of pebbles.
vault.pebblestack;
PebbleDump (Bulk Insert)
Add multiple pebbles at once.
let data1 = r#"{
"name": "Sapphire",
"color": "Blue",
"carat": 2.5
}"#;
let data2 = r#"{
"name": "Emerald",
"color": "Green",
"carat": 1.8
}"#;
let data3 = r#"{
"name": "Topaz",
"color": "Yellow",
"carat": 3.0
}"#;
vault.pebbledump;
PebbleShift (Update Data)
Update an existing pebble's data.
vault.pebbleshift;
PebbleSift (Query Data)
Filter and find specific pebbles.
let results = vault.pebblesift;
PebblePatch (Patch Data)
Partially update a pebble's data.
vault.pebblepatch;
PebbleFlow (Transaction)
Ensure atomic operations.
vault.pebbleflow;
PebbleSquash (Delete Table)
Remove an entire table (or collection) of pebbles.
vault.pebblesquash;
Installation π οΈ
To get started with PebbleVault, just run:
Example Usage
use Vault;
let vault = new;
// Define a class of pebbles
vault.define_class;
// Create a new table (or collection) of pebbles
vault.pebblestack;
// Insert data into the vault
vault.collect;
// Bulk insert multiple pebbles
vault.pebbledump;
// Query the vault to find specific pebbles
let results = vault.pebblesift;
// Update an existing pebble's data
vault.pebbleshift;
// Partially update a pebble's data
vault.pebblepatch;
// Retrieve data from the vault
let data = vault.skim;
// Persist data to MySQL
vault.throw;
// Remove data from the vault
vault.drop;
// Ensure atomic operations with a transaction
vault.pebbleflow;
// Delete an entire table (or collection) of pebbles
vault.pebblesquash;
Contribute π€
Do you have ideas to make PebbleVault even better? Want to add more fun to our pebble party? Join us in making PebbleVault the best place for all your pebble-keeping needs! Check out our contributing guide and start throwing your ideas our way.
License π
PebbleVault is licensed under the Apache 2.0 License. Rock on! π€