La base de données NoSQL (« pas seulement SQL ») la plus utilisée, MongoDB, reste plébiscitée par les équipes de développeurs d’applications, qui gèrent de gros volumes de données non structurées et des déploiements dans le cloud ou le cloud hybride de dernière génération Ce type de bases de données NoSQL modernes les aide à mettre en production des applications robustes à destination de leurs clients, plus rapidement que jamais.

Contrairement aux bases de données relationnelles, une base de données NoSQL stocke des quantités considérables de données sans nécessiter de catégorie ou de schéma logique. MongoDB conserve ces informations sous forme de documents, qui peuvent être imprimés au format JavaScript Object Notation (JSON). Très flexible, ce dernier prend en charge des champs variables d’un document à l’autre, de sorte que les développeurs sont en mesure de modifier aisément les structures de données. Au lieu de devoir passer par un langage de requête standardisé, tel que SQL, vous pouvez interagir directement avec le serveur MongoDB en utilisant JavaScript et une simple API. 

Entre autres avantages, MongoDB inclut une fonction de réplication native qui préserve les données contre les défaillances de support et de réseau en les répliquant sur différents nœuds. Cela dit, cette fonction peut s’avérer problématique en cas d’altération ou de perte des données, car elle peut exacerber la situation en répliquant les données corrompues. 

La réplication native des bases de données ne peut se substituer aux solutions de sauvegarde, ni répondre aux exigences de test et de développement ou de mobilité des données. Les entreprises qui déploient des applications NoSQL ont besoin à la fois d’outils de sauvegarde et de réplication des bases de données. 

 

Exigences de sauvegarde des bases de données MongoDB

Pour protéger efficacement les données contenues dans une base MongoDB, les exigences suivantes doivent être respectées.

Exigence n°1 – Sauvegardes avec cohérence applicative. Par nature, les applications cloud de dernière génération sont accessibles en permanence. À mesure qu’elles prennent de l’ampleur, le système MongoDB sous-jacent doit également évoluer pour accueillir de nombreux blocs et ensembles de répliques. Une solution de sauvegarde de base de données NoSQL doit donc proposer des copies cohérentes sur ces différents blocs et répliques, sans affecter les performances applicatives pendant l’opération de sauvegarde ni nécessiter une mise en veille de la base de données. 

L’option de vidage de base de données native de MongoDB ne propose pas de sauvegarde avec cohérence applicative. Elle n’évolue pas, ne permet pas de sauvegarder des clusters en blocs et des ensembles de répliques, et est sujette aux erreurs humaines. Pour assurer une reprise efficace après une perte de données, vous avez besoin d’une sauvegarde ponctuelle cohérente des clusters en blocs.

Exigence n°2 – Sauvegardes granulaires. MongoDB regroupe différents types de documents, susceptibles d’être stockés à des endroits divers sous forme de « collections ». Une collection ressemble à une table dans une base de données relationnelle. Selon les exigences de l’application, certaines collections doivent être sauvegardées toutes les heures ; d’autres, à un rythme quotidien. La possibilité de programmer les sauvegardes en toute flexibilité, à n’importe quel intervalle et au niveau des collections, est un autre impératif dans la sauvegarde de bases de données MongoDB. 

Exigence n°3 – Reprise orchestrée vers des topologies différentes. La topologie des clusters MongoDB varie à chaque étape du cycle de vie des données. Par exemple, en production, l’application peut être déployée sur un cluster MongoDB sur site décomposé en blocs, tandis que votre équipe de test n’aura accès qu’à des clusters MongoDB non décomposés dans le cloud Amazon Web Services (AWS). De ce fait, votre solution de sauvegarde de base de données doit permettre plusieurs opérations de restauration, notamment d’un environnement décomposé en blocs vers un autre, ou vers un environnement non décomposé. De la même manière, elle doit prendre en charge les opérations de restauration de clusters distribués géographiquement.

De plus, les outils de sauvegarde natifs MongoDB disposent de capacités limitées de restauration des clusters de test et de développement. Garantir la mobilité des données nécessaire pour mettre à jour ou envoyer des données dans l’environnement de test et de développement nécessite souvent de les restaurer dans un cluster présentant une topologie différente du cluster source. Les outils de sauvegarde natifs MongoDB, quant à eux, doivent restaurer les données vers leurs topologies d’origine (blocs/ensembles de répliques), ce qui rend la création de petits clusters de test et de développement difficile.

Exigence n°4 – Gestion des défaillances de nœuds. Dans l’univers des bases de données distribuées, les défaillances sont monnaie courante. Par conséquent, la sauvegarde doit résister aux échecs de traitement, aux défaillances de nœuds, du réseau, et même aux altérations des données logiques pendant les opérations de sauvegarde et de restauration. La solution doit également pouvoir gérer les pannes des serveurs de configuration MongoDB qui stockent les métadonnées des clusters décomposés en blocs.

 

Solution de sauvegarde de base de données Rubrik

Rubrik Mosaic est un logiciel conçu spécifiquement pour résoudre les problématiques de sauvegarde et de reprise des bases de données NoSQL modernes et des systèmes de fichiers de mégadonnées. Ses principaux atouts sont les suivants :

  • Sauvegardes avec cohérence applicative pour des configurations de bases de données décomposées en blocs ou non

  • Sauvegardes incrémentielles plus rapides, qui facilitent le respect des exigences d’objectif de point de reprise (RPO) mesurées en quelques heures

  • Versionnement avec cohérence au niveau du cluster, ou copies de sauvegarde ponctuelle des collections MongoDB à intervalles personnalisés

  • Déduplication sémantique pour réduire drastiquement les frais de stockage des sauvegardes de bases de données distribuées, afin de réaliser jusqu’à 70 % d’économies

  • Reprise de bases de données NoSQL granulaire et entièrement orchestrée

  • Mise à jour des données de production avec restaurations depuis et vers n’importe quelle topologie

Pour en savoir plus sur Rubrik Mosaic et la sauvegarde des bases de données NoSQL, consultez la section Protection des données conçue pour MongoDB. Allez plus loin en lisant notre livre blanc : le guide complet de la sauvegarde et de la restauration pour MongoDB.

Questions fréquentes

Comment sauvegarder une base de données MongoDB ?

Une base de données MongoDB peut être sauvegardée avec Rubrik Mosaic, en créant des sauvegardes avec cohérence applicative qui affichent un RPO mesuré en heures en cas d’interruption de service.

Une base de données MongoDB dispose-t-elle d’un système de sauvegarde ?

MongoDB dispose d’un système de sauvegarde basique intégré, mais Rubrik Mosaic propose des fonctions essentielles pour la sauvegarde de données dans un environnement professionnel.

Qu’est-ce qu’un vidage MongoDB ?

Un vidage MongoDB est une exportation binaire de la base de données Mongo. Elle fournit un snapshot ponctuel et unique, qui ne comporte aucune sauvegarde immuable ni stockage dans le cloud.