PoloDB
PoloDB is a embedded JSON-based database.
Features
- Simple/Lightweight/Easy to learn and use
- Various languages binding
- Embedded(No standalone processes, no cross-process calls)
- No runtime dependency
- NoSQL
- MongoDB-like API
- Cross-Platform
- Store data in ONE file
Introduction
PoloDB is a library written in Rust that implements a lightweight MongoDB.
PoloDB has no dependency(except for libc), so it can be easily run on most platform(thanks for Rust Language).
The data of PoloDB is stored in a file. The file format is stable, cross-platform, and backwards compaitible.
The API of PoloDB is very similar to MongoDB. It's very easy to learn and use.
Platform
Theoretically, PoloDB supports all platforms that Rust compiler supports. But PoloDB is a personal project currently. Limited by my time, I only compile and test on the following platform:
- macOS 10.15 x64
- Linux x64 (Tested on Fedora 30)
- Windows 10 x64
Manual
Developing Plan
The feature will be implemented one by on in order.
- Basic database API
- CURD
- Transactions
- Indexes
- Join operations
- Command line Tools
- Mobile Platform Compilation
- iOS
- Android
- Flutter
- Language bindings
- C/C++
- Go
- Swift
- Python
- Node.js (Doc)
- Java/Kotlin
- Dart
- Tons of tests
- Multi-threads support
- Extension API
- Data Encryption
- JavaScript Engine
- Visualization Tools