PrkDB v2 Development Roadmap & Summary
Status Check
- Current Version: v2.0-clean
- Build Status: Passing ✅
- Test Coverage: Core modules covered (Raft, Sharding, Storage)
🚀 Completed Features (v2.0)
1. Raft Consensus
- [x] Pre-Vote Protocol: Prevents disruptive elections from partitioned nodes (verified by chaos tests).
- [x] Replication Modes:
Linearizable: Strong consistency (Leader read)Stale: High availability (Local read)Follower: Balances load (ReadIndex)
2. Advanced Sharding
- [x] Consistent Hashing:
ConsistentHashRingwith virtual nodes for minimal rebalancing. - [x] Range Partitioning:
RangePartitionerfor ordered key access patterns. - [x] Performance: ~1.56B routing ops/sec (641ps latency).
3. Infrastructure
- [x] Cleanup: Removed ~70 redundant files; repo size optimized.
- [x] Testing: Fast unit tests (<1s for core); comprehensive chaos suite.
🔮 Future Roadmap (v2.1+)
Performance Optimization
- [ ] SIMD Vectorization: Optimize range scans and aggregations.
- [ ] Zero-Copy Networking: Use
io_uringfor faster replication. - [ ] Compaction Strategies: Leveled compaction for segmented logs.
Distributed Features
- [ ] Dynamic Rebalancing: Auto-move partitions based on load.
- [ ] Cross-Region Replication: Asynchronous geo-replication.
- [ ] Distributed Transactions: 2PC over Raft for multi-partition atomic commits.
Developer Experience
- [ ] Web Dashboard: React/Next.js admin UI for cluster management.
- [ ] SQL Layer: Expand
prkdb-ormwith more SQL dialect support. - [ ] Native Clients: Go and Python clients.
Performance Baselines
| Metric | Value | Note |
|---|---|---|
| Write Throughput | 199K ops/s | Batch writes |
| Read Throughput | 8.5M ops/s | Single key lookup |
| Partition Routing | 1.56B ops/s | Consistent hashing |
| Cache Hits | 10.4M ops/s | LRU Cache |
Getting Started
bash
# Run unit tests
cargo test
# Start a local cluster
./scripts/start_cluster.sh