Beginner LevelSystem Design & Architecture
What are Database Read Replicas and Data Sharding?
β Interview Prompt: Compare Database Read Replicas (scaling reads via replication) vs Data Sharding (scaling writes via horizontal partitioning).
Differentiating database scaling techniques:
β’
Database Read Replicas: Replicates data asynchronously from a single Primary (Write) database to multiple secondary Read Replicas. Scales READ throughput ($O(N)$ replicas). Writes still bottleneck on the Primary master!
β’
Data Sharding: Partitions large database tables horizontally across multiple independent primary database servers using a Shard Key (e.g. 'user_id % 4'). Scales WRITE throughput and storage capacity horizontally.
Code Implementation Example
markdown
Read Replicas vs Database Sharding Architecture:
[Read Replicas] [Database Sharding]
[Primary DB (Write)] [Shard 1 (A-M)] [Shard 2 (N-Z)]
β β β
βββ> [Replica 1 (Read)] [Primary Node] [Primary Node]
βββ> [Replica 2 (Read)]π‘Read Replicas scaling read traffic vs Database Sharding scaling write capacity.
π― Interview Key Takeaway
Deploy Read Replicas to scale read-heavy workloads, and Database Sharding when write volume or dataset size exceeds a single server.
#System Design#Read Replicas#Sharding#Databases#Beginner
Back to all System Design & Architecture Questionsβ