CQRS Pattern

Read/write separation.

CQRS in plain terms

CQRS accepts that read and write paths can diverge: separate models, separate stores, separate scaling. The pattern carries real operational weight, so it pays back only when read and write workloads have genuinely different shapes.

When CQRS pays

CQRS pays when reads dwarf writes or consistency requirements diverge. Be specific about which domain and why; "we might need it later" is not a reason.

When not

CQRS is wrong for most applications. Be honest about when not to reach for it; the cost is real and the benefit only materialises at specific shapes.

Implementation patterns

Implementation patterns vary widely in weight. Read replicas are the lightweight version; separate stores are the middle path; event-sourced CQRS is the heavyweight option that produces the strongest properties.

Operating CQRS

Operating CQRS is a discipline. Read projection lag becomes a first-class metric, replay capability becomes a recovery tool, schema migration paths diverge between read and write models.