System Design Nuggets

System Design Nuggets

Read-Heavy vs Write-Heavy Systems: The Framework FAANG Interviewers Use

Understand why read-heavy systems need caching and replicas while write-heavy systems need sharding and queues. A complete beginner’s guide to system design tradeoffs.

Arslan Ahmad's avatar
Arslan Ahmad
Mar 24, 2026
∙ Paid

What This Blog Will Cover:

  • Read-heavy and write-heavy system differences

  • How to identify system workload types

  • Database and caching design tradeoffs

  • Scaling strategies for each system type

  • Framework for system design interviews


Most system design interviews start with a deceptively simple question.

The interviewer describes a system. They ask you to design it.

And the very first decision you need to make, before you even touch a database or draw a single box on the whiteboard, is this:

Is this system read-heavy or write-heavy?

Get this wrong, and every decision that follows will be wrong too.

Your database choice, your caching strategy, your replication model, your indexing approach. All of it falls apart if you misidentify the workload.

Here is the thing that nobody tells you early enough.

The difference between a candidate who gets a “strong hire” and one who gets a “no hire” often comes down to this one judgment call.

Not because the concept is hard. But because most candidates skip right past it and jump into drawing boxes on a whiteboard without thinking about the nature of the traffic first.

So let’s fix that today.

Subscribe to my newsletter to unlock more informational guides and deep-dives on system design in the future.


What Are Read-Heavy and Write-Heavy Systems?

Let’s start with the basics and build up from there.

A read-heavy system is one where the vast majority of operations are about fetching or retrieving data.

Users are mostly looking at things, searching for things, or loading pages.

The system spends most of its time answering the question: “Give me this data.”

A write-heavy system is the opposite.

Most operations involve creating, updating, or deleting data.

The system spends most of its time answering the question: “Store this data for me.”

Now, almost every system does both reads and writes. That is obvious.

But the ratio between the two is what determines how you should architect the entire thing.

A system where 95% of requests are reads and 5% are writes needs a fundamentally different design than a system where 70% of requests are writes.

How to Identify the Workload Type

This is the part that trips people up in interviews.

How do you actually figure out if a system is read-heavy or write-heavy?

You ask yourself a simple question: What are users doing most of the time?

If users are mostly consuming content, browsing, searching, or viewing data, you are looking at a read-heavy system.

If users are mostly generating content, logging events, submitting data, or triggering updates, you are looking at a write-heavy system.

That single question will guide you correctly about 90% of the time.


Designing for Read-Heavy Systems

When reads dominate your system, your primary enemy is latency.

Users are requesting data constantly, and they expect it fast.

If every single read request hits your database directly, the database will eventually buckle under the load.

So here is how you fight back.

Keep reading with a 7-day free trial

Subscribe to System Design Nuggets to keep reading this post and get 7 days of free access to the full post archives.

Already a paid subscriber? Sign in
© 2026 Arslan Ahmad · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture