πŸ“š Study Notes / Home / HLD
Subject 02 Β· High Level Design 101

High Level Design 101

Designing systems that scale β€” load balancing, caching, replication, NoSQL internals, and real case studies.

πŸ“„ 1-page cheat sheet πŸ“š 16 sessions ⏱ ~9.4 h total reading πŸ“„ Original course notes
SESSION 01

How big websites stay fast for millions of people

⏱ 39 min read Β· πŸ“– 7 topics

Welcome to your very first High-Level Design class.

Read notes β†’
SESSION 02

How big systems spread the work β€” fairly and without chaos

⏱ 45 min read Β· πŸ“– 9 topics

In Session 1 we learned that real systems run on many servers, not one.

Read notes β†’
SESSION 03

Caching: how systems remember answers so they don't redo work

⏱ 34 min read Β· πŸ“– 5 topics

Welcome to your first caching class.

Read notes β†’
SESSION 04

Caching, Part 2: how caches decide what to forget β€” and stay correct

⏱ 43 min read Β· πŸ“– 4 topics

In Session 3 we learned what a cache is and why it makes systems fast.

Read notes β†’
SESSION 05

Putting caching to work on real systems

⏱ 39 min read Β· πŸ“– 6 topics

In Sessions 3 and 4 we built up the theory of caching β€” what to keep, when to throw it away, and how to keep it honest.

Read notes β†’
SESSION 06

From one big app to many small services β€” and a chat app you could ship

⏱ 21 min read Β· πŸ“– 5 topics

So far we've designed pieces of systems.

Read notes β†’
SESSION 07

The Storage Layer β€” CAP, PACELC & Replication

⏱ 39 min read Β· πŸ“– 8 topics

So far our system has been mostly one box doing the thinking.

Read notes β†’
SESSION 08

One writer, many readers β€” and how strict we want to be about it

⏱ 34 min read Β· πŸ“– 6 topics

Last session we met the CAP theorem and the idea that data gets copied across machines.

Read notes β†’
SESSION 09

When to trust a relational database β€” and when to walk away

⏱ 40 min read Β· πŸ“– 6 topics

Up to now we've treated "the database" as one trusty box.

Read notes β†’
SESSION 10

How write-heavy databases store data: LSM Trees

⏱ 35 min read Β· πŸ“– 6 topics

Ever wondered how databases that swallow millions of writes per second β€” Cassandra, RocksDB, the engine behind your favourite chat app β€” actually…

Read notes β†’
SESSION 11

How LSM-tree databases read data fast

⏱ 37 min read Β· πŸ“– 5 topics

Last session we learned how LSM-tree databases write data blazingly fast by only ever appending.

Read notes β†’
SESSION 12

How Google finishes your search before you do

⏱ 34 min read Β· πŸ“– 8 topics

You start typing "how to ti…" and a list pops up β€” "how to tie a tie," "how to tie shoes" β€” before you've finished the word.

Read notes β†’
SESSION 13

Typeahead-2: actually building, storing, and scaling autocomplete

⏱ 27 min read Β· πŸ“– 8 topics

In the previous session we sketched what a search "type-as-you-go" suggestion box should do.

Read notes β†’
SESSION 14

How chat apps and Netflix actually work

⏱ 40 min read Β· πŸ“– 12 topics

Today we stop learning building blocks one at a time and instead build two real systems : a messaging app like WhatsApp, and a video platform like…

Read notes β†’
SESSION 15

Picking the right NoSQL database β€” and using it for chat

⏱ 36 min read Β· πŸ“– 6 topics

"NoSQL" isn't one thing β€” it's a family of four very different database styles, each good at a different job.

Read notes β†’
SESSION 16

Designing IRCTC: the whole course, in one system

⏱ 23 min read Β· πŸ“– 4 topics

This is the grand finale.

Read notes β†’