Event Sourcing: When
Pattern with trade-offs.
Overview
Event sourcing stores state changes as an append-only event log rather than as mutable rows. The pattern is powerful for audit-heavy domains (finance, compliance, multi-tenant) where the history is the product, and overkill for typical CRUD workloads where the current state is what matters. The discipline is in choosing event sourcing only where the audit, replay, and time-travel capabilities pay for the operational complexity.
- Pattern with tradeoffs. Audit-friendly, time-travel-friendly, replay-friendly; but operationally more complex than CRUD.
- Append-only log. Events as the source of truth; the current state is derived from the log, not stored separately.
- Projections. Read-optimized models built from the event log; one log, many projections per query pattern.
- Snapshot for performance plus schema evolution. Periodic state snapshots avoid full replay at every read; schema evolution must handle old events with new code.
The approach
The practical approach is to reserve event sourcing for genuinely audit-heavy domains (finance, compliance, multi-tenant), build projections per query pattern rather than over-loading a single read model, snapshot periodically so reads do not replay the full event log, plan schema evolution so old events stay readable as code changes, and document the per-aggregate rationale committed to the architecture repo so the choice is reviewable.
- Reserve for audit-heavy. Financial, compliance, multi-tenant audit; the audit value justifies the operational complexity.
- Projections for query. Read-optimized models per query pattern; one log, many projections.
- Snapshot for performance. Periodic state snapshots; reads start from the snapshot, not from event one.
- Schema evolution plus documented choice. Plan for old events with new code; per-aggregate rationale committed for decision review.
Why this compounds
Event-sourcing discipline compounds where it matches the workload. Each correctly-sourced aggregate produces audit and time-travel capabilities the team uses repeatedly; each over-applied aggregate becomes operational debt the team carries forever. The discipline is in the matching, not in the pattern itself.
- Audit capability. Append-only log produces forensic data; the audit answer is in the log, not in tribal memory.
- Operational fit. Reserved for audit-heavy domains avoids unnecessary complexity in CRUD workloads.
- Time-travel. Replay events to any point; supports investigation, debugging, and what-if analysis.
- Institutional knowledge. Each event-sourced aggregate teaches patterns the team can reuse on the next audit-heavy domain.
Event-sourcing discipline is an architectural discipline that pays off when applied correctly. Nova AI Ops integrates with database telemetry, surfaces event patterns, and supports the team’s distributed-systems discipline.