Questo documento descrive come eseguire il deployment della trasformazione dei dati tra MongoDB Atlas e Google Cloud. In questo documento, implementi un processo di estrazione, trasformazione e caricamento (ETL) tra i dati di MongoDB Atlas e BigQuery.
Queste istruzioni sono destinate agli amministratori dei dati che vogliono utilizzare BigQuery per eseguire analisi complesse sui dati operativi memorizzati in MongoDB Atlas. Devi conoscere MongoDB Atlas, BigQuery e Dataflow.
Architettura
Il seguente diagramma mostra l'architettura di riferimento utilizzata per il deployment di questa soluzione.
Come mostrato nel diagramma, esistono tre modelli Dataflow che gestiscono il processo di integrazione. Il primo modello, MongoDB to BigQuery, è una pipeline batch che legge i documenti da MongoDB e li scrive in BigQuery. Il secondo modello, BigQuery to MongoDB, è un modello batch che può essere utilizzato per leggere i dati analizzati da BigQuery e scriverli in MongoDB. Il terzo modello, MongoDB to BigQuery (CDC), è una pipeline di streaming che funziona con le modifiche in tempo reale di MongoDB per gestire le modifiche nei dati operativi. Per maggiori dettagli, consulta Trasformazione dei dati tra MongoDB Atlas e Google Cloud.
Obiettivi
I seguenti passaggi di implementazione mostrano come utilizzare il modello da MongoDB a BigQuery per eseguire il processo ETL tra i dati da MongoDB Atlas a BigQuery. Per eseguire il deployment di questo processo ETL, esegui le seguenti attività:
- Provisiona un cluster MongoDB Atlas in Google Cloud.
- Carica i dati nel tuo cluster MongoDB.
- Configura l'accesso al cluster.
- Configura una tabella BigQuery su Google Cloud.
- Crea e monitora il job Dataflow che trasferisce i dati di MongoDB in BigQuery.
- Convalida le tabelle di output su BigQuery.
Costi
In questo documento utilizzi i seguenti componenti fatturabili di Google Cloud:
Per generare una stima dei costi in base all'utilizzo previsto,
utilizza il Calcolatore prezzi.
Al termine delle attività descritte in questo documento, puoi evitare la fatturazione continua eliminando le risorse che hai creato. Per ulteriori informazioni, consulta la sezione Pulizia.
Prima di iniziare
Completa i seguenti passaggi per configurare un ambiente per l'architettura MongoDB a BigQuery.
- 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.
Installa MongoDB Atlas
In questa sezione utilizzerai Cloud Marketplace per installare un'istanza di MongoDB Atlas. Queste istruzioni presuppongono che tu non abbia un account MongoDB esistente. Per informazioni dettagliate sulla configurazione di un abbonamento e sul collegamento dell'account di fatturazione Google all'account MongoDB, consulta Google Cloud Self-Serve Marketplace nella documentazione di MongoDB.
- Nella console Google Cloud, espandi il menu di navigazione e seleziona Marketplace.
- Nella casella di ricerca di Marketplace, inserisci MongoDB Atlas.
- Nei risultati di ricerca, seleziona MongoDB Atlas (pagamento a consumo).
- Nella pagina MongoDB Atlas (pagamento a consumo), esamina la panoramica dei termini e delle condizioni, quindi fai clic su Registrati con MongoDB.
- Nella pagina di abbonamento a MongoDB, seleziona il tuo account di fatturazione, accetta i termini e fai clic su Abbonati.
- Fai clic sul pulsante Registrati con MongoDB e crea un account MongoDB.
- Nella pagina che ti chiede di selezionare un'organizzazione, seleziona l'organizzazione MongoDB a cui collegare il tuo account di fatturazione Google Cloud.
- Attendi che Google Cloud completi la sincronizzazione della tua organizzazione.
Quando gli account vengono sincronizzati, la pagina MongoDB Atlas (pagamento a consumo) nella console Google Cloud viene aggiornata per mostrare un pulsante Gestisci sul fornitore.
Crea un cluster MongoDB Atlas
In questa sezione viene creato un cluster MongoDB. Durante la procedura di creazione, seleziona le seguenti informazioni:
- Il tipo di cluster. Seleziona il livello del cluster in base ai requisiti dell'infrastruttura.
- La regione preferita per il cluster. Ti consigliamo di selezionare la regione più vicina alla tua posizione fisica.
Per informazioni dettagliate su come creare ed eseguire il deployment di un cluster MongoDB gratuito, consulta Eseguire il deployment di un cluster gratuito nella documentazione di MongoDB.
Per creare e configurare il cluster:
- Nella console Google Cloud, nella pagina MongoDB Atlas (Paga as you go), fai clic su Gestisci sul provider.
Nella pagina di accesso a MongoDB, fai clic su Google e poi sull'account Google che hai utilizzato per installare MongoDB Atlas.
Come nuovo utente, l'interfaccia utente di MongoDB si apre automaticamente nella pagina Deployment del database.
Nell'interfaccia utente di Atlas, nella pagina Deployment del database, fai clic su Crea.
Nella pagina Crea un cluster, fai clic su Condiviso.
L'opzione Condiviso fornisce un cluster gratuito che puoi utilizzare per testare questa architettura di riferimento.
Nella pagina Crea un cluster condiviso, nella sezione Fornitore cloud e regione:
- Seleziona Google Cloud.
- Seleziona la regione più vicina a te geograficamente e con le caratteristiche che ti interessano.
Nella sezione Livello cluster, seleziona l'opzione M0.
I cluster
M0
sono gratuiti e adatti per piccole applicazioni proof-of-concept.In Nome cluster, inserisci un nome per il cluster.
Fai clic su Crea cluster per eseguire il deployment del cluster.
Configura il cluster MongoDB
In questa sezione, completa le seguenti procedure:
- Caricamento dei dati di esempio nel cluster.
- Configurazione dell'accesso al cluster.
- Connessione al cluster.
Carica i dati di esempio nel cluster MongoDB
Ora che hai creato un cluster MongoDB, devi caricare i dati al suo interno. MongoDB carica una varietà di set di dati di esempio. Puoi utilizzare uno di questi set di dati per testare questo deployment. Tuttavia, ti consigliamo di utilizzare un set di dati simile ai dati effettivi che utilizzerai nel deployment di produzione.
Per informazioni dettagliate su come caricare i dati di esempio, consulta Carica i dati di esempio nella documentazione di MongoDB.
Per caricare i dati di esempio:
- Nell'interfaccia utente di Atlas, nella pagina Deployment del database, individua il cluster appena di cui hai eseguito il deployment.
Fai clic sul pulsante Elipsi (...) e poi su Carica set di dati di esempio.
Il caricamento dei dati di esempio richiede circa 5 minuti.
Esamina i set di dati di esempio e prendi nota della raccolta che vuoi utilizzare per testare questo deployment.
Configurare l'accesso al cluster
Per connettere il cluster, devi creare un utente del database e impostare l'indirizzo IP per il cluster:
- L'utente del database è separato dall'utente MongoDB. L'utente del database deve essere in grado di connettersi a MongoDB da Google Cloud.
- Per questa architettura di riferimento, utilizza il blocco CIDR di
0.0.0.0/0
come indirizzo IP. Questo blocco CIDR consente l'accesso da qualsiasi luogo ed è adatto solo per un deployment di proof-of-concept come questo. Tuttavia, quando implementi una versione di produzione di questa architettura, assicurati di inserire un intervallo di indirizzi IP adatto per la tua applicazione.
Per informazioni dettagliate su come configurare un utente del database e l'indirizzo IP per il cluster, consulta Configurare l'accesso al cluster con la procedura guidata QuickStart nella documentazione di MongoDB.
Per configurare l'accesso al cluster:
- Nella sezione Sicurezza del riquadro di navigazione a sinistra, fai clic su Guida rapida.
- Nella pagina Nome utente e password, segui questi passaggi per creare l'utente del database:
- In Nome utente, inserisci il nome dell'utente del database.
- In Password, inserisci la password dell'utente del database.
- Fai clic su Create User (Crea utente).
Nella pagina Nome utente e password, procedi nel seguente modo per aggiungere un indirizzo IP per il cluster:
In Indirizzo IP, inserisci 0.0.0.0/0.
Per l'ambiente di produzione, seleziona l'indirizzo IP appropriato per quell'ambiente.
(Facoltativo) In Descrizione, inserisci una descrizione del cluster.
Fai clic su Aggiungi voce.
Fai clic su Fine e chiudi.
Connessione al tuo cluster
Dopo aver configurato l'accesso al cluster, devi connetterti al cluster. Per informazioni dettagliate su come connetterti al cluster, consulta Connettersi al cluster nella documentazione di MongoDB.
Per connetterti al cluster:
- Nell'interfaccia utente di Atlas, nella pagina Deployment del database, individua il cluster appena di cui hai eseguito il deployment.
- Seleziona Connetti.
- Nella pagina Connetti, fai clic sull'opzione Bussola.
Individua il campo Copia la stringa di connessione, quindi copia e salva la stringa di connessione MongoDB. Utilizza questa stringa di connessione durante l'esecuzione dei modelli Dataflow.
La stringa di connessione ha la seguente sintassi:
mongodb+srv://<UserName>:<Password>@<HostName>
La stringa di connessione contiene automaticamente il nome utente dell'utente del database che hai creato nel passaggio precedente. Tuttavia, ti verrà chiesta la password dell'utente del database quando utilizzi questa stringa per la connessione.
Fai clic su Chiudi.
Creare un set di dati in BigQuery
Quando crei un set di dati in BigQuery, devi solo inserire un nome e selezionare una posizione geografica per il set di dati. Tuttavia, esistono campi facoltativi che puoi impostare nel set di dati. Per ulteriori informazioni su questi campi facoltativi, consulta Creare set di dati.
Nella console Google Cloud, vai alla pagina BigQuery.
Nel riquadro Explorer, seleziona il progetto in cui vuoi creare il set di dati.
Espandi l'opzione
e fai clic su Crea set di dati.Nella pagina Crea set di dati:
- In ID set di dati, inserisci un nome univoco del set di dati.
Per Tipo di località, scegli una posizione geografica per il set di dati. Una volta creato un set di dati, la posizione non può essere modificata.
Se scegli
EU
o una regione dell'UE per la località del set di dati, i dati dei clienti BigQuery di base si trovano nell'UE. Per una definizione dei dati dei clienti di BigQuery di base, consulta i Termini specifici del servizio.Fai clic su Crea set di dati.
Creare, monitorare e convalidare un job batch Dataflow
In Dataflow, segui le istruzioni riportate di seguito per creare un job batch una tantum che carichi i dati di esempio da MongoDB a BigQuery. Dopo aver creato il job batch, monitora l'avanzamento del job nell'interfaccia di monitoraggio di Dataflow. Per informazioni dettagliate sull'utilizzo dell'interfaccia di monitoraggio, consulta Utilizzare l'interfaccia di monitoraggio di Dataflow.
Nella console Google Cloud, vai alla pagina Dataflow.
Fai clic su Crea job da modello.
Nella pagina Crea job da modello, segui questi passaggi:
- In Nome job, inserisci un nome univoco per il job, ad esempio mongodb-to-bigquery-batch. Assicurati che non sia in esecuzione nessun altro job Dataflow con lo stesso nome nel progetto.
- Per Endpoint regionale, seleziona la stessa posizione del set di dati BigQuery appena creato.
- In Modello Dataflow, nell'elenco Elabora i dati collettivamente (batch), seleziona MongoDB a BigQuery.
Nella sezione Parametri obbligatori, inserisci i seguenti parametri:
- In URI di connessione MongoDB, inserisci la stringa di connessione MongoDB di Atlas.
- Per Database Mongo, inserisci il nome del database che hai creato in precedenza.
- Per la raccolta Mongo, inserisci il nome della raccolta di esempio che hai annotato in precedenza.
- Per la tabella di destinazione BigQuery, fai clic su Sfoglia e poi seleziona la tabella BigQuery che hai creato nel passaggio precedente.
Per l'opzione utente, inserisci NESSUNO o APPIATTISCI.
NESSUNO caricherà l'intero documento in formato stringa JSON in BigQuery. FLATTEN appiattisce il documento su un unico livello. Se non fornisci una UDF, l'opzione FLATTEN funziona solo con i documenti che hanno uno schema fisso.
Per avviare il job, fai clic su Esegui job.
Per aprire l'interfaccia di monitoraggio di Dataflow, dove puoi controllare l'avanzamento del job batch e verificare che venga completato senza errori:
- Nella console Google Cloud, apri il menu di navigazione nel progetto per questa implementazione.
- In Analytics, fai clic su Dataflow.
Dopo l'esecuzione della pipeline, procedi nel seguente modo per convalidare l'output della tabella:
- In BigQuery, apri il riquadro Explorer.
Espandi il progetto, fai clic sul set di dati e poi fai doppio clic sulla tabella.
Ora dovresti essere in grado di visualizzare i dati di MongoDB nella tabella.
Esegui la pulizia
Per evitare che al tuo account MongoDB e Google Cloud vengano addebitati costi, devi mettere in pausa o terminare il cluster MongoDB Atlas ed eliminare il progetto Google Cloud che hai creato per questa architettura di riferimento.
Mettere in pausa o terminare il cluster MongoDB Atlas
La procedura riportata di seguito fornisce le nozioni di base per mettere in pausa il cluster. Per tutti i dettagli, consulta Mettere in pausa, riprendere o terminare un cluster nella documentazione di MongoDB.
- Nell'interfaccia utente di Atlas, vai alla pagina Deployment di database per il tuo progetto Atlas.
- Per il cluster che vuoi mettere in pausa, fai clic su .
- Fai clic su Metti in pausa il cluster.
- Fai clic su Metti in pausa il cluster per confermare la tua scelta.
Elimina il progetto
- 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.
Passaggi successivi
- Trova i modelli Google Dataflow su GitHub se vuoi personalizzarli.
- Scopri di più sulle soluzioni MongoDB Atlas e Google Cloud su Cloud Skill Boost.
- Scopri di più sui prodotti Google Cloud utilizzati in questa architettura di riferimento:
- Per altre architetture di riferimento, diagrammi e best practice, visita il Cloud Architecture Center.
Collaboratori
Autori:
- Saurabh Kumar | ISV Partner Engineer
- Venkatesh Shanbhag | Senior Solutions Architect (MongoDB)
Altri collaboratori:
- Jun Liu | Tech Lead per l'assistenzabilità
- Maridi (Raju) Makaraju | Technical Lead per l'idoneità all'assistenza
- Sergei Lilichenko | Solutions Architect
- Shan Kulandaivel | Group Product Manager