Archive
260 pages · 34 free · 226 Pro
Read the curated free lessons in full. Pro unlocks every remaining archive page, case study, and implementation.
Start5
SD Orientation3
01 One request, end to end6Video lessons
Written lesson
What happens when you open a URL
Written lesson
Clients and servers
Written lesson
What an API is
skillmaxing
System designLesson 04TCP vs UDPTCP vs UDP
skillmaxing
System designLesson 05How a server handles many requestsHow a server handles many requests
Written lesson
The numbers every engineer should know
02 Where data lives7Video lessons
Written lesson
What a database is
Written lesson
SQL for system design
Written lesson
The request path through a database
skillmaxing
System designLesson 04Repository patternRepository pattern
skillmaxing
System designLesson 05Extensible data modelingExtensible data modeling
Written lesson
Soft delete
a key-value store on SQL
03 Thinking like a designer9Video lessons
skillmaxing
System designLesson 01Requirements clarificationRequirements clarification
skillmaxing
System designLesson 02Non-functional requirementsNon-functional requirements
skillmaxing
System designLesson 03Availability, durability, consistency, costAvailability, durability, consistency, cost
skillmaxing
System designLesson 04Logical system designLogical system design
skillmaxing
System designLesson 05System design tradeoffsSystem design tradeoffs
skillmaxing
System designLesson 06Back-of-the-envelope capacity planningBack-of-the-envelope capacity planning
skillmaxing
System designLesson 07Cost-aware architectureCost-aware architecture
skillmaxing
System designLesson 08When not to add infrastructureWhen not to add infrastructure
a URL shortener, one machine
04 Scaling the stateless tier9Video lessons
skillmaxing
System designLesson 01Horizontal vs vertical scalingHorizontal vs vertical scaling
skillmaxing
System designLesson 02Load balancersLoad balancers
skillmaxing
System designLesson 03API gateway vs load balancerAPI gateway vs load balancer
skillmaxing
System designLesson 04Monolith vs microservicesMonolith vs microservices
skillmaxing
System designLesson 05Service-to-service communicationService-to-service communication
skillmaxing
System designLesson 06HTTP, REST, and gRPCHTTP, REST, and gRPC
skillmaxing
System designLesson 07API design contractsAPI design contracts
skillmaxing
System designLesson 08Event contractsEvent contracts
Instagram's first architecture
05 Staying correct under failure10Video lessons
skillmaxing
System designLesson 01Retries, timeouts, and idempotencyRetries, timeouts, and idempotency
Written lesson
Circuit breakers and timeouts
skillmaxing
System designLesson 03BackpressureBackpressure
skillmaxing
System designLesson 04Load sheddingLoad shedding
skillmaxing
System designLesson 05Tail latencyTail latency
skillmaxing
System designLesson 06BatchingBatching
Written lesson
Rate limiter placement and keys
Written lesson
Sliding window rate limiter
Stripe's idempotency keys
rate limiting and abuse prevention
06 Caching and fast reads8Video lessons
skillmaxing
System designLesson 01Caching layersCaching layers
skillmaxing
System designLesson 02Cache eviction policiesCache eviction policies
skillmaxing
System designLesson 03TTL expiration and cache reapersTTL expiration and cache reapers
skillmaxing
System designLesson 04Cache concurrency controlCache concurrency control
skillmaxing
System designLesson 05Cache availability and database fallbackCache availability and database fallback
skillmaxing
System designLesson 06Distributed cache designDistributed cache design
Written lesson
CDNs
a URL shortener at scale
07 Relational databases, properly12Video lessons
skillmaxing
System designLesson 01Relational database designRelational database design
Written lesson
Database indexing
skillmaxing
System designLesson 03B-treeB-tree
Written lesson
Query planning
Written lesson
Database locking and isolation
skillmaxing
System designLesson 06MVCCMVCC
Written lesson
Database WAL and recovery
Written lesson
Keyset pagination
Written lesson
Relational database scaling
Written lesson
Online indexing
Written lesson
Schema evolution
a product listing
08 NoSQL and partitioning10Video lessons
skillmaxing
System designLesson 01NoSQL decision boundariesNoSQL decision boundaries
skillmaxing
System designLesson 02Document vs key-value storesDocument vs key-value stores
skillmaxing
System designLesson 03Columnar vs wide-column storesColumnar vs wide-column stores
skillmaxing
System designLesson 04Graph database decision boundaryGraph database decision boundary
skillmaxing
System designLesson 05Sharding and partitioningSharding and partitioning
skillmaxing
System designLesson 06Consistent hashingConsistent hashing
skillmaxing
System designLesson 07Consistent-hashing load balancingConsistent-hashing load balancing
skillmaxing
System designLesson 08Hot partitionsHot partitions
Written lesson
Hot and cold storage, archival
how Discord stores trillions of messages
09 IDs, clocks, and ordering5Video lessons
skillmaxing
System designLesson 01Distributed ID generationDistributed ID generation
skillmaxing
System designLesson 02UUID, ObjectId, and SnowflakeUUID, ObjectId, and Snowflake
skillmaxing
System designLesson 03Snowflake ID designSnowflake ID design
Written lesson
Database ticket servers
Written lesson
Clock skew and ID ordering
10 Replication and consistency6
11 Coordination8
12 Storage engines from scratch12
Written lesson
Storage engine design constraints
Written lesson
Storage engine tradeoffs
Written lesson
A file-backed dictionary
Written lesson
Custom binary file format
Written lesson
Immutable versioned data files
Written lesson
Log-structured storage
Written lesson
Bitcask storage engine
Written lesson
LSM-tree storage engine
Written lesson
Memtable, WAL, and SSTable
Written lesson
LSM read path: Bloom filters and sparse index
Written lesson
Compaction and amplification
Written lesson
End-to-end checksums
13 Object storage9
Written lesson
Object storage vs database
Written lesson
S3 object storage architecture
Written lesson
Byte-range indexed object storage
Written lesson
Range partitioning vs consistent hashing for storage
Written lesson
Partition manager and map table
Written lesson
Metadata database for object storage
Written lesson
Append-only stream layer
Written lesson
Durability and replication
an object store (S3)
14 Queues and events8
15 Workflows, schedulers, and contention6
16 Search engine internals9
Written lesson
Information retrieval system design
Written lesson
Inverted index and posting lists
Written lesson
Boolean and tiered search
Written lesson
TF-IDF relevance scoring
Written lesson
BM25 production ranking
Written lesson
Stop words and champion lists
Written lesson
Query understanding pipeline
Written lesson
Search feedback and relevance signals
Written lesson
Search evaluation metrics
17 Search at scale and search features9
18 Probabilistic data structures8
Written lesson
Bloom filters
Written lesson
Seen filtering: Bloom vs exact sets
Written lesson
HyperLogLog cardinality estimation
Written lesson
Count-min sketch
Written lesson
Top-k heavy hitters
Written lesson
Reservoir sampling
Written lesson
t-digest quantile sketch
Written lesson
Mergeable sketches for analytics
19 Counting and analytics pipelines7
20 Recommendations2
21 Realtime delivery4
22 Social products8
23 Geo and matching8
24 Media, files, and CDN9
Written lesson
Direct-to-object-storage upload
Written lesson
Image CDN and resizing
Written lesson
An avatar service
Written lesson
Video upload: signed URLs and multipart
Written lesson
Video transcoding pipeline
Written lesson
Adaptive bitrate and the CDN decider
Written lesson
Signed URLs, DRM, and video security
Written lesson
Live streaming, WebRTC, and latency
a video platform
25 File sync4
26 Observability and incidents4
27 Changing a live system4
28 Data protection and tenancy6
29 The system design interview5
30 Capstone2
Reference notes16
Algorithmic system design I
Reference notesAlgorithmic system design II
Reference notesDistributed ID generators
Reference notesDistributed systems
Reference notesFoundational topics in system design I
Reference notesFoundational topics in system design II
Reference notesNon-relational databases
Reference notesRelational databases
Reference notesHigh throughput systems I
Reference notesHigh throughput systems II
Reference notesInformation retrieval systems I
Reference notesInformation retrieval systems II
Reference notesSocial networks I
Reference notesSocial networks II
Reference notesStorage engines I
Reference notesStorage engines II
Reference notesSource summaries12
Amazon Dynamo Paper
Source summaryFoundationDB Paper
Source summaryGoogle Bigtable Paper
Source summaryGoogle Spanner Paper
Source summaryGoogle SRE Books
Source summaryKafka Design Docs
Source summaryLevelDB Implementation Notes
Source summaryOpenTelemetry Docs
Source summaryPrometheus Overview
Source summaryRaft Paper
Source summaryStanford Introduction To Information Retrieval
Source summaryVespa Hybrid Search Tutorial
Source summaryResource guides10