MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comprendre les options de sauvegarde MongoDB

Les workflows de sauvegarde et de restauration sont extrêmement importants pour tout cluster MongoDB de production. Outre la fonctionnalité réelle de sauvegarde et de restauration, vous devez également prendre en compte d'autres éléments non fonctionnels tels que la disponibilité des sauvegardes, la sécurité, le temps de récupération, la granularité de la récupération, etc. À un niveau élevé, vous avez trois options pour sauvegarder votre serveur MongoDB :

  1. Mongodump/Mongorestore
  2. Gestionnaire de cloud MongoDB
  3. Instantanés de disque

Chacune des trois techniques ci-dessus a ses propres avantages et inconvénients. Lisez ci-dessous pour comprendre plus en détail.

1. Mongodump / Mongorestore

Mongodump est l'outil de sauvegarde "de démarrage" pour la plupart des développeurs MongoDB. C'est probablement ainsi que la plupart des développeurs commencent à sauvegarder leur base de données MongoDB. L'outil Mongodump est vraiment simple à utiliser et vide toutes les données de la base de données au format binaire (BSON) que vous pouvez stocker à l'emplacement de votre choix.

Avantages :

  1. Simple à utiliser.
  2. Flexibilité quant à l'emplacement de stockage de la sauvegarde - une fois le vidage terminé, vous pouvez le déplacer vers n'importe quel emplacement de votre choix - partages NFS, AWS S3, etc.

Inconvénients :

  1. Sauvegarde complète, à chaque fois - C'est une sauvegarde complète, pas un diff de votre sauvegarde précédente. Ainsi, à mesure que votre base de données devient volumineuse, la sauvegarde peut prendre des heures et est difficile à stocker.
  2. Pas un point dans le temps – La sauvegarde créée par mongodump n'est pas un instantané ponctuel par défaut. Ainsi, si vos données changent pendant la sauvegarde, vous pouvez vous retrouver avec un mongodump incohérent du point de vue de l'application. Vous pouvez y remédier en utilisant l'option "-oplog" qui prend un instantané à la fin du processus mongodump. Cependant, cette option n'est pas disponible pour les bases de données autonomes

2. Gestionnaire MongoDB Cloud

Cloud Manager est un service cloud fourni par l'équipe MongoDB pour vous aider à sauvegarder votre cluster MongoDB.

Avantages :

  1. Simple à utiliser – Installez l'agent MongoDB Cloud Manager pour gérer la sauvegarde/restauration de votre cluster. C'est un peu plus compliqué que d'utiliser mongodump, mais pas beaucoup.
  2. Sauvegarde continue – Le Cloud Manager interroge et sauvegarde en permanence votre oplog. Ainsi, cela vous permet de restaurer à n'importe quel moment au lieu de moments spécifiques où la sauvegarde a été effectuée, ce qui minimise votre exposition à la perte de données.

Inconvénients :

  1. Contrôle des données – Les données de sauvegarde sont stockées dans le centre de données MongoDB hors de votre contrôle. Dans certaines parties du monde (par exemple en Europe) et selon vos besoins en matière de sécurité, cela peut être un gros problème.
  2. Dépense supplémentaire – Vous payez en fonction de la taille des données et de la quantité de modifications oplog. Si vous avez une grande base de données ou un nombre élevé d'écritures, ce coût peut s'additionner.
  3. Restaurations lentes – Afin de restaurer vos données depuis MongoDB Cloud Manager, les données doivent être téléchargées physiquement depuis le centre de données Cloud Manager. Cette opération peut prendre beaucoup de temps si vous disposez d'une grande base de données. Par exemple, si vos données font 1 To, le téléchargement et l'utilisation des données peuvent prendre plusieurs heures.

3. Instantanés de disque

Les instantanés peuvent être au niveau du cloud (par exemple, des instantanés de disque AWS EBS) ou au niveau du système d'exploitation (instantanés LVM). Les instantanés LVM, bien que pratiques, ne sont pas facilement portables en dehors de la machine. Par conséquent, pour le reste de cette discussion, nous allons nous concentrer sur les instantanés de disque cloud comme les instantanés AWS EBS.

Avantages :

  1. Simple et facile à utiliser – Relativement trivial pour déclencher un instantané d'un disque EBS.
  2. Portabilité – Vous pouvez déplacer vos instantanés vers d'autres centres de données si vous avez besoin d'une plus grande disponibilité pour vos sauvegardes.
  3. Différencier les instantanés – Les instantanés sont des instantanés diff, ils ne stockent donc que les modifications de votre instantané précédent. Cela réduit la quantité de stockage nécessaire à votre sauvegarde.
  4. Aucune copie de données – Aucune copie de données n'est nécessaire pour restaurer vos données. Par exemple. Si vous souhaitez restaurer un instantané de 1 To, vous pouvez simplement créer un nouveau volume à partir de l'instantané et cela n'entraîne aucune copie de données réelle. C'est un * gros problème *  lorsqu'il s'agit de grandes quantités de données.
  5. Contrôle des sauvegardes – Les sauvegardes restent dans le même centre de données que vos données primaires et sont sécurisées par les mêmes mécanismes d'authentification que vos serveurs de données primaires.

Inconvénients :

  1. Pas une sauvegarde continue – Il s'agit d'une sauvegarde ponctuelle et ne peut être restaurée que sur les points de sauvegarde.
  2. Machines physiques - Les machines physiques sur site ne peuvent pas être sauvegardées à l'aide de cette technique.

En fin de compte, si vos données sont petites, les trois options fonctionneront bien. Lorsque vous commencerez à disposer de plus grandes quantités de données, vous devrez passer du temps et choisir l'option qui convient le mieux à votre scénario.