bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths
Learn/System Design/Building Blocks
System Design•Building Blocks

Sharding & Replication

Replication copies data for availability and read scaling; sharding splits data across nodes for write/storage scaling. They solve different problems and are often combined.

Key ideas

  • Replication: leader/follower copies — survive node loss, scale reads, risk replication lag.
  • Sharding: partition by a key (hash or range) — scale writes/storage, risk hot shards.
  • Choose a shard key with high cardinality and even access to avoid hotspots.

Compare

TechniquePrimarily scales
ReplicationReads + availability
ShardingWrites + storage

Previous

Caching & CDNs

Next

Databases & Indexing

This chapter

Overview
9

Lessons

18m

Read time

1. Load Balancing & Stateless Services2. Caching & CDNs3. Sharding & Replication4. Databases & Indexing5. Queues & Async Work6. Consistency & CAP7. Reliability & Failure Modes8. Observability & SLOs9. Back-of-the-Envelope Estimation

On this page

Key ideasCompare