db-20 — References

Distributed-system foundations and the specific consensus / replication ideas that informed this lab.

Consensus

CAP / consistency models

  • Brewer, E. Towards Robust Distributed Systems (PODC 2000 keynote).
  • Gilbert, S. & Lynch, N. Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services. SIGACT 2002.
  • Vogels, W. Eventually Consistent. CACM 2009.

Transactional storage

  • Gray, J. & Reuter, A. Transaction Processing: Concepts and Techniques. Morgan Kaufmann, 1993. Chapter 7 on replicated data.
  • Mohan, C. et al. ARIES. ACM TODS 17(1), 1992 — background on why our log is append-only.

State-machine replication

  • Schneider, F. B. Implementing Fault-Tolerant Services Using the State Machine Approach: A Tutorial. ACM Comp. Surveys 22(4), 1990.

Production systems for comparison

Self-references in this repo

  • db-16-distributed-fundamentals/ — failure models, CAP/FLP intuitions.
  • db-17-raft/ — the underlying consensus algorithm.
  • db-09-leveldb-complete/ — the storage-engine quality bar this lab matches.