advanced 2 min answer

A platform considers event sourcing for auditability. What is the permanent cost teams underestimate, and what is the cheaper alternative?

event-sourcingauditschema-evolutionalternativessalesforcetrade-off
Show the full answer Hide the answer

The permanent cost teams underestimate

Events are immutable, so every version of every event schema must remain interpretable for the life of the system.

Five years in, the replay code contains handling for event versions written by systems nobody remembers, by people who have left, for business rules that no longer exist. Every new event version adds to the set that must be readable forever, and none can ever be removed while the events exist.

That is a permanent, compounding maintenance obligation, and it is the cost most often absent from the decision.

The second underestimated cost

Current state still has to exist. Event sourcing does not remove the need to answer "what is the balance now" — it moves that cost to read time, paid through projections, snapshots and caches that must each be built, monitored and rebuilt. The total system typically has more moving parts, not fewer.

The cheaper alternative for auditability

CRUD plus an append-only audit table written in the same transaction. It provides:

  • Current state directly queryable, with no projection lag and no rebuild machinery.
  • A complete, immutable change history satisfying every audit requirement anyone has actually stated.
  • Ordinary tooling — every engineer can read it, every backup restores it, every reporting tool queries it.
  • Schema changes as migrations, rather than as versioned event schemas readable forever.

What genuinely justifies event sourcing

History as a product requirement, not as a diagnostic:

  • Temporal queries: what did this look like on a specific date.
  • Retroactive recomputation: a rule changes and past results must be recalculated by replaying against new logic. This is the strongest justification, because the alternative is a bespoke recalculation engine per rule.
  • Multiple independent interpretations of the same facts, where a new consumer must derive its model from all of history.
  • A domain whose practitioners genuinely think in events — trading, logistics, claims.

The middle path

Event sourcing within one bounded context where history genuinely matters — ledger, inventory movements, entitlement changes — and conventional state elsewhere.

The common mistake is adopting it platform-wide on the strength of a requirement that applies to one subsystem, and paying the schema-permanence tax across the entire estate.