Ce document explique comment déployer une transformation de données entre MongoDB Atlas et Google Cloud. Dans ce document, vous déployez un processus d'extraction, de transformation et de chargement (ETL) de données MongoDB Atlas vers BigQuery.
Ces instructions sont destinées aux administrateurs de données qui souhaitent utiliser BigQuery pour effectuer des analyses complexes sur les données opérationnelles stockées dans MongoDB Atlas. Vous devez connaître MongoDB Atlas, BigQuery et Dataflow.
Architecture
Le schéma suivant illustre l'architecture de référence que vous utilisez lorsque vous déployez cette solution.
Comme le montre le schéma, trois modèles Dataflow gèrent le processus d'intégration. Le premier modèle, MongoDB vers BigQuery, est un pipeline par lots qui lit les documents de MongoDB et les écrit dans BigQuery. Le second modèle, BigQuery vers MongoDB, est un modèle de traitement par lot qui peut être utilisé pour lire les données analysées de BigQuery et les écrire dans MongoDB. Le troisième modèle, MongoDB vers BigQuery (CDC), est un pipeline de streaming qui fonctionne avec les flux de modifications MongoDB pour gérer les modifications dans les données opérationnelles. Pour en savoir plus, consultez la page Transformation des données entre MongoDB Atlas et Google Cloud.
Objectifs
Les étapes de déploiement suivantes montrent comment utiliser le modèle MongoDB vers BigQuery pour effectuer le processus ETL entre les données de MongoDB Atlas vers BigQuery. Pour déployer ce processus ETL, vous devez effectuer les jobs suivants :
- Provisionner un cluster MongoDB Atlas dans Google Cloud.
- Charger des données dans votre cluster MongoDB.
- Configurer l'accès au cluster.
- Configurer une table BigQuery sur Google Cloud.
- Créer et surveiller le job Dataflow qui transfère les données MongoDB vers BigQuery.
- Valider les tables de sortie sur BigQuery.
Coûts
Dans ce document, vous utilisez les composants facturables suivants de Google Cloud :
Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.
Une fois que vous avez terminé les tâches décrites dans ce document, vous pouvez éviter de continuer à payer des frais en supprimant les ressources que vous avez créées. Pour en savoir plus, consultez la section Effectuer un nettoyage.
Avant de commencer
Pour configurer un environnement pour votre architecture MongoDB vers BigQuery, procédez comme suit :
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataflow APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataflow APIs.
Installer MongoDB Atlas
Dans cette section, vous allez utiliser Cloud Marketplace pour installer une instance MongoDB Atlas. Dans ces instructions, nous partons du principe que vous ne disposez pas d'un compte MongoDB. Pour en savoir plus sur la configuration d'un abonnement et l'association de votre compte de facturation Google à votre compte MongoDB, consultez la page Marketplace Google Cloud en libre-service dans la documentation MongoDB.
- Dans la console Google Cloud, développez le menu de navigation, puis sélectionnez Marketplace.
- Dans le champ de recherche du Marketplace, saisissez MongoDB Atlas.
- Dans les résultats de recherche, sélectionnez MongoDB Atlas (paiement à l'usage).
- Sur la page MongoDB Atlas (paiement à l'usage), consultez les conditions d'utilisation, puis cliquez sur S'inscrire avec MongoDB.
- Sur la page d'abonnement MongoDB, sélectionnez votre compte de facturation, acceptez les conditions d'utilisation et cliquez sur S'abonner.
- Cliquez sur le bouton Enregistrer avec MongoDB et créez un compte MongoDB.
- Sur la page qui vous invite à sélectionner une organisation, sélectionnez l'organisation MongoDB à laquelle vous souhaitez associer votre compte de facturation Google Cloud.
- Attendez que Google Cloud termine la synchronisation de votre organisation.
Une fois les comptes synchronisés, la page MongoDB Atlas (paiement à l'usage) de la console Google Cloud se met à jour pour afficher un bouton Gérer sur le fournisseur.
Créer un cluster MongoDB Atlas
Dans cette section, vous allez créer un cluster MongoDB. Au cours du processus de création, vous sélectionnerez les informations suivantes :
- Le type de votre cluster. Sélectionnez le niveau de cluster en fonction des exigences de votre infrastructure.
- La région préférée pour votre cluster. Nous vous recommandons de sélectionner la région la plus proche de votre emplacement physique.
Pour en savoir plus sur la création et le déploiement d'un cluster MongoDB gratuit, consultez la page Déployer un cluster gratuit dans la documentation MongoDB.
Pour créer et configurer votre cluster, procédez comme suit :
- Dans la console Google Cloud, sur la page MongoDB Atlas (Paiement à l'usage), cliquez sur Gérer sur le fournisseur.
Sur la page de connexion MongoDB, cliquez sur Google, puis sur le compte Google que vous avez utilisé pour installer MongoDB Atlas.
En tant que nouvel utilisateur, l'interface utilisateur de MongoDB s'ouvre automatiquement à la page Déploiements de base de données.
Dans l'interface utilisateur d'Atlas, sur la page Déploiements de base de données, cliquez sur Créer.
Sur la page Créer un cluster, cliquez sur Partagé.
L'option Partagé fournit un cluster gratuit que vous pouvez utiliser pour tester la présente architecture de référence.
Dans la section Fournisseur cloud et région de la page Créer un cluster partagé, procédez comme suit :
- Sélectionnez Google Cloud.
- Sélectionnez la région présentant les caractéristiques de votre choix la plus proche de vous géographiquement.
Dans la section Niveau de cluster, sélectionnez l'option M0.
Les clusters
M0
sont gratuits et adaptés aux petites applications de démonstration de faisabilité.Dans Nom du cluster, saisissez un nom pour votre cluster.
Cliquez sur Créer un cluster pour déployer le cluster.
Configurer votre cluster MongoDB
Dans cette section, vous allez effectuer les procédures suivantes :
- Charger les exemples de données dans votre cluster.
- Configurer l'accès à votre cluster.
- Vous connecter au cluster.
Charger des exemples de données dans votre cluster MongoDB
Maintenant que vous avez créé un cluster MongoDB, vous devez charger des données dans ce cluster. MongoDB propose un grand nombre d'exemples d'ensembles de données. Vous pouvez utiliser n'importe lequel de ces ensembles de données pour tester ce déploiement. Toutefois, vous préférerez peut-être utiliser un ensemble de données semblable aux données réelles que vous utiliserez dans votre déploiement de production.
Pour en savoir plus sur le chargement des exemples de données, consultez la page Charger les exemples de données dans la documentation MongoDB.
Pour charger les exemples de données, procédez comme suit :
- Dans l'interface utilisateur d'Atlas, sur la page Déploiements de base de données, localisez le cluster que vous venez de déployer.
Cliquez sur le bouton Points de suspension (...), puis sur Charger un exemple d'ensemble de données.
Le chargement des exemples de données prend environ cinq minutes.
Examinez les exemples d'ensembles de données et notez la collection que vous souhaitez utiliser pour tester ce déploiement.
Configurer l'accès au cluster
Pour connecter votre cluster, vous devez créer un utilisateur de base de données et définir son adresse IP :
- L'utilisateur de la base de données est distinct de l'utilisateur MongoDB. Vous avez besoin de l'utilisateur de base de données pour vous connecter à MongoDB depuis Google Cloud.
- Pour cette architecture de référence, vous utilisez le bloc CIDR de
0.0.0.0/0
comme adresse IP. Ce bloc CIDR autorise les accès indifféremment de leur provenance et n'est adapté qu'à un déploiement de démonstration de faisabilité comme celui-ci. Lorsque vous déployez une version de production de cette architecture, veillez à saisir une plage d'adresses IP appropriée pour votre application.
Pour en savoir plus sur la configuration d'un utilisateur de base de données et sur l'adresse IP de votre cluster, consultez la page Configurer l'accès au cluster avec l'assistant de démarrage rapide dans la documentation MongoDB.
Pour configurer l'accès au cluster, procédez comme suit :
- Dans la section Sécurité du volet de navigation de gauche, cliquez sur Guide de démarrage rapide.
- Sur la page Nom d'utilisateur et mot de passe, procédez comme suit pour créer l'utilisateur de base de données :
- Dans le champ Nom d'utilisateur, saisissez le nom de l'utilisateur de base de données.
- Dans le champ Mot de passe, saisissez le mot de passe de l'utilisateur de base de données.
- Cliquez sur Créer un utilisateur.
Sur la page Nom d'utilisateur et mot de passe, procédez comme suit pour ajouter une adresse IP pour votre cluster :
Dans Adresse IP, saisissez 0.0.0.0/0.
Pour votre environnement de production, sélectionnez l'adresse IP appropriée pour cet environnement.
(Facultatif) Pour Description, saisissez une description de votre cluster.
Cliquez sur Ajouter une entrée.
Cliquez sur Terminer et fermer.
Vous connecter à votre cluster
Maintenant que l'accès à votre cluster est configuré, vous devez vous connecter à votre cluster. Pour en savoir plus sur la connexion au cluster, consultez la section Se connecter au cluster dans la documentation MongoDB.
Pour vous connecter à votre cluster, procédez comme suit :
- Dans l'interface utilisateur d'Atlas, sur la page Déploiements de base de données, localisez le cluster que vous venez de déployer.
- Sélectionnez Connexion.
- Sur la page Connexion, cliquez sur l'option Boussole.
Recherchez le champ Copier la chaîne de connexion, puis copiez et enregistrez la chaîne de connexion MongoDB. Vous utilisez cette chaîne de connexion lors de l'exécution des modèles Dataflow.
La chaîne de connexion utilise la syntaxe suivante :
mongodb+srv://<UserName>:<Password>@<HostName>
La chaîne de connexion inclut automatiquement le nom de l'utilisateur de base de données que vous avez créé à l'étape précédente. Toutefois, vous serez invité à saisir le mot de passe de l'utilisateur de base de données lorsque vous vous connecterez à l'aide de cette chaîne.
Cliquez sur Fermer.
Créer un ensemble de données dans BigQuery
Lorsque vous créez un ensemble de données dans BigQuery, il vous suffit de saisir un nom et de sélectionner un emplacement géographique pour l'ensemble de données. Toutefois, vous pouvez définir des champs facultatifs sur votre ensemble de données. Pour en savoir plus sur ces champs facultatifs, consultez la section Créer des ensembles de données.
Dans la console Google Cloud, accédez à la page BigQuery.
Dans le panneau Explorer, sélectionnez le projet dans lequel vous souhaitez créer l'ensemble de données.
Développez l'option
et cliquez sur Créer un ensemble de données.Sur la page Créer un ensemble de données, procédez comme suit :
- Pour ID de l'ensemble de données, indiquez le nom d'un ensemble de données unique.
Dans Type d'emplacement, sélectionnez un emplacement géographique pour l'ensemble de données. Une fois l'ensemble de données créé, l'emplacement ne peut plus être modifié.
Si vous sélectionnez
EU
ou une région européenne comme emplacement de l'ensemble de données, vos données client BigQuery principales se trouveront dans l'UE. Pour obtenir une définition des données client BigQuery principales, consultez la page Conditions spécifiques au service.Cliquez sur Créer l'ensemble de données.
Créer, surveiller et valider un job par lot Dataflow
Dans Dataflow, suivez les instructions ci-dessous pour créer un job par lot unique qui charge les exemples de données de MongoDB vers BigQuery. Après avoir créé le job par lot, vous surveillez la progression du job dans l'interface de surveillance Dataflow. Pour en savoir plus sur l'utilisation de l'interface de surveillance, consultez la page Utiliser l'interface de surveillance Dataflow.
Dans la console Google Cloud, accédez à la page Dataflow.
Cliquez sur Create job from template (Créer un job à partir d'un modèle).
Sur la page Créer un job à partir d'un modèle, procédez comme suit :
- Dans le champ Nom du job, saisissez un nom de job unique, tel que mongodb-to-bigquery-batch. Assurez-vous qu'aucun autre job Dataflow portant ce nom n'est en cours d'exécution dans ce projet.
- Pour le Point de terminaison régional, sélectionnez l'emplacement de l'ensemble de données BigQuery que vous venez de créer.
- Pour le paramètre Modèle Dataflow, dans la liste Traiter les données de manière groupée (lot), sélectionnez MongoDB vers BigQuery.
Dans la section Paramètres obligatoires, saisissez les paramètres suivants :
- Pour URI de connexion MongoDB, saisissez votre chaîne de connexion Atlas MongoDB.
- Pour Base de données Mongo, saisissez le nom de la base de données que vous avez créée précédemment.
- Pour la collection Mongo, saisissez le nom de l'exemple de collection que vous avez noté précédemment.
- Pour la table de destination BigQuery, cliquez sur Parcourir, puis sélectionnez la table BigQuery que vous avez créée à l'étape précédente.
Dans le champ Option utilisateur, saisissez NONE ou FLATTEN.
NONE charge le document entier au format de chaîne JSON dans BigQuery. FLATTEN aplatit le document sur un niveau. Si vous ne fournissez pas de fonction définie par l'utilisateur, l'option FLATTEN ne fonctionne qu'avec des documents à schéma fixe.
Pour démarrer le job, cliquez sur Exécuter le job.
Procédez comme suit pour ouvrir l'interface de surveillance de Dataflow. Celle-ci vous permet de vérifier la progression du job par lot et de vérifier qu'elle se termine sans erreur :
- Dans la console Google Cloud, dans le projet pour ce déploiement, ouvrez le menu de navigation.
- Dans Analyse, cliquez sur Dataflow.
Une fois le pipeline exécuté, procédez comme suit pour valider le résultat de la table :
- Dans BigQuery, ouvrez le volet Explorateur.
Développez votre projet, cliquez sur l'ensemble de données, puis double-cliquez sur la table.
Vous devriez maintenant pouvoir afficher les données MongoDB dans la table.
Effectuer un nettoyage
Pour éviter que des frais ne soient facturés sur vos comptes MongoDB et Google Cloud, vous devez mettre en veille ou arrêter votre cluster MongoDB Atlas et supprimer le projet Google Cloud que vous avez créé pour cette architecture de référence.
Mettre en veille ou arrêter votre cluster MongoDB Atlas
La procédure suivante fournit les principes de base de la mise en pause de votre cluster. Pour en savoir plus, consultez la section Suspendre, réactiver ou arrêter un cluster dans la documentation de MongoDB.
- Dans l'interface utilisateur d'Atlas, accédez à la page Déploiements de base de données de votre projet Atlas.
- Pour le cluster que vous souhaitez suspendre, cliquez sur .
- Cliquez sur Suspendre le cluster.
- Cliquez sur Suspendre le cluster pour confirmer votre choix.
Supprimer le projet
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Étape suivante
- Recherchez des modèles Google Dataflow sur GitHub si vous souhaitez les personnaliser.
- Pour en savoir plus sur les solutions MongoDB Atlas et Google Cloud, consultez la page Cloud Skills Boost.
- Découvrez les produits Google Cloud utilisés dans cette architecture de référence :
- Pour découvrir d'autres architectures de référence, schémas et bonnes pratiques, consultez le Centre d'architecture cloud.
Contributeurs
Auteurs :
- Saurabh Kumar | ISV Partner Engineer
- Venkatesh Shabhag | Senior Solutions Architect (MongoDB)
Autres contributeurs :
- Jun Liu | Supportability Tech Lead
- Maridi (Raju) Makaraju | Supportability Tech Lead
- Sergei Lilichenko | Solutions Architect
- Sha Kulandaivel | Group Product Manager