Pour éviter les dé­sa­gré­ments des pannes et autres per­tur­ba­tions, il est re­com­mandé d’utiliser un MongoDB Re­pli­ca­set. Celui-ci conserve des copies de vos données sur dif­fé­rents serveurs pour les mettre à dis­po­si­tion sans perte de temps.

MongoDB Re­pli­ca­Set, c’est quoi ?

L’objectif principal d’un système de gestion de base de données comme MongoDB est de conserver vos données de manière claire et sécurisée. Dans cette optique, les Replica Sets MongoDB cons­ti­tuent un outil important pour la pro­tec­tion des données : la méthode consiste à dupliquer à l’identique les jeux de données et à les répartir sur plusieurs nœuds et sur dif­fé­rents serveurs. MongoDB distingue les nœuds primaires et les nœuds se­con­daires.

  • Primaire : le nœud primaire est aussi appelé nœud maître. Il est le point de départ pour la création des Replica Sets MongoDB et possède les droits de lecture/écriture ;
  • Se­con­daire : les nœuds se­con­daires (aussi appelés esclaves) sont des copies exactes du nœud maître. Ils servent uni­que­ment à conserver les données copiées et n’ont gé­né­ra­le­ment pas de droits de lecture/écriture. En cas de dé­fail­lance du nœud primaire, un nœud se­con­daire prend le relais pour remplacer le nœud maître. Il est re­com­mandé de toujours créer un nombre impair de nœuds se­con­daires.

Comment fonc­tionne le Re­pli­ca­set ?

Un Re­pli­ca­set MongoDB se compose donc d’un nœud primaire (ou maître) et de plusieurs nœuds se­con­daires (ou esclaves) créés à partir de copies exactes du maître. Il doit y avoir au moins deux nœuds se­con­daires, mais il est re­com­mandé un minimum de trois copies. Le transfert de données se fait toujours ex­clu­si­ve­ment du nœud primaire vers les nœuds se­con­daires. Si le nœud maître devait tomber en panne à cause d’une erreur, d’une dé­fail­lance du système ou de travaux de main­te­nance, un nœud esclave prendrait aussitôt la place du maître afin de garantir la dis­po­ni­bi­lité des données pendant la durée de la panne. Une fois le nœud dé­fec­tueux réparé, le nœud esclave redevient un nœud se­con­daire.

Quels sont les avantages d’un Re­pli­ca­set ?

L’uti­li­sa­tion d’un Replica Set MongoDB présente plusieurs avantages. D’une part, elle est re­com­man­dée pour les aspects de sécurité men­tion­nés plus haut qui font que, même en cas de panne tem­po­raire ou per­ma­nente d’un serveur, les données stockées restent ac­ces­sibles et ne sont pas perdues. La dis­po­ni­bi­lité per­ma­nente est évi­dem­ment un avantage important. Les travaux de main­te­nance ne gênent pas l’accès à vos données car il est possible de les récupérer fa­ci­le­ment à partir d’un nœud se­con­daire. Tout cela augmente con­si­dé­ra­ble­ment la vitesse et la dis­po­ni­bi­lité des données, de telle façon que les temps de pannes ou les problèmes de serveur ne seront plus un problème pour vous.

Créer un Re­pli­ca­set MongoDB

Le troisième avantage d’un MongoDB Re­pli­ca­set, et non des moindres, est sa facilité d’uti­li­sa­tion. Il est possible de créer fa­ci­le­ment des Replica Sets MongoDB et de vous assurer le meilleur niveau de sécurité possible pour vos données. La syntaxe de base des commandes MongoDB --replSet se présente ainsi :

mongod --port "PORT" --dbpath "IHR_DB_DATA_PATH" --replSet "NOM_DU_REPLICASET”

Pour créer un Re­pli­ca­set MongoDB, voici la procédure :

  1. Arrêtez tous les serveurs MongoDB actifs ;
  2. Saisissez la commande, avec les spé­ci­fi­ca­tions suivantes pour notre exemple :
mongo --port 32014 --dbpath "D:\set up\mongodb\data" --replSet Exemple

Vous créez une instance mongodb « Exemple » sur le port 32014 ;

  1. Connectez-vous ensuite à l’instance ;
  2. Utilisez la commande rs.initiate() pour démarrer un nouveau Re­pli­ca­Set MongoDB ;
  3. La commande rs.conf() permet de con­fi­gu­rer le Re­pli­ca­Set MongoDB. Vous pouvez vérifier son statut avec rs.status() ;
  4. Pour ajouter main­te­nant des membres à votre Re­pli­ca­Set MongoDB, utilisez la commande rs.add() avec la suivante :
rs.add(HOST_NAME:PORT)

Dans cet exemple, voici le code cor­res­pon­dant :

>rs.add("exemple1.net:32014")
Conseil

Suivez notre tutoriel MongoDB pour apprendre les bases du célèbre système de gestion de base de données !

Aller au menu principal