← BACK TO DRAWING SET
SPECIFICATION · CONCEPT BRIEFDWG · 08-READ-WRITE-SPLIT

Read + Write Split

Reads and writes have different shapes — give them different paths.

§01Asymmetric workloads

Most real systems are read-heavy: 90%+ of traffic is reads, the rest writes. Reads benefit from caching (repeat the same answer) and replication (serve from any copy). Writes benefit from queueing (smooth bursts, decouple from durability latency).

§02The composite pattern

Put a load balancer in front of multiple servers. Each server checks a cache for reads, falling through to the database on miss. Each server enqueues writes into a queue, which a consumer drains into the database. Two patterns, one diagram.

  • Read path: client → LB → server → cache → (DB on miss) → server → client.
  • Write path: client → LB → server → queue (ack here) → DB.
  • The queue and the cache use the same DB but never block each other.

§03Why composition matters

APPROVED
The big idea
Real architectures are not one pattern, they're a stack of small ones — each chosen because it removes a specific bottleneck. Recognising which lever to pull on which path is most of system design.
⚑ CHEATSHEET · QUICK REFERENCE
  • Cache the read path. Queue the write path. Scale both behind an LB.
  • Identify the dominant traffic shape before reaching for a tool.
▸ THE EXERCISE

Real systems mix reads and writes. Load-balance multiple servers, put a cache on the hot read path, and a queue in front of the database to absorb write bursts. Two patterns, one diagram.

▸ START EXERCISEBACK TO DRAWING SET