SA-301a · Module 1

Events as the Source of Truth

4 min read

Traditional systems store current state. The customer's balance is $4,200. The order is "shipped." The account is "active." This is efficient for reads and catastrophic for understanding. When the balance is wrong, there is no history to interrogate. When the order status jumps from "processing" to "cancelled" and nobody knows why, the system has no memory of the transition. Event sourcing solves this by storing the sequence of events that produced the current state instead of the state itself. The balance is not $4,200 — it is the sum of every deposit and withdrawal since account creation. The order is not "shipped" — it is the latest in a chain of state transitions, each recorded with a timestamp, an actor, and a reason.