Kvdb
A key/value database for the Phoenix Golang Meetup's Build a Database Server challenge.
Install / Use
/learn @ChristianAlexander/KvdbREADME
KVDB
A key/value database for the Phoenix Golang Meetup's Build a Database Server challenge.
Heavily inspired by chapter 7 of Martin Kleppmann's Designing Data-Intensive Applications book.
Structure
cmd- TCP and HTTP frontends for the DBcommands- Implementations of execuatable and undoable actionsprotobuf- Protobuf implementations of store persistencestores- Stuff to do with storagetransactors- Implementation of a transaction orchestrator
Isolation
This DB implmements serializable isolation with a 2-phase lock.
Binary Log
This DB has a protobuf binary log for disk persistence.
See Also
"Transactions: myths, surprises and opportunities" - Martin Kleppmann at Strange Loop
