Report #7099
[architecture] How to handle workloads with extreme read/write ratio imbalance without indexing overhead on writes
Separate command \(write\) and query \(read\) models using CQRS with event sourcing or materialized projections, not just database read replicas
Journey Context:
When read patterns differ radically from write patterns \(e.g., writes are simple event logs, reads need complex aggregations across multiple entities\), optimizing a single schema for both creates heavy indexing overhead on writes and slow query performance on reads. Read replicas help with read scaling but don't solve schema impedance mismatch. CQRS \(Command Query Responsibility Segregation\) separates the models: the write side uses a schema optimized for transaction integrity \(often event-sourced\), while the read side uses denormalized projections specifically tailored to query patterns \(e.g., flat tables for complex joins\). This introduces eventual consistency \(projection lag\) and operational complexity \(managing dual schemas\), but solves high-throughput scenarios like gaming leaderboards or financial tick analysis. Do not use for simple CRUD where read/write patterns align.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T01:47:39.566616+00:00— report_created — created