Skip to main content

Reference and Selective Reading

You do not need to read the source books front-to-back for this module. Use the concept pages and practice pages first. Open these local chunks only when a specific idea is still unclear after the concept page, or when you want a second voice on the same mechanism.

Source Roles

SourceRoleWhy it is here
Designing Data-Intensive Applications (Kleppmann)Primary teaching sourceThe module's backbone: Chapter 5 (Replication) and Chapter 6 (Partitioning)
Database Internals (Petrov)Implementation supportUsed when you need protocol-level detail: failure detection, leader election, consistency models
Distributed Systems: Concepts and Design (Coulouris et al.)Classical treatmentUsed for group communication, replication fundamentals, and gossip-based systems
Database System Concepts (Silberschatz et al.)Relational textbook viewUsed when the distributed-systems literature is overwhelming and a classical RDBMS framing helps

Read Only If Stuck

Cluster 1: Why Replicate and Partition

Cluster 2: Replication Topologies

Cluster 3: Replication Mechanics

Cluster 4: Partitioning Strategies

Cluster 5: Practical Systems

Optional Deep Dive

Open these only after the concept pages feel comfortable. They are worth the time if you plan to operate a distributed database in production or read systems papers.

Concept-to-Source Map

Primary conceptBest source if stuckWhy this source
Replication goals: availability, throughput, geolocationDDIA: Chapter 5 ReplicationNames the three goals cleanly and refuses to conflate them
Partitioning goals: scaling beyond one nodeDDIA: Chapter 6 PartitioningBest narrative of what partitioning buys and costs
CAP intuition: partition-tolerance as mandatoryDDIA: The cost of linearizabilityTreats CAP as a runtime choice, not a static label
Single-leader replicationDDIA: Synchronous versus asynchronous replicationBuilds the single-leader picture and the sync/async axis in one pass
Multi-leader replication: conflicts, topologies, convergenceDDIA: Multi-leader replication topologiesThe clearest all-to-all / ring / star comparison
Leaderless replication: quorums, read-repair, hinted handoffDDIA: Sloppy quorums and hinted handoffSingle place that holds all three mechanisms together
Replication log formatsDDIA: Implementation of replication logsAuthoritative side-by-side of statement / logical / physical
Synchronous vs asynchronous replicationDDIA: Synchronous versus asynchronous replicationThe honest treatment of the durability tradeoff
Replication lag and session guaranteesDDIA: Problems with replication lagNames and explains every anomaly the module uses
Range vs hash partitioningDDIA: Partitioning by hash of keyBest direct comparison; read the range chunk alongside
Secondary indexes: local vs globalDDIA: Partitioning secondary indexes by termCompletes the local/global picture with the harder side
Rebalancing, shard splitting, and hotspotsDDIA: Strategies for rebalancingRebalancing schemes compared without hand-waving
Case studies: PostgreSQL, MongoDB, CassandraDatabase Internals: Chapter 11 Replication and ConsistencyBridges per-system behavior to consistency vocabulary
Managing failover and split-brainDDIA: The truth is defined by the majorityThe majority-is-truth framing that every safe failover relies on