Stage 2 of 7 · 10 lessons · ~2 months
Data storage, partitioning and replication
Where data lives and how it is modelled, indexed, split and copied across machines. Most scaling problems end up here, so give this stage the most care.
Start: SQL vs NoSQL and the NoSQL familiesLessons· one lesson for each topic, in this order
- 1SQL vs NoSQL and the NoSQL familiesLesson
- 2Data modelling from access patternsLesson
- 3Indexes and query plansLesson
- 4ACID transactions and the write-ahead logLesson
- 5Isolation levels and concurrency anomaliesLesson
- 6Replication and read replicasLesson
- 7Partitioning and shardingLesson
- 8Choosing shard keys, hot spots and reshardingLesson
- 9Denormalisation for readsLesson
- 10Object storage for large filesLesson
Start with· follow one of these
- CoursePaidGrokking Database Fundamentals for Tech Interviews
Design Gurus · Beginner · Subscription
Storage engines, indexes, transactions, isolation, replication, sharding and NoSQL models
- GitHub repoFreeSystem Design Interview Roadmap by karanpratapsingh
Karan Pratap Singh · Intermediate
Free: the databases, indexes, normalisation, ACID, sharding and replication chapters
Practise
Also worth your time
Before moving on: For a read-heavy app with 10 million users, write a one-page data plan: the schema and indexes for its two main entities, a replication setup, a shard key and its hot-spot risk, what you denormalise, and where images and videos are stored.

Get comfortable with indexes, transactions and isolation levels in one relational database before comparing NoSQL options, because most 'we need NoSQL' decisions are really a missing index. Pick a shard key by asking how the data is read, not how it is written.