Ch. 19 · System Design

System Design Replication and Read Freshness

System Design Replication and Read Freshness. Learn the reasoning, a practical example, common mistakes and an interview exercise.

~2 min readintermediateupdated Oct 3, 2026

Replication improves resilience and read capacity but introduces lag and failover decisions. Define which copy is authoritative for each operation.

Before you start

You should understand API requests, storage and basic capacity estimates. Begin with a concrete user action and its correctness requirement. Draw data flow and failure boundaries before selecting infrastructure; a technology name by itself does not explain why a design meets the requirement.

The practical goal is to reason through this situation: A follower can serve catalog reads while account changes need stronger read-after-write behavior. Read the walkthrough first, then try the interview exercise before opening its answer. The important part is explaining the decision and its consequences, rather than remembering a definition alone.

Step-by-step walkthrough

Step 1: Name authoritative operations

Follower reads may lag behind recent writes.

Step 2: Define failover behavior

A replacement needs an understood data state and write authority.

Step 3: Keep backups separate

Live replicas can faithfully copy accidental deletion.

Worked scenario

A follower can serve catalog reads while account changes need stronger read-after-write behavior.

A deletion immediately replicates to every follower. Replication improved availability but did not preserve the deleted historical state. Retained backups or versioned recovery serve that purpose. Likewise, read replicas can improve throughput while still failing an application’s immediate read-after-write expectation unless routing or consistency policy addresses it.

Common mistake

A replica is not necessarily a backup against logical deletion.

Verify the behavior

Test lag, primary failure and restoration from retained recovery data.

Interview exercise

Design recovery protection.

Answer and reasoning

Separate live replication from retained backups and test restoration, including data loss and recovery-time objectives.

Continue learning

Compare the scenario with the System Design interview questions and test your understanding with the System Design MCQs. For terminology and implementation details, consult the reference material.

More in System Design

read ✓System Design · hard

System Design: Bloom Filters

Use a Bloom filter to skip lookups with a tiny memory footprint, and understand its false-positive-only guarantee.

~2 min readread →
read ✓System Design · hard

System Design: Idempotent APIs

Make retried requests safe with idempotency keys, store the result per key, and return the original response on a repeat.

~2 min readread →
esc