Daniel's Distributed Database (DDB)
Overview
This is not an officially supported Google product.
This is code for my learning project Writing A Distributed Database. The project is meant to solidify my understanding of distributed databases, and is by no means production ready.
Those looking for production-quality code should probably look to projects like etcd instead.
Medium Posts
I will be documenting my thoughts and reflections as I go along on Medium.
- Learning By Doing
- Skeleton Implementation
- Write Ahead Log
Roadmap
Storage Engine
- [x] WAL rotation / truncation
- [x] SSTable indexes
- [x] SSTable key compression
- [ ] SSTable block compression
- [ ] Bloom filters
- [ ] Compactions
- [x] Block cache
API
- [ ] Scans
- [ ] Transactions
- [ ] Hybrid logical clocks (or some other timestamping system)
Replication
- [ ] Replicate vs Paxos or Raft.
Debug / Monitoring
- [ ] Add stats framework
- [x] Add tracing framework (Census or other)
- [ ] Add debug z pages.