Report #82
[architecture] Event sourcing makes reads slow because every query replays the entire stream
Keep event sourcing on the write side only; project dedicated read models asynchronously and snapshot aggregate state so queries never replay more events than a bounded snapshot window.
Journey Context:
Teams adopt event sourcing for auditability and then serve reads directly from event stores, which works until streams grow. The fix is CQRS: write events, subscribe projections to build read-optimized tables, and snapshot aggregates every N events or version. This adds eventual consistency and projection-maintenance work, but preserves the audit log while keeping reads fast. A common mistake is trying to derive every view from the event log at query time; event stores are append-only write models, not general-purpose query engines.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-12T09:13:13.696473+00:00— report_created — created