Read Replica
DevOps 🟡 MidDéfinition
Copie en lecture seule d'une base de données primaire, répliquée de manière asynchrone. Distribue la charge des requêtes SELECT.
Analogie
Des copies d'un même livre dans une bibliothèque : plusieurs lecteurs peuvent lire simultanément.
Exemple de code
// Routing des requêtes
const db = query.isRead
? replicaPool.connect()
: primaryPool.connect();
await db.query(query.sql);
Cas d'usage
Absorber le trafic de lecture (rapports, dashboards) sans surcharger la base primaire.
Anti-pattern
Termes liés
En entretien
Explique-moi ce qu'est une read replica.
C'est une copie en lecture seule d'une base de données primaire, répliquée de manière asynchrone, qui permet de distribuer la charge des requêtes SELECT. C'est comme des copies d'un même livre dans une bibliothèque : plusieurs lecteurs peuvent lire simultanément.
Dans quel cas utiliser une read replica ?
Pour absorber le trafic de lecture, comme des rapports ou des dashboards, sans surcharger la base primaire. Le routage se fait typiquement en testant query.isRead pour choisir entre replicaPool et primaryPool.
Quel piège classique guette avec les read replicas ?
Lire depuis la replica juste après une écriture, alors que les données n'ont pas encore été répliquées vers elle. C'est un problème de cohérence à anticiper, notamment lié à l'eventual consistency.
Fiche mise à jour le 2026-09-27