Distributed Databases & Scaling
Scaling Strategies
Vertical Scaling (Scale Up)
Horizontal Scaling (Scale Out)
[Primary] ──→ [Replica 1] ← Read traffic
└─→ [Replica 2] ← Read traffic
└─→ [Replica 3] ← Read traffic
Writes go to Primary only# Hash-based sharding
def get_shard(user_id, num_shards=4):
return user_id % num_shards
# user_id 1001 → shard 1 (DB server 2)
# user_id 1002 → shard 2 (DB server 3)
# user_id 1003 → shard 3 (DB server 4)
# user_id 1004 → shard 0 (DB server 1)PostgreSQL High Availability (Patroni)
CAP Theorem
System
Consistency
Availability
Partition Tolerance
Database Architecture Patterns
CQRS (Command Query Responsibility Segregation)
Event Sourcing
Last updated
