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.

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.

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.

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.