Migrer vers Firestore compatible avec MongoDB
Ce guide vous explique comment migrer votre base de données source compatible avec MongoDB vers une base de données Firestore compatible avec MongoDB, en minimisant le temps d'arrêt.
À propos du processus de migration
Le processus de migration comprend les étapes suivantes :
Préparation : vous créez les ressources nécessaires à la migration et configurez les variables d'environnement qui seront utilisées pour exécuter les commandes lors des étapes ultérieures du processus de migration.
Importer depuis la base de données source compatible avec MongoDB : vous utilisez le service Datastream pour capturer le contenu de votre base de données source compatible avec MongoDB et le transférer dans un bucket Cloud Storage.
Écrire des données dans une base de données Firestore compatible avec MongoDB : vous utilisez le service Dataflow pour transférer des données du bucket Cloud Storage vers une base de données Firestore compatible avec MongoDB.
Ce pipeline Dataflow s'exécutera simultanément avec le flux Datastream qui extrait les données de la base de données source compatible avec MongoDB.
Migrer le trafic vers Firestore : à l'étape appropriée de la procédure, migrez le trafic de lecture et d'écriture de votre application vers la base de données Firestore compatible avec MongoDB, puis arrêtez le pipeline de migration.
Le schéma suivant résume le processus de migration :
Votre base de données source compatible avec MongoDB reste en état de diffusion pendant le transfert de données :
- Le processus Datastream capture à la fois les données au repos et les événements de modification.
Une brève période d'indisponibilité partielle se produira lorsque vous devrez arrêter le trafic en écriture vers votre base de données source. Pendant cette période, le reste des événements de modification est répliqué dans Firestore.
Une fois la réplication terminée, la base de données Firestore compatible avec MongoDB peut devenir la nouvelle source de vérité pour la charge de travail de votre application. Tout le trafic de lecture et d'écriture peut être dirigé vers la nouvelle base de données.
Procédure de migration détaillée
Cette section décrit la migration plus en détail.
Le service Datastream crée un flux entre une source et une destination. Dans ce cas, la source est votre déploiement compatible avec MongoDB actuel, tandis que la destination est Cloud Storage. Ce processus comprend les étapes suivantes :
Créez un profil de connexion Datastream source pour votre source Mongo. Les instructions spécifiques dépendent du type et de la façon dont votre source compatible avec MongoDB est déployée.
Créez un bucket Cloud Storage qui recevra les données et les événements de modification de votre base de données source compatible avec MongoDB.
Créez un profil de connexion Datastream de destination qui utilise ce bucket Cloud Storage.
Créez et activez un flux Datastream qui associe le profil de connexion source au profil de connexion de destination.
Lancez un pipeline Dataflow pour commencer à injecter les données capturées dans votre base de données Firestore compatible avec MongoDB.
Surveillez le flux pour identifier les étapes importantes du processus de migration et déterminer si des erreurs ont été rencontrées lors du transfert de données.
Le cas échéant, arrêtez le trafic d'écriture vers la base de données source. Une fois que toutes les données, y compris les modifications récentes, ont été répliquées dans la base de données Firestore compatible avec MongoDB, redirigez le trafic de lecture vers la nouvelle destination.
Activez le trafic en écriture vers votre base de données Firestore compatible avec MongoDB.
À propos des exemples de code
Les exemples de code de ce guide sont conçus pour être exécutés les uns après les autres. Ce guide suppose que vous configurez votre environnement en définissant toutes les variables d'environnement à l'avance. Ensuite, vous exécutez les commandes requises pour la migration qui utilisent les variables d'environnement déjà configurées. Nous vous recommandons d'utiliser cette approche. Étant donné que de nombreuses commandes utilisent les mêmes variables d'environnement, vous pouvez réduire le risque d'introduire des erreurs entre les différentes étapes du processus de migration.
Vous pouvez également remplacer les variables dans les exemples de commandes par les mêmes valeurs que celles que vous avez définies pour les variables d'environnement correspondantes.
Limites
Avant de commencer, consultez les différences entre Firestore compatible avec MongoDB et MongoDB. Portez une attention particulière aux points suivants :
Si l'une de vos données ne respecte pas les restrictions des catégories précédentes :
Nous vous recommandons de traiter ces conditions dans votre ensemble de données avant de commencer le processus de migration.
Si vous choisissez de continuer sans apporter de modifications, les documents concernés par les limites ne pourront pas être écrits dans Firestore et seront mis de côté. Vous pouvez décider de la manière dont ces documents doivent être traités. Si elles sont converties en types, valeurs ou tailles compatibles, elles peuvent être retraitées.
Datastream présente les exigences suivantes :
La version majeure minimale de MongoDB compatible avec Datastream est la version 4.0. Pour certaines versions mineures, des versions de correctif minimales sont compatibles :
- 4.0.21
- 4.2.10
- 4.4.2
Votre cluster MongoDB doit être compatible avec les flux de modifications. Votre déploiement MongoDB doit être configuré en tant qu'ensemble de répliques ou cluster partitionné pour que les flux de modifications puissent être activés.
Étapes suivantes
Passez à l'étape Configurer les ressources pour la migration.