Course / Books #
- Designing Data Intensive Applications
- MIT 6.824: Distributed Systems
- CAM: Concurrent and Distributed Systems
- Distributed Systems lecture series: Martin Kleppmann
- Martin Fowler: Patterns of Distributed Systems
CAP Theorem #
Issues #
- split brain
Consistency Models #
overview: jepsen/consistency
linearizability #
causal consistency #
- Clocks and Causality - Ordering Events in Distributed Systems
- Jepsen: Causal Consistency
- Causal Consistency Guarantees – Case Studies
- MIT 6.824: Lecture 17 - Causal Consistency, COPS
- Mongodb: Causal Consistency and Read and Write Concerns
eventual consistency #
Replication #
Designing Data Intensive Applications Chapter 5 Replication
Models of Replication #
- Leaders and Followers
- Multi-Leader Replication
- Leaderless Replication
Write Ahead Log #
- Martin Fowler: Write-Ahead Log
- Distributed Services with Go: Chapter 3 Write a Log Package
- PostGreSQL: 30.3. Write-Ahead Logging (WAL)
- MongoDB Oplog
PostGreSQL #
- physical v.s. Logical streaming replication
MongoDB #
Partition #
Raft (Consensus Algorithm) #
- The Raft Consensus Algorithm
- The Secret Lives of Data: Raft
- Distributed Systems 6.2: Raft
- University of Cambridge: Distributed Systems
RUM Conjecture #
The Trade offs Behind Modern Storage Systems