SD
System Design
Scalability, APIs, databases
What is System Design?
Designing scalable, reliable systems that serve millions.
- ▸Requirements: functional (what) and non-functional (scale, latency, availability).
- ▸High-level design: API, core services, data flow.
- ▸Data model: schema, storage (SQL vs NoSQL), caching.
- ▸Scalability: horizontal scaling, load balancing, sharding.
- ▸Reliability: replication, failover, idempotency.
Typical flow
ClientLoad BalancerApp ServersCacheDB
Start with one server, then scale out. Always clarify constraints and trade-offs.