High Level Design 101
Designing systems that scale β load balancing, caching, replication, NoSQL internals, and real case studies.
How big websites stay fast for millions of people
β± 39 min read Β· π 7 topics
Welcome to your very first High-Level Design class.
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.
Caching: how systems remember answers so they don't redo work
β± 34 min read Β· π 5 topics
Welcome to your first caching class.
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.
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.
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.
The Storage Layer β CAP, PACELC & Replication
β± 39 min read Β· π 8 topics
So far our system has been mostly one box doing the thinking.
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.
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.
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β¦
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.
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.
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.
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β¦
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.
Designing IRCTC: the whole course, in one system
β± 23 min read Β· π 4 topics
This is the grand finale.