Build fluency in the vocabulary of storing every state-changing event instead of only the current state.
0 / 5 completed
1 / 5
A teammate explains that instead of storing only the current state of an order, the system stores every state-changing event, such as OrderPlaced and OrderShipped, as an immutable append-only sequence, and the current state is derived by replaying those events. What architectural pattern is being described?
Event sourcing is exactly this: rather than persisting only the current state, every state-changing event is appended to an immutable, ordered event log, and the current state of an entity like an order is derived on demand by replaying its events in sequence, which also means the full history of how that state was reached is preserved rather than discarded. A DNS zone transfer is an unrelated concept about replicating name server records. This append-events-then-derive-state approach is exactly why event sourcing provides a complete audit trail that a plain current-state table cannot.
2 / 5
During a design review, the team adopts event sourcing for an order-management system, specifically so a support engineer can reconstruct exactly what happened to a disputed order at any point in its history by replaying its event log. Which capability does this provide?
Event sourcing here provides a complete, replayable audit trail of every state change, since the event log preserves the full sequence of events rather than overwriting a current-state row, letting a support engineer reconstruct the order's exact history at any point in time. A table that only stores an order's current status column discards the history of how that status was reached the moment a new update overwrites it. This preserve-every-event behavior is exactly why event sourcing is favored when a full audit trail is a hard requirement.
3 / 5
In a code review, a dev notices an order-management system overwrites a single current-status column on every state change, discarding the prior status, instead of appending each change as an event to a replayable log as event sourcing would require. What does this represent?
This is a missed event-sourcing opportunity, since appending events would preserve the full history instead of discarding the prior status on every overwrite. A cache eviction policy is an unrelated concept about discarded cache entries. This overwrite-and-discard-history pattern is exactly the kind of lost-audit-trail gap a reviewer flags once historical reconstruction is required.
4 / 5
An incident report shows a support team could not determine why a disputed order ended up in its current status, because the system only stored the current status column and had already overwritten every prior status without keeping a record of the intermediate changes. What practice would prevent this?
Adopting event sourcing ensures every status change is appended as an event to a durable log that can be replayed to reconstruct the order's full history. Continuing to overwrite the single current-status column on every change regardless of how often disputes require reconstructing prior history is exactly what caused the incident described here. This append-every-event approach is the standard fix once historical reconstruction is confirmed to be a requirement.
5 / 5
During a PR review, a teammate asks why the team reaches for event sourcing instead of a plain current-state table with an updated_at timestamp, given that a current-state table is simpler to query directly. What is the reasoning?
Event sourcing trades simple direct queries for a complete, replayable history of every change, while a plain current-state table is simpler to query but discards the intermediate history the moment a new update overwrites the row. This is exactly why event sourcing is favored when a full audit trail or point-in-time reconstruction is required, while a plain current-state table remains acceptable when only the latest state ever matters.