pa-06 — References

Foundational

  • Designing Data-Intensive Applications (Kleppmann) — ch. 5 (replication), ch. 6 (partitioning), ch. 9 (consistency/consensus). The single best treatment.
  • Dynamo: Amazon's Highly Available Key-value Store (DeCandia et al., 2007) — consistent hashing + vnodes, quorums (N/W/R), read-repair, hinted handoff, anti-entropy.
  • Karger et al., Consistent Hashing and Random Trees (1997) — the original.

Consistency & CAP

  • Brewer, CAP; Abadi, PACELC (consistency vs latency, always).
  • Vogels, Eventually Consistent; Bailis, Highly Available Transactions / the "Consistency without consensus" line.
  • Jepsen analyses (Cassandra, etcd, Mongo) — consistency claims tested under partition. https://jepsen.io/analyses

Systems to study

  • Cassandra / ScyllaDB (tunable quorums, vnodes), DynamoDB, Riak — Dynamo-style. etcd / Spanner / CockroachDB — consensus-based strong consistency (db-17).
  • db-16…20 (consensus = the strong-consistency leg), pa-04 (stream partitioning + rebalancing), gw-04 (subsetting ring), pa-09 (consistency/availability as SLO choices).