When Machines Fail

The moment your program runs on more than one machine, three things you took for granted about a single computer stop being true. This lesson shows each one breaking.
Before you start. The previous lesson, Partitioning, cut one dataset into pieces and gave each machine only its piece. Earlier, Transactions gave you one machine’s promise: a transaction finishes whole or leaves no trace, because the one machine running it is always there to keep it. This lesson asks what happens to that promise once the one machine becomes two, like the leader and follower from Replication, talking over a wire that can be cut, delayed, or go quiet.