In diesem Dokument wird beschrieben, wie Sie Datentransformation zwischen MongoDB Atlas und Google Cloud bereitstellen. In diesem Dokument stellen Sie einen ETL-Prozess (Extrahieren, Transformieren und Laden) zwischen Daten aus MongoDB Atlas in BigQuery bereit.
Diese Anleitung richtet sich an Datenadministratoren, die BigQuery verwenden möchten, um komplexe Analysen der in MongoDB Atlas gespeicherten Betriebsdaten durchzuführen. Sie sollten mit MongoDB Atlas, BigQuery und Dataflow vertraut sein.
Architektur
Das folgende Diagramm zeigt die Referenzarchitektur, die Sie beim Bereitstellen dieser Lösung verwenden.
Wie im Diagramm dargestellt, gibt es drei Dataflow-Vorlagen, die den Integrationsprozess verarbeiten. Die erste Vorlage, MongoDB für BigQuery, ist eine Batchpipeline, die Dokumente aus MongoDB liest und in BigQuery schreibt. Die zweite Vorlage, BigQuery für MongoDB, ist eine Batchvorlage, mit der die analysierten Daten aus BigQuery gelesen und in MongoDB geschrieben werden können. Die dritte Vorlage, MongoDB für BigQuery (CDC), ist eine Streamingpipeline, die mit MongoDB-Änderungsstreams Änderungen in den Betriebsdaten verarbeitet. Weitere Informationen finden Sie unter Datentransformation zwischen MongoDB Atlas und Google Cloud.
Lernziele
In den folgenden Bereitstellungsschritten wird gezeigt, wie Sie mit der Vorlage MongoDB für BigQuery den ETL-Prozess zwischen Daten aus MongoDB Atlas und BigQuery ausführen. Führen Sie zum Bereitstellen dieses ETL-Prozesses die folgenden Aufgaben aus:
- Stellen Sie einen MongoDB Atlas-Cluster in Google Cloud bereit.
- Laden Sie Daten in den MongoDB-Cluster.
- Konfigurieren Sie den Clusterzugriff.
- Richten Sie eine BigQuery-Tabelle in Google Cloud ein.
- Erstellen und beobachten Sie den Dataflow-Job, der die MongoDB-Daten in BigQuery überträgt.
- Ausgabetabellen in BigQuery validieren
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Nach Abschluss der in diesem Dokument beschriebenen Aufgaben können Sie weitere Kosten vermeiden, indem Sie die erstellten Ressourcen löschen. Weitere Informationen finden Sie unter Bereinigen.
Hinweise
Führen Sie die folgenden Schritte aus, um eine Umgebung für Ihre Architektur von MongoDB zu BigQuery einzurichten.
- 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.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Enable the BigQuery and Dataflow APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Enable the BigQuery and Dataflow APIs.
MongoDB Atlas installieren
In diesem Abschnitt verwenden Sie:Cloud Marketplace um eine MongoDB Atlas-Instanz zu installieren. In dieser Anleitung wird davon ausgegangen, dass Sie kein vorhandenes MongoDB-Konto haben. Ausführliche Informationen zum Einrichten eines Abos und zum Verknüpfen Ihres Google-Rechnungskontos mit Ihrem MongoDB-Konto finden Sie in der MongoDB-Dokumentation unter Google Cloud Self-Service Marketplace.
- Maximieren Sie in der Google Cloud Console das Navigationsmenü und wählen Sie Marketplace aus.
- Geben Sie im Marketplace-Suchfeld MongoDB Atlas ein.
- Wählen Sie in den Suchergebnissen MongoDB Atlas (Pay as you go) aus.
- Lesen Sie auf der Seite MongoDB Atlas (Pay as you go) die Übersicht über die Nutzungsbedingungen und klicken Sie auf Mit MongoDB registrieren.
- Wählen Sie auf der MongoDB-Aboseite Ihr Rechnungskonto aus, akzeptieren Sie die Bedingungen und klicken Sie auf Abonnieren.
- Klicken Sie auf die Schaltfläche Mit MongoDB registrieren und erstellen Sie ein MongoDB-Konto.
- Wählen Sie auf der Seite, auf der Sie zur Auswahl einer Organisation aufgefordert werden, die MongoDB-Organisation aus, mit der Ihr Google Cloud-Rechnungskonto verknüpft werden soll.
- Warten Sie, bis Google Cloud die Synchronisierung Ihrer Organisation abgeschlossen hat.
Wenn die Konten synchronisiert werden, wird in der Google Cloud Console auf der Seite MongoDB Atlas (Pay as you go) die Schaltfläche Bei Anbieter verwalten aktualisiert. eine
MongoDB Atlas-Cluster erstellen
In diesem Abschnitt erstellen Sie einen MongoDB-Cluster. Bei der Erstellung wählen Sie die folgenden Informationen aus:
- Ihr Clustertyp. Wählen Sie basierend auf Ihren Infrastrukturanforderungen die Clusterstufe aus.
- Die bevorzugte Region für Ihren Cluster. Wir empfehlen, die Region auszuwählen, die Ihrem Standort am nächsten ist.
Weitere Informationen zum Erstellen und Bereitstellen eines kostenlosen MongoDB-Clusters finden Sie unter Kostenlosen Cluster bereitstellen in der MongoDB-Dokumentation.
So erstellen Sie Ihren Cluster und richten ihn ein:
- Klicken Sie in der Google Cloud Console auf der Seite MongoDB Atlas (Pay as you go) auf Verwalten beim Anbieter.
Klicken Sie auf der MongoDB-Anmeldeseite auf Google und dann auf das Google-Konto, mit dem Sie MongoDB Atlas installiert haben.
Als neuer Nutzer wird die MongoDB-UI automatisch auf der Seite Datenbankbereitstellungen geöffnet.
Klicken Sie in der Atlas-Benutzeroberfläche auf der Seite Datenbankbereitstellungen auf Erstellen.
Klicken Sie auf der Seite Cluster erstellen auf Freigegeben.
Die Option Freigegeben bietet einen kostenlosen Cluster, mit dem Sie diese Referenzarchitektur testen können.
Gehen Sie auf der Seite Freigegebenen Cluster erstellen im Abschnitt Cloudanbieter und Region so vor:
- Wählen Sie Google Cloud aus.
- Wählen Sie die Region aus, die Ihnen geografisch am nächsten liegt und die gewünschten Merkmale hat.
Wählen Sie im Bereich Clusterstufe die Option M0 aus.
M0
-Cluster sind kostenlos und eignen sich für kleine Proof of Concept-Anwendungen.Geben Sie unter Clustername einen Namen für den Cluster ein.
Klicken Sie auf Cluster erstellen, um den Cluster bereitzustellen.
MongoDB-Cluster einrichten
In diesem Abschnitt führen Sie die folgenden Schritte aus:
- Beispieldaten in den Cluster laden
- Zugriff auf den Cluster konfigurieren.
- Verbindung zum Cluster herstellen
Beispieldaten in den MongoDB-Cluster laden
Nachdem Sie einen MongoDB-Cluster erstellt haben, müssen Sie Daten in diesen Cluster laden. MongoDB lädt eine Vielzahl von Beispiel-Datasets. Sie können eines dieser Datasets verwenden, um diese Bereitstellung zu testen. Sie können jedoch auch ein Dataset verwenden, das den tatsächlichen Daten ähnelt, die Sie in Ihrer Produktionsbereitstellung verwenden.
Weitere Informationen zum Laden der Beispieldaten finden Sie unter Beispieldaten laden in der MongoDB-Dokumentation.
So laden Sie die Beispieldaten:
- Suchen Sie in der Atlas-Benutzeroberfläche auf der Seite Datenbankbereitstellungen den Cluster, den Sie gerade bereitgestellt haben.
Klicken Sie auf die Ellipsen (...)-Schaltfläche und dann auf Beispiel-Dataset laden.
Das Laden der Beispieldaten dauert etwa fünf Minuten.
Überprüfen Sie die Beispiel-Datasets und notieren Sie sich, welche Sammlung Sie beim Testen dieser Bereitstellung verwenden möchten.
Clusterzugriff konfigurieren
Zum Verbinden des Clusters müssen Sie sowohl einen Datenbanknutzer erstellen als auch die IP-Adresse für den Cluster festlegen:
- Der Datenbanknutzer wird vom MongoDB-Nutzer getrennt. Sie benötigen den Datenbanknutzer, um von Google Cloud eine Verbindung zu MongoDB herzustellen.
- In dieser Referenzarchitektur verwenden Sie den CIDR-Block von
0.0.0.0/0
als IP-Adresse. Dieser CIDR-Block ermöglicht den Zugriff von überall und ist nur für eine Proof of Concept-Bereitstellung wie diese geeignet. Wenn Sie jedoch eine Produktionsversion dieser Architektur bereitstellen, müssen Sie einen geeigneten IP-Adressbereich eingeben, der für Ihre Anwendung geeignet ist.
Weitere Informationen zum Einrichten eines Datenbanknutzers und der IP-Adresse für Ihren Cluster finden Sie in der MongoDB-Dokumentation unter Clusterzugriff mit dem Schnellstart konfigurieren.
So konfigurieren Sie den Clusterzugriff:
- Klicken Sie im linken Navigationsbereich unter Sicherheit auf Kurzanleitung.
- Führen Sie auf der Seite Nutzername und Passwort die folgenden Schritte aus, um den Datenbanknutzer zu erstellen:
- Geben Sie unter Nutzername den Namen für den Datenbanknutzer ein.
- Geben Sie unter Passwort das Passwort für den Datenbanknutzer ein.
- Klicken Sie auf Create User (Nutzer erstellen).
So fügen Sie auf der Seite Nutzername und Passwort eine IP-Adresse für den Cluster hinzu:
Geben Sie unter IP-Adresse den Wert 0.0.0.0/0 ein.
Wählen Sie für Ihre Produktionsumgebung die für diese Umgebung geeignete IP-Adresse aus.
(Optional) Geben Sie unter Beschreibung eine Beschreibung des Clusters ein.
Klicken Sie auf Eintrag hinzufügen.
Klicken Sie auf Beenden und schließen.
Mit dem Cluster verbinden
Wenn der Zugriff auf den Cluster konfiguriert ist, müssen Sie jetzt eine Verbindung zum Cluster herstellen. Weitere Informationen zum Herstellen einer Verbindung zu Ihrem Cluster finden Sie in der MongoDB-Dokumentation unter Mit dem Cluster verbinden.
Führen Sie die folgenden Schritte aus, um eine Verbindung zum Cluster herzustellen:
- Suchen Sie in der Atlas-Benutzeroberfläche auf der Seite Datenbankbereitstellungen den Cluster, den Sie gerade bereitgestellt haben.
- Wählen Sie Verbinden aus.
- Klicken Sie auf der Seite Verbinden auf die Option Kompass.
Suchen Sie das Feld Verbindungsstring kopieren und kopieren und speichern Sie dann den MongoDB-Verbindungsstring. Sie verwenden diesen Verbindungsstring, während Sie die Dataflow-Vorlagen ausführen.
Der Verbindungsstring hat die folgende Syntax:
mongodb+srv://<UserName>:<Password>@<HostName>
Der Verbindungsstring enthält automatisch den Nutzernamen des Datenbanknutzers, den Sie im vorherigen Schritt erstellt haben. Sie werden jedoch aufgefordert, das Passwort des Datenbanknutzers einzugeben, wenn Sie diesen String zum Herstellen einer Verbindung verwenden.
Klicken Sie auf Schließen.
Dataset in BigQuery erstellen
Wenn Sie ein Dataset in BigQuery erstellen, müssen Sie nur den Namen eines Datasets eingeben und einen geografischen Standort für das Dataset auswählen. Es gibt jedoch optionale Felder, die Sie für Ihr Dataset festlegen können. Weitere Informationen zu diesen optionalen Feldern finden Sie unter Datasets erstellen.
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Wählen Sie im Bereich Explorer das Projekt aus, in dem Sie das Dataset erstellen möchten.
Maximieren Sie die Option
und klicken Sie auf Dataset erstellen.Führen Sie auf der Seite Dataset erstellen die folgenden Schritte aus:
- Geben Sie als Dataset-ID einen eindeutigen Dataset-Namen ein.
Wählen Sie unter Standorttyp einen geografischen Standort für das Dataset aus. Nachdem ein Dataset erstellt wurde, kann der Standort nicht mehr geändert werden.
Wenn Sie als Dataset-Standort
EU
oder eine Region in der EU auswählen, werden Ihre grundlegenden BigQuery-Kundendaten in der EU gespeichert. Eine Definition der wichtigsten BigQuery-Kundendaten finden Sie unter Dienstspezifische Nutzungsbedingungen.Klicken Sie auf Dataset erstellen.
Dataflow-Batchjob erstellen, überwachen und validieren
In Dataflow verwenden Sie die folgenden Anleitungen, um einen einmaligen Batchjob zu erstellen, der die Beispieldaten von MongoDB in BigQuery lädt. Nachdem Sie den Batchjob erstellt haben, überwachen Sie den Fortschritt des Jobs in der Dataflow-Überwachungsoberfläche. Ausführliche Informationen zur Verwendung der Monitoring-Oberfläche finden Sie unter Dataflow-Monitoring-Oberfläche verwenden.
Öffnen Sie in der Google Cloud Console die Seite Dataflow.
Klicken Sie auf Job aus Vorlage erstellen.
Führen Sie auf der Seite Job aus Vorlage erstellen die folgenden Schritte aus:
- Geben Sie für Job name (Jobname) einen eindeutigen Jobnamen ein, z. B. mongodb-to-bigquery-batch. Achten Sie darauf, dass in diesem Projekt kein anderer Dataflow-Job mit diesem Namen ausgeführt wird.
- Wählen Sie für Regionaler Endpunkt denselben Standort wie für das soeben erstellte BigQuery-Dataset aus.
- Wählen Sie für die Dataflow-Vorlage in der Liste Daten im Bulk verarbeiten (Batch) die Option MongoDB für BigQuery aus.
Geben Sie im Abschnitt Erforderliche Parameter die folgenden Parameter ein:
- Geben Sie unter MongoDB Connection URI den MongoDB-Verbindungsstring Atlas ein.
- Geben Sie unter Mongo-Datenbank den Namen der Datenbank ein, die Sie zuvor erstellt haben.
- Geben Sie unter Mongo-Sammlung den Namen der Beispielsammlung ein, die Sie zuvor notiert haben.
- Klicken Sie für die BigQuery-Zieltabelle auf Durchsuchen und wählen Sie die BigQuery-Tabelle aus, die Sie im vorherigen Schritt erstellt haben.
Geben Sie für die Nutzeroption entweder NONE oder FLATTEN ein.
NONE lädt das gesamte Dokument im JSON-Stringformat in BigQuery. FLATTEN vereinfacht das Dokument auf eine Ebene. Wenn Sie keine UDF angeben, funktioniert die Option FLATTEN nur mit Dokumenten, die ein festes Schema haben.
Klicken Sie zum Starten des Jobs auf Job ausführen.
Mit den folgenden Schritten öffnen Sie die Dataflow-Monitoring-Oberfläche, mit der Sie den Fortschritt des Batchjobs prüfen und prüfen können, ob der Job fehlerfrei abgeschlossen wurde:
- Öffnen Sie in der Google Cloud Console im Projekt für diese Bereitstellung das Navigationsmenü.
- Klicken Sie in Analytics auf Dataflow.
Wenn die Pipeline erfolgreich ausgeführt wird, gehen Sie so vor, um die Tabellenausgabe zu validieren:
- Öffnen Sie in BigQuery den Bereich Explorer.
Maximieren Sie Ihr Projekt, klicken Sie auf das Dataset und doppelklicken Sie auf die Tabelle.
Sie sollten nun die MongoDB-Daten in der Tabelle sehen können.
Bereinigen
Damit Ihrem MongoDB- und Google Cloud-Konto keine Gebühren in Rechnung gestellt werden, sollten Sie Ihren MongoDB Atlas-Cluster pausieren oder beenden und das Google Cloud-Projekt löschen, das Sie für diese Referenzarchitektur erstellt haben.
MongoDB Atlas-Cluster pausieren oder beenden
Das folgende Verfahren bietet die Grundlagen zum Anhalten des Clusters. Weitere Informationen finden Sie in der MongoDB-Dokumentation unter Cluster pausieren, fortsetzen oder beenden.
- Rufen Sie in der Atlas-Benutzeroberfläche die Seite Datenbankbereitstellungen für Ihr Atlas-Projekt auf.
- Klicken Sie für den Cluster, den Sie pausieren möchten, auf .
- Klicken Sie auf Cluster pausieren.
- Klicken Sie auf Cluster pausieren, um Ihre Auswahl zu bestätigen.
Projekt löschen
- 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.
Nächste Schritte
- Suchen Sie nach Google Dataflow-Vorlagen auf GitHub, wenn Sie die Vorlagen anpassen möchten.
- Weitere Informationen zu MongoDB Atlas- und Google Cloud-Lösungen finden Sie unter Cloud Skill-Boost.
- Mehr über die in dieser Referenzarchitektur verwendeten Google Cloud-Produkte erfahren:
- Weitere Referenzarchitekturen, Diagramme und Best Practices finden Sie im Cloud-Architekturcenter.
Beitragende
Autoren:
- Saurabh Kumar | ISV Partner Engineer
- Venkatesh Shanbhag | Senior Solutions Architect (MongoDB)
Weitere Beitragende:
- Juniu | Supportability Tech Lead
- Maridu Raju Maaraju | Supportability Tech Lead
- Sergei Liigenko | Solutions Architect
- Shan Kulandaivel | Group Product Manage
Melden Sie sich auf LinkedIn an, um nicht öffentliche LinkedIn-Profile zu sehen.