Distributed Ultra Scalable Database
Staying on shoulders of Giants:
- Best in Breed storage
- Best in Breed netwoking
- Fit for purpose modern languages
- Proven big blocks, no reinvented bycicles
- Grpc for remoting
- Client-side load balancing
- TLS enabled communication
- Authentication
- OAuth
- NTLM
- Kerberos
- Protobuf .proto files for stored data
- Flatbufs for stored data (as per Apache Arrow)
- Async Rust server
- Native clients for
- Rust
- .Net
- Java/Kotlin
- Javascript
- sled, as embedded storage (millions/sec reads/writes for short data)
- Special treatment for long keys
- Special treatment for long value
- Zero-cost value cloning
- Long values partitioning
- CDN-like LRU cache-through servers for value parts
- Server replication via Raft and Reliable Casual Broadcast (with CRDT)
- Reimplement RCB from https://github.com/cotyar/braindump in Rust
- Sync-free Primitives and partitioning resistence similar to AntidotDB
- Merkle-tree-based data consistency
- "soft-delete"
- keys TTL (expirations)
- Orleans inspired distributed transactions (aka external ACID)
- RavenDB-inspired automated index management
- ACL-based authorizations
- LDAP3 integration (Active Directory, etc)
- Column-oriented indices
- Regex indices
- Full-text search
- ActorDB inspired multi-island sharding
- Automatic query optimisation
- Remote logging and instrumentation
- tokio-tracing
- Opentracing
- Write auto batching
- Persistent Subscriptions
- Value compression
- Value encryption
- Externaly consistent SQL
- WebAssembly-based stored procedures (somewhat inspired by EOS)