Lesson 1Consistency models: strong, causal, eventual, read-your-writes, monotonic readsLooks into how data stays consistent in distributed setups, covering strong, causal, and eventual types, plus read-your-writes and monotonic reads, explaining what they promise, the odd behaviours they allow, and how apps pick ones that fit what users expect.
Strong consistency guaranteesEventual consistency and convergenceCausal consistency and orderingRead-your-writes and monotonic readsChoosing models for applicationsLesson 2Distributed consensus algorithms: Paxos, Raft, and practical implementations (etcd, Consul)Introduces Paxos and Raft ways to agree in distributed systems and their jobs in picking leaders, copying logs, and changing setups, then links the ideas to real tools like etcd and Consul used for keeping track of info, locks, and working together.
Consensus problem and safety goalsPaxos algorithm core ideasRaft algorithm and log replicationCluster membership and reconfigurationUsing etcd and Consul in practiceLesson 3Sharding and partitioning strategies: range, hash, and directory-basedGoes into detail on sharding and splitting data strategies, like range, hash, and directory methods, focusing on spreading data, avoiding busy spots, rebalancing, and directing traffic, and how to pick and change a plan as work and data grow.
Range-based partitioning designHash-based sharding and hashingDirectory and lookup-based routingRebalancing and resharding methodsAvoiding hotspots and skewed keysLesson 4Replication models: leader-follower, multi-leader, and leaderless patternsCovers leader-follower, multi-leader, and no-leader copying methods, explaining how writes and reads work, handling failures, delays, and fixing clashes, and how each affects speed, amount handled, lasting data, and running in worldwide setups.
Leader-follower replication flowsMulti-leader replication and conflictsLeaderless quorum-based replicationReplication lag and read consistencyOperational trade-offs of each modelLesson 5CAP theorem and trade-offs between consistency, availability, and partition toleranceLooks at the CAP theorem and what it means for spread-out databases, making clear how keeping data matching, staying available, and handling splits work together, and how real systems handle the choices with practical designs and service targets.
Formal statement of the CAP theoremConsistency vs availability in practicePartition tolerance in real networksDesigning around CAP with SLAsLesson 6Network partitions, latency, and failure modes across WAN linksChecks how network splits, delays, and breakdowns show up over wide area links, covering time limits, partial breakdowns, and split-brain issues, and how to build spotting, retrying, and fallback plans that keep systems steady under pressure.
Characteristics of WAN linksDetecting partitions and timeoutsHandling partial and asymmetric failuresSplit-brain risks and mitigationGraceful degradation strategiesLesson 7Idempotency, retries, and at-least-once vs exactly-once semanticsExplains doing the same thing multiple times safely and its part in safe retries, sorting at-least-once, at-most-once, and exactly-once meanings, and showing ways for removing duplicates, tracking requests, and handling messages in shaky spread-out setups.
Defining idempotent operationsDesigning safe retry mechanismsAt-least-once vs at-most-onceExactly-once semantics limitationsDeduplication and request trackingLesson 8Concurrency control: optimistic vs pessimistic, MVCC, conflict resolution techniquesLooks at handling multiple actions at once in spread-out databases, comparing hopeful and careful ways, explaining MVCC inside, and showing clash spotting and fixing methods that keep things right while allowing lots of actions together.
Pessimistic locking in distributed systemsOptimistic control and validationMVCC snapshots and version chainsConflict detection and resolutionDeadlocks, timeouts, and retriesLesson 9Physical topology patterns: single region, active-passive, active-active, and hybridDescribes setup layouts for spread-out databases, like one area, active-passive, active-active, and mixed types, and checks their effects on speed, switchover, data matching, and running difficulty.
Single-region deployment trade-offsActive-passive failover patternsActive-active multi-region setupsHybrid and tiered topology designsLatency, RPO, and RTO considerations