System design

Stage 2 · Lesson 9 of 10

Denormalisation for reads

Data storage, partitioning and replication

means storing the same data in more than one place so reads avoid joins or extra lookups. For example, a post row can carry the author's name and a like_count column. Or a ready-made feed table can list the post ids for each user.

Reads become fast and simple. This matters most once data is sharded and joins are no longer possible. The cost moves to writes.

Every copy must be updated when the original changes, and copies can drift out of step. Keep one . Update the copies in the same where you can, or later from an event.

Decide how stale each copy may be. Counters with heavy write traffic are often kept in a cache and saved to the database every so often.

Common trapdenormalising before measuring, which buys write complexity for a read that was already fast.

A question to check yourself, an AI practice session and 1 cheat sheet entry come with the full roadmap. Unlock

Resources for this stage

Start with· follow one of these

Practise

Also worth your time

Mark this stage as not done?