1 Course Introduction Course Roadmap Join the Community 2 Introduction to System Design What is System Design? Beginner High Beginner 30 Must-Know Concepts Beginner High Beginner 3 Scalability Beginner High Beginner Availability Beginner High Beginner Reliability Beginner High Beginner Single Point of Failure (SPOF) Beginner High Beginner Latency vs Throughput vs Bandwidth Beginner High Beginner Consistent Hashing Intermediate High Intermediate CAP Theorem Intermediate High Intermediate Consistency Models Intermediate High Intermediate 4 OSI Model Beginner Medium Beginner IP Address Beginner Medium Beginner TCP vs UDP Beginner High Beginner HTTP/HTTPS Beginner High Beginner Domain Name System (DNS) Beginner High Beginner Checksums Beginner Low Beginner Proxy vs Reverse Proxy Intermediate High Intermediate 5 What are Load Balancers? Beginner High Beginner Load Balancing Algorithms Intermediate High Intermediate DNS Load Balancing Intermediate Medium Intermediate Anycast Routing Advanced Low Advanced 6 API Design What is an API? Beginner High Beginner Idempotency Intermediate High Intermediate Data Formats Beginner Medium Beginner API Architectural Styles Intermediate Medium Intermediate REST API Design Intermediate High Intermediate GraphQL Deep Dive Intermediate Medium Intermediate gRPC Deep Dive Intermediate Medium Intermediate API Infrastructure API Gateways Intermediate High Intermediate Rate Limiting Intermediate High Intermediate API Security Authentication vs Authorization Beginner High Beginner Session vs Token Based Auth Intermediate High Intermediate JWT Intermediate High Intermediate OAuth / OAuth2 Intermediate Medium Intermediate Single Sign-On (SSO) Intermediate Medium Intermediate 7 Real-Time Communication Long Polling Intermediate Medium Intermediate WebSockets Intermediate High Intermediate Server-Sent Events (SSE) Intermediate Medium Intermediate Webhooks Intermediate High Intermediate WebRTC Advanced Low Advanced Asynchronous Communication Sync vs Async Communication Beginner High Beginner Message Queues Intermediate High Intermediate Pub/Sub Intermediate High Intermediate Change Data Capture (CDC) Advanced Medium Advanced Delivery Semantics Advanced High Advanced Dead Letter Queues Intermediate Medium Intermediate 8 Caching Fundamentals What is Caching? Beginner High Beginner Cache-Aside Pattern Intermediate High Intermediate Read-Through vs Write-Through Intermediate High Intermediate Write-Behind Cache Intermediate Medium Intermediate Caching Strategies Summary Intermediate High Intermediate Cache Eviction Policies Intermediate High Intermediate Distributed Caching Content Delivery Network (CDN) Beginner High Beginner Distributed Cache Architecture Intermediate High Intermediate Cache Invalidation Advanced High Advanced Cache Stampede Advanced Medium Advanced Cache Warming Advanced Low Advanced 9 Database Fundamentals Database Types Beginner High Beginner SQL vs NoSQL Beginner High Beginner ACID Transactions Intermediate High Intermediate Database Types - Deep Dive Relational Databases Beginner High Beginner Document Databases Beginner Medium Beginner Key-Value Stores Beginner High Beginner Wide Column Databases Intermediate Medium Intermediate Graph Databases Intermediate Low Intermediate Time Series Databases Intermediate Medium Intermediate Full-Text Search Engines Intermediate Medium Intermediate Vector Databases Advanced Medium Advanced Database Internals B-Trees and B+ Trees Advanced Medium Advanced LSM Trees Advanced Medium Advanced How Databases Guarantee Durability Advanced Medium Advanced 10 Database Scaling Techniques Database Scaling - Reads Indexing Beginner High Beginner Vertical Partitioning Beginner Medium Beginner Query Optimization Intermediate Medium Intermediate Read Replicas Intermediate High Intermediate Denormalization Intermediate Medium Intermediate Materialized Views Intermediate Medium Intermediate Connection Pooling Intermediate Medium Intermediate Database Scaling - Writes Sharding Intermediate High Intermediate Sharding vs Partitioning Intermediate Medium Intermediate Data Compression Intermediate Low Intermediate 11 Block vs File vs Object Storage Intermediate Medium Intermediate Object Storage Intermediate Medium Intermediate Distributed File Systems Advanced Low Advanced Erasure Coding Advanced Low Advanced 12 Vertical vs Horizontal Scaling Beginner High Beginner Concurrency vs Parallelism Beginner Medium Beginner Push vs Pull Architecture Beginner High Beginner Stateful vs Stateless Architecture Intermediate High Intermediate Long Polling vs WebSockets Intermediate Medium Intermediate Strong vs Eventual Consistency Intermediate High Intermediate 13 Distributed System Fundamentals Challenges of Distribution Intermediate High Intermediate Network Partitions Intermediate Medium Intermediate Split Brain Problem Intermediate Medium Intermediate Heartbeats Intermediate Medium Intermediate Handling Failures in Distributed Systems Advanced High Advanced Time & Ordering Clock Synchronization Problem Advanced Medium Advanced Logical Clocks Advanced Low Advanced Lamport Timestamps Advanced Low Advanced Vector Clocks Advanced Low Advanced Coordination & Consensus Consensus Algorithms Advanced High Advanced Paxos Algorithm Advanced Low Advanced Raft Algorithm Advanced Medium Advanced Leader Election Advanced High Advanced Distributed Locks Advanced Medium Advanced Gossip Protocol Advanced Low Advanced CRDTs Advanced Medium Advanced Operational Transformation Advanced Medium Advanced 14 The Problem with Distributed Transactions Advanced Medium Advanced Two-Phase Commit (2PC) Advanced Medium Advanced Three-Phase Commit (3PC) Advanced Low Advanced SAGA Pattern Advanced High Advanced Outbox Pattern Advanced Medium Advanced 15 Data Structures for Scale Introduction Intermediate High Intermediate Geohash Intermediate High Intermediate Quad Trees Advanced Medium Advanced R-Trees Advanced Medium Advanced S2 and H3 Advanced Medium Advanced Bloom Filters Intermediate High Intermediate Cuckoo Filter Advanced Low Advanced HyperLogLog Advanced Low Advanced Count-Min Sketch Advanced Low Advanced MinHash Advanced Low Advanced Skip Lists Advanced Medium Advanced Merkle Trees Advanced Medium Advanced 16 Client-Server Architecture Beginner High Beginner Monolithic Architecture Beginner Medium Beginner Microservices Architecture Intermediate High Intermediate Serverless Architecture Intermediate Medium Intermediate Event-Driven Architecture Intermediate High Intermediate Peer-to-Peer (P2P) Advanced Low Advanced Hexagonal Architecture Advanced Low Advanced CQRS Advanced Medium Advanced Event Sourcing Advanced Medium Advanced 17 Service Discovery Intermediate High Intermediate API Gateway Pattern Intermediate High Intermediate Backend for Frontend (BFF) Intermediate Medium Intermediate Sidecar Pattern Intermediate Low Intermediate Circuit Breaker Pattern Intermediate High Intermediate Bulkhead Pattern Intermediate Low Intermediate Strangler Fig Pattern Intermediate Low Intermediate Service Mesh Advanced Low Advanced 18 Batch vs Stream Processing Intermediate High Intermediate MapReduce Intermediate Low Intermediate ETL Pipelines Intermediate Medium Intermediate Data Lakes Intermediate Medium Intermediate Data Warehousing Intermediate Medium Intermediate Data Lakehouse Advanced Low Advanced Lambda Architecture Advanced Medium Advanced Kappa Architecture Advanced Low Advanced Streaming Engines Advanced Medium Advanced 19 Deployment Strategies Deployment Strategies Overview Beginner Beginner CI/CD Pipelines Intermediate Intermediate Rolling Deployments Intermediate Intermediate Blue-Green Deployments Intermediate Intermediate Canary Releases Intermediate Intermediate Release Patterns Feature Flags Intermediate Intermediate A/B Testing Infrastructure Intermediate Intermediate Schema Migrations Advanced Advanced Rollbacks & Immutable Infrastructure Advanced Advanced 20 Three Pillars of Observability Beginner High Beginner Logging Best Practices Beginner High Beginner Log Aggregation Intermediate Medium Intermediate Correlation IDs Intermediate Medium Intermediate Metrics & Instrumentation Intermediate Medium Intermediate Alert & Monitoring Intermediate Medium Intermediate Dashboards & Runbooks Intermediate Low Intermediate Distributed Tracing Advanced High Advanced 21 SSL/TLS Intermediate High Intermediate Encryption at Rest Intermediate Medium Intermediate Secrets Management Intermediate Medium Intermediate Password Management Intermediate Medium Intermediate RBAC Intermediate Medium Intermediate SAML Advanced Low Advanced