Réplication asynchrone d'une DB primaire vers replicas read-only.
La replication Primary-Replica (anciennement appelée Master-Slave, terminologie révisée pour éviter connotations) est la stratégie classique où une DB primaire (writes) est répliquée vers une ou plusieurs replicas read-only (reads). Modèle utilisé par MySQL, PostgreSQL, MongoDB, Redis pour HA et scale reads.
Fonctionnement :
(1) Primary accepte writes (INSERT/UPDATE/DELETE).
(2) Modifications loggées dans transaction log (binary log MySQL, WAL Postgres, oplog MongoDB).
(3) Replicas pull log entries et les rejouent sur leur copy data.
(4) Reads peuvent target primary (consistent) ou replicas (load-balanced, eventually consistent).
Modes de réplication :
(1) **Asynchronous** (default) — primary acks write au client AVANT confirmation replicas ack. Performance best, mais data loss possible si primary fails before replica catch-up.
(2) **Semi-synchronous** — primary attend qu'au moins 1 replica ack avant retourner. Balance latency/durability.
(3) **Synchronous** — wait all (ou quorum) replicas. Strongest durability, latency cost.
Use cases : (1) **Read scaling** — load balance reads sur replicas (analytics, reports, search) ; (2) **HA failover** — replica promoted to primary si primary fails (manual ou automated via Patroni/Pacemaker/Sentinel/Orchestrator) ; (3) **Geographic replicas** — closer to users in distant regions ; (4) **Backups** — snapshot replica without impacting primary load ; (5) **Reporting** — heavy analytical queries hors prod replica.
Limitations :
(1) **Single point of failure** primary writes ; failover non-trivial (data loss async, split-brain risk).
(2) **Replication lag** — replicas peuvent retarder (seconds normally, hours en cas de heavy load, bug, network issues).
(3) **No write scaling** — multi-master/multi-write needed (more complex : conflict resolution).
(4) **Replicas read-only** — apps must distinguish (separate connection strings, ORM read replicas config).
Modern multi-master / leaderless : Cassandra, DynamoDB, CockroachDB, Galera Cluster (MySQL), MongoDB replica sets avec automatic failover. Cloud managed : RDS Multi-AZ + Read Replicas, Aurora (storage-level replication), Azure SQL geo-replication, Cloud SQL HA. Compétences DP-300, DEA-C01.
200+ certifications, 400 000+ questions, examens blancs chronométrés.
Voir le catalogue →