← System Design learning path
System Design · Module 5 of 10

Databases at scale

Choose and scale databases.

📖 Key ideas

  1. SQL for structured data and transactions; NoSQL for flexible schemas and scale.
  2. Replication: primary handles writes, replicas serve reads.
  3. Sharding splits data across databases by a key.
  4. Indexes speed queries; denormalisation speeds reads.
  5. CAP theorem: in a partition, choose consistency or availability.
💡 Real-life example: Sharding is splitting a giant phone directory into A–F, G–M, N–Z books kept in different rooms.
ReplicationCopying data to replicas
ShardingSplitting data across databases
CAP theoremConsistency vs availability under partitions
Read replicaCopy serving reads