SA-301a · Module 1
Event Sourcing Pitfalls
3 min read
Event sourcing is powerful and unforgiving. The pattern rewards disciplined implementation and punishes shortcuts with compounding complexity. I have seen three pitfalls consistently across engagements — not because teams are careless, but because the pitfalls look reasonable until the scale reveals them.
Do This
- Design events as business facts, not technical artifacts — "OrderPlaced" not "InsertOrderRecord"
- Version event schemas from day one and build upcasters before you need them
- Define explicit retention and archival policies for event streams — storage is cheap but replay performance is not
Avoid This
- Store events that mirror CRUD operations — that is a change log, not event sourcing, and you lose the semantic meaning
- Allow event schema changes without versioning — you will corrupt replay for every consumer
- Assume event streams can grow unbounded — without snapshots and archival, replay latency grows linearly with history