I database spesso diventano un collo di bottiglia man mano che i sistemi crescono. Scalare il database coinvolge tecniche come la replication (copie per scalare le letture e la disponibilità), lo sharding (dividere i dati tra server), il caching, e la scelta di tipi di database appropriati.
Replication — copie dei dati
REPLICATION → maintain COPIES of the database across servers:
→ PRIMARY (writes) + REPLICAS (copies):
- READ SCALING → direct reads to replicas (offload the primary) → handle more reads
- AVAILABILITY → a replica can take over if the primary fails (failover)
⚠️ replication lag → replicas may be slightly behind (eventual consistency for reads)
→ great for READ-heavy workloads and availability (most apps are read-heavy)
