Problem
Single model serves both writes (consistency, validation) and reads (joins, projections, denormalization) — compromises both.
Also known as: command-query-separation, cqrs-pattern
Separate read and write models to optimize each for its specific concerns: writes for consistency, reads for query performance.
Single model serves both writes (consistency, validation) and reads (joins, projections, denormalization) — compromises both.
Medium — separate read/write stores, projection workers
High — monitor lag, handle projection failures
Medium — model separation, consistency boundaries
Projection lag → stale reads (user sees old data)
Projection failure → read model corrupt, needs rebuild
Write model invariants not enforced in read model
Dual-write inconsistency if not using event sourcing