#dbms #grpc #tokio #async #data-management

bin+lib Alice-DBMS

The Alice-Database is a comprehensive data management solution designed to integrate seamlessly with the Kingdom System. This plugin provides robust functionality for creating, updating, and deleting collections and documents, ensuring efficient and reliable data storage and retrieva

2 stable releases

1.2.5 Oct 26, 2024

#1180 in Database interfaces

MIT license

51KB
744 lines

Alice DBMS

Alice DBMS Logo

Bazel Supported Nix Supported Cross Platform

🌟 Features

  • JSON Data Handling: Efficiently store and manipulate JSON documents.
  • Structured Management: Organize documents into collections for better management.
  • Cross-Platform: Compatible across multiple operating systems.
  • Extensible: Easily extend the functionality to meet your specific use cases.
  • ROBUST: Leveraging Serde for powerful serialization and deserialization.

πŸ“¦ Installation

To set up Alice DBMS, ensure you have Rust and Cargo installed. You can then add it to your project by including it in your Cargo.toml.

[dependencies]
Alice-Database_DBMS = "=0.1.0"

Then, run:

cargo build

πŸš€ Getting Started

Here's a brief example of how to use the Alice DBMS module:

fn main() -> std::io::Result<()> {
    // Define the root path for data storage
    let root_path = Path::new("path_to_your_database");
    let mut manager = CollectionManager::new(&root_path);
    
    // Add a new collection
    manager.add_collection("example_collection").unwrap();

    // Prepare document content
    let doc_content = json!({"key": "value"}).to_string();
    
    // Add a new document to the collection
    manager.get_collection_mut("example_collection").unwrap()
           .add_document("example_doc.json", &doc_content).unwrap();

    println!("Document added successfully!");
    Ok(())
}

πŸ” Testing

Alice DBMS comes with a suite of tests to ensure functionality. You can run the tests using:

cargo test

Example Tests

These tests cover the creation, updating, and deletion of documents and collections. For example:

#[test]
fn test_create_and_add_document() {
    // Test implementation here...
}

🀝 Contributing

Contributions are welcome! Here’s how you can help:

  1. Open an issue if you have a bug to report or a suggestion.
  2. Fork the repository.
  3. Create a new branch for your feature or bug fix.
  4. Submit a pull request.

πŸ“„ License

This project is licensed under the MIT License. See the LICENSE file for details.

πŸ“§ Contact

For questions or feedback, please reach out to blcklptn@icloud.com.


Happy coding with Alice DBMS! πŸš€

```

Dependencies

~15–25MB
~456K SLoC