repositorypackage
0.0.0-20181031032348-b4eea1d2a940
Repository: https://github.com/christianalexander/kvdb.git
Documentation: pkg.go.dev
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# README
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