Skip to content

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: ConsistentHashRing with virtual nodes for minimal rebalancing.
  • [x] Range Partitioning: RangePartitioner for 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_uring for 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-orm with more SQL dialect support.
  • [ ] Native Clients: Go and Python clients.

Performance Baselines

MetricValueNote
Write Throughput199K ops/sBatch writes
Read Throughput8.5M ops/sSingle key lookup
Partition Routing1.56B ops/sConsistent hashing
Cache Hits10.4M ops/sLRU Cache

Getting Started

bash
# Run unit tests
cargo test

# Start a local cluster
./scripts/start_cluster.sh