DonutDB
Lightweight, encrypted column-oriented database engine written in Rust.
Created with ❤️ by @unknownmsv
Features
- Encrypted Columnar Storage (AES-256)
- 50MB Partitioning for performance
- Warp-based REST API
- Schema & Index Management
- Custom Language Mapping
- Open-Source with Ethical Licensing
Architecture
donutdb/
└── <api_key>/
├── meta.ometa # Metadata (Encrypted)
├── schema.oschema # Schema definitions (Encrypted)
├── index.oidx # Indexes (Encrypted)
└── data/
├── id.odb.part1 # Partitioned data (Encrypted)
└── ...
Installation
Prerequisites: Rust, Git
git clone https://github.com/unknownmsv/DonutDB.git
cd DonutDB
Config files: api_keys.json
{ "keys": ["test-key"] }
lang.json
{ "1": "01", "2": "02", "a": "alice", "b": "bob" }
Build:
cargo build --release
Usage
Start server:
target/release/donutdb
POST /api/store
{
"dataset": "users",
"slot": ["id", "username"],
"data": [["1", "alice"], ["2", "bob"]]
}
GET /api/store/users/test-key
curl http://localhost:4040/api/store/users/test-key
License
DonutDB License v3:
- Attribution required (@unknownmsv)
- Modifications must be open-sourced
- Commercial use must be disclosed
Roadmap
- AES-256 full encryption
- Indexing system
- Compression layer
- SQL-like query interface
- Cross-platform binary packaging
Download Source Code
Download DonutDB v1.0Show Your Support
Contact
- GitHub: @unknownmsv
- Discord:
@unknownmsv