Most systems store state and lose history. A customer’s credit-risk profile is updated nightly; tomorrow’s update overwrites tonight’s. By the time a regulator asks “what did you know on the 14th of March, and when did you know it”, the answer is buried in backups — if it exists at all. The cost of state-only storage is opacity: you have the current view, but you cannot reconstruct why a decision was made, when the inputs changed, or what alternative state existed seconds before the choice was committed.
Event sourcing inverts the storage default. Instead of persisting the current state, the system records the immutable sequence of events that produced that state — a TransactionOccurred here, a CreditApplicationSubmitted there, an AlertTriggered elsewhere — and derives the current state by replay. The cost is upfront architectural discipline. The payoff is a system that can answer the regulator’s question in seconds and run real-time decisioning on the same substrate.
The architectural disciplines that make event sourcing pay off
Event sourcing fails when teams treat it as a database choice rather than an architectural commitment. The patterns below are what we hold to in client implementations where regulatory auditability and sub-second decisioning have to coexist.
Immutable events are the system of record; everything else is a derived view.
Stream processing is a data layer, not an integration layer.
Time-travel queries are built in, not bolted on.
The harder discipline underneath these three is event design. Events that mirror database CRUD operations (CustomerUpdated, RecordChanged) carry no business meaning and degrade into the same opacity as state storage. Events that mirror business intent (TransactionOccurred, CreditApprovalGranted, KYCRefreshCompleted) preserve the why alongside the what, and that is what makes the log valuable years after the writing engineer has left.
Three architectural components
Immutable event logs
TransactionOccurred, CreditApplicationSubmitted), creating a permanent, auditable record of every action.Deliverable A single source of truth that can't be quietly mutated.
Scalable stream processing
Deliverable Sub-second decisioning on live event streams.
Time-travel queries
Deliverable 30-second answers to "what did you know, and when".
Event sourcing is expensive in upfront discipline and read-side complexity. For reporting systems where state is sufficient and audit needs are met by change-data-capture on a relational store, the cost is not justified. For decision systems where regulatory reconstruction or real-time feature engineering is on the path, the cost is paid back many times over. The Data Foundations pillar we run with clients includes the architectural-decision diagnostic that determines whether event sourcing is the right substrate.
