0% found this document useful (0 votes)
5 views1 page

Tentative HLD - Sheet1

The document outlines a series of lectures focused on system design concepts, including scaling, caching, CAP theorem, SQL vs NoSQL, and various case studies such as designing Uber and Hotstar. It emphasizes the importance of load balancing, sharding, and the architecture of messaging systems like Kafka and Zookeeper. Additionally, it covers practical applications and challenges in system design, such as handling high concurrency and ensuring data consistency.

Uploaded by

amit1701
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views1 page

Tentative HLD - Sheet1

The document outlines a series of lectures focused on system design concepts, including scaling, caching, CAP theorem, SQL vs NoSQL, and various case studies such as designing Uber and Hotstar. It emphasizes the importance of load balancing, sharding, and the architecture of messaging systems like Kafka and Zookeeper. Additionally, it covers practical applications and challenges in system design, such as handling high concurrency and ensuring data consistency.

Uploaded by

amit1701
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Lecture Title Lecture Notes Post Lecture Reading Description - Topics covered

Via the story of del.icio.us, introduce how a product which starts with one machine eventually would have to
move to multiple machines (horizontal vs vertical scaling). Introduce the process of domain registration, DNS
lookup / DNS servers.
As you move to multiple machines, talk about the need of a load balancer. Take a segway to talk about load
balancing when machines are stateless. Then, come back to what's the best way to shard data and route
System Design 101 & Consistent Hashing System Design 101 & Consistent Hashing Load Balancer when machines store stuff and are hence stateful. Introduce consistent hashing.
Continue the story of del.icio.us. Talk about how keeping data and business logic at the same place is a bad
idea. Introduce separate application server and storage layer.
Also introduce caching. Key, value pair cache. But where all can caching be done - In Browser vs CDN vs
local cache vs global cache.
System Design - Caching System Design - Caching 1 Take Scaler test data caching as a use case to talk about local cache and how to invalidate.
Introduce global cache - modified/derived data. Example of FB news feed caching (Case study 1)
Eviction algorithms - 2-3 examples in the form of a quiz.
System Design - Caching contd. System Design - Caching Contd..docx Scaling with Redis - Eviction policies and cluster mode
CDN deepdive. Multimedia caching. In browser caching deepdive. TTL.
CAP theorem explained. PACELC also explained. Introduce replication. Master Slave. Talk about various
System Design - CAP Theorem & Master Slave System Design - CAP Theorem, PACELC Theorem &Master
Master-Slave
Slave: MySQL cases with CAP in mind.
ACID transactions. How index works. Explain how sharding is manual and difficult with SQL databases.
Step 1 of sharding: Choosing a sharding key. Principles/constraints of choosing a sharding key.
3-4 examples as quizzes around sharing key. Deep dive and explain the choices.
Step 2 of sharding: Denormalize schema. Again, take 2-3 quiz examples.
System Design - SQL vs NoSQL System Design - SQL vs NoSQL Step 3: Introduction to NoSQL fundamental with constraints.
Introduction to Cassandra / DynamoDB architecture. Tunable consistency.
Few quizzes on R+W cases.
System Design - NoSQL contd. NoSQL Contd. Disaster Recovery with Cassandra.
Google search typeahead case study. Process of a case study.
System Design - Case study 2 (Typeahead) System Design - Case study 2 (Typeahead) Sampling. Time Decay.
System Design - NoSQL Internals System Design - No SQL Internals Discuss storage when schema is not defined. Immutable data types. Sorted sets. LSM Trees. Compaction process
Design FB Messenger. Sharding key choices of 1:1 vs group.
High consistency. Write through local cache. Locking mechanism to avoid data corruption.
System Design - Case study 3 (Messaging) System Design - Case study 3 (Messaging) Discuss notification service architecture.
System Design - Zookeeper + Kafka System Design: Zookeeper + Kafka: Kafka Discuss architecture of Zookeeper and Messaging queues like Kafka and RabbitMQ
1. https://www.youtube.com/watch?v=n9mE5MXGkaA&ab_channel=Sematext
2. https://www.youtube.com/watch?v=ajNfOPeWiAY&ab_channel=GeorgeBridgeman
Does SQL work for text search? How do you search for resumes using text inside? Would a NoSQL work.
System Design - Case Study 4 (Elastic Search) HLD Case Study 4 Elastic Search Introduce Apache Lucene, stemming, putting it on distributed system (ES)
Design architecture of large file storage systems like S3.
System Design - S3 + Quad trees (nearest Post that, quick overview of the trickiest part of all location based apps. How to find nearest k neighbors.
neighbors) System Design - S3 + Quad trees (nearest neighbors) .docx Introduce quad trees
System Design - Case Study 5 (Design Uber) System Design - Case Study 5 (Design Uber).docx Cabs move. How do you design nearest neighbor for moving targets.
System Design - Popular interview questions System Design - Popular interview questions 1. Rate Limiter, 2. Unique ID generator, 3. Design Notification systems
System Design - Case Study 6 (Design Hotstar) FAQ - Case Study - System Design of Hotstar .pdf Hotstar - Thumbnail, different resolutions, broadcasting live video feed to millions of users at the same time
Microservices vs Monolith. 2 case study examples.
System Design - Microservices System Design - Microservices 1 System Design - Microservices 2 ECommerce Case study as an example.
How do you avoid double booking tickets in a high concurrency setup. How do you scale. How do you allow
System Design - Case study 7 (Design IRCTC) Case study 7 (Design IRCTC) multi-booking of a seat across various source and destination

You might also like