System design
Learning paths
Articles
Topics
Roadmaps
Playground
Search articles, topics...
⌘K
Library
Topics
Sharding
Splitting data across machines, and choosing the key that decides where.
Path
System design
Databases
Level
Foundation
Core
Senior
Staff
Design questions only
Narrow
Caching
2
Data modelling
2
Replication
1
Consistency
1
Storage and indexes
2
SQL
1
NoSQL
1
Search
1
Location
1
8 pages
Sharding
System design · Core · 14 min
SQL
Consistent hashing
System design · Core · 18 min
Caching
Design a unique ID generator
System design · Core · 20 min
Data modelling
Design a key value store
System design · Senior · 23 min
Replication
Consistency
Storage and indexes
Design a proximity service
System design · Senior · 26 min
Location
Caching
Design a web search engine
System design · Staff · 24 min
Search
Storage and indexes
Partitioning and sharding
Databases · Core · 11 min
DynamoDB
Databases · Core · 11 min
NoSQL
Data modelling