Il y a certains concepts informatiques qui sont est important de comprendre en tant que dirigeant. Tout comme les enjeux du dimensionnement des serveurs ou l’utilité d’un système de sauvegarde, la réplication est une nuance un peu méconnue mais tout aussi importante pour les entreprises utilisant un système d’information.

En général, dès qu’on parle de réplication, les administrateurs de Base de Données (DBA) parlent eux de « Standby database » ou « d’Archive Log ». Technique très connue dans le monde d’Oracle, c’est aujourd’hui aussi utilisé dans beaucoup d’autres systèmes de base de données tel que MySQL, Postgres et même les bases de données NoSQL.

 

Quel est le principe de la réplication de base de données

En informatique, il est usuel de parler de copies ou sauvegardes pour tout type de serveurs.

Dans le cadre des bases de données c’est un peu plus compliqué car le principe est que les données peuvent changer toutes les secondes. Dans ce cas, comment est-il possible de restaurer une donnée si celle-ci a changé depuis la dernière sauvegarde ?

En réalité, ce n’est pas possible avec un système de sauvegarde classique.

 

La solution dite « Standby » est justement conçue pour permettre d’avoir un deuxième serveur dit secondaire, continuellement connecté à un serveur primaire.

A chaque requête de base de données exécutée sur le serveur primaire, les données sont synchronisées sur le serveur secondaire.

 

La deuxième solution dite « Archive Log » fonctionne sur le même principe mais de manière asynchrone. Elle permet par exemple au serveur secondaire de restaurer toutes les 5 minutes les dernières requêtes exécutées sur le serveur nominal. C’est comme une restauration des nouvelles données sauvegardées toutes les X minutes.

 

Est-ce compliqué ?

Pour tout bon administrateur de base de données qui se respecte, ça reste le BABA.

Pour les autres, ça n’est pas forcément évident et cela peut nécessiter quelques longues nuits de tests pour être capable de construire une réplication fiable.

 

Ma recommandation, si vous n’avez pas un bon DBA dans votre équipe, serait d’utiliser un système préconfiguré ou une solution clé en main de type Amazon RDS.

En quelques clics, il est ainsi possible d’avoir une réplication automatique opérationnelle.

 

 

Pourquoi est-ce si important ?

En fonction de votre activité, vous avez deux facteurs à considérer :

  • Combien de temps votre site internet peut-il être indisponible ?
  • Quelle quantité de données seriez-vous prêt à perdre en cas de crash serveur ?

 

Par exemple :

  • Pour un forum ou un blog : La sauvegarde quotidienne est certainement suffisante
  • Pour un site de réservation en ligne : en fonction de la fréquence de réservation, une sauvegarde toutes les heures devrait suffire
  • Pour une solution de paiement ou une place de marché : à partir du moment où vous traiter de l’argent, il devient très critique de réduire les impacts d’un dysfonctionnement en réduisant les pertes à zéro (ou presque).

 

En fonction de vos réponses à ces questions, vous devriez considérer de renforcer votre infrastructure technique en mettant en place une réplication de base de données.

(Voir aussi l’article sur le Plan de reprise d’activité)

 

Combien ça coute ?

En fait, la réponse est simple… On multiplie par deux les besoins en infrastructure technique puisqu’il nous faut un deuxième serveur.

Là où ça peut devenir couteux c’est en temps consacré à construire et administrer la solution de réplication. Avec une configuration classique, cela prendra environ 3 fois plus de temps à votre administrateur de base de données.

 

Et vous ?

Utilisez-vous un système de réplication de base de données ?

Pensez-vous que ce soit important pour votre activité ?

N’hésitez- pas à poser vos questions, je vous répondrai sans faute.