Course contents
On this page
Lesson plan 30: Distributed transactions
Distinguish replicated agreement on state from atomic commitment across participants.
Placement: Part 5: Correctness across machines.
Prerequisites: Lesson 29: Partitioning and routing, plus the earlier dependency chain.
Learning outcomes
- Distinguish replicated agreement on state from atomic commitment across participants.
- Trace two-phase commit, participant recovery, and uncertainty after a coordinator failure.
- Explain distributed MVCC timestamps, clock uncertainty, and saga compensation as different mechanisms.
- Separate a general mechanism, a documented implementation choice, and an illustrative numerical assumption.
Teaching sequence
- Establish the motivating situation: A coordinator fails after participants prepare but before they learn the commit decision.
- Introduce the vocabulary and the correctness obligation before an optimization. Define two-phase commit, atomic commit, consensus.
- Develop the mechanism: Trace durable participant and coordinator states; compare atomic transactions with compensation.
- Follow the complete worked example: A transaction contacting three participants in parallel pays the slowest prepare path, not the sum of all three RTTs. Explain the assumptions, intermediate units, and limiting interpretation.
- Extend the scenario to changed load, skew, or failure, explaining distributed MVCC, timestamps, uncertainty, sagas.
- Connect the mechanism to a documented implementation and an alternative with a different workload fit. Close by stating the remaining cost and the next lesson dependency.
Required chapter material
Use a complete execution trace or worked calculation, supported by an annotated static diagram or table. Include language-neutral pseudocode or labeled SQL when it clarifies the mechanism. State preconditions, ownership, visibility, and failure boundaries for algorithms. Describe operational costs as well as the normal path. All questions raised in the narrative must be resolved in the text.
Visual explanation
A multi-participant prepare/decision sequence labels durable recovery state, locks or versions held, and the point where a participant cannot safely decide alone. The accompanying prose explains the arrows, state changes, or table entries so the lesson remains understandable in a plain Markdown reader.
Editorial checks
Confirm that the numerical example agrees with its units and assumptions. Check that a faster path preserves the stated contract, or explicitly identify the changed guarantee. Keep hypothetical figures separate from product measurements. Explain both an appropriate use and a limitation of the case design. Check terminology against the glossary and links against the course index.