Zu Firestore mit MongoDB-Kompatibilität migrieren

In dieser Anleitung wird Schritt für Schritt beschrieben, wie Sie Ihre MongoDB-kompatible Quelldatenbank mit minimalen Ausfallzeiten zu einer Firestore-Datenbank mit MongoDB-Kompatibilität migrieren.

Migrationsvorgang

Der Migrationsprozess umfasst die folgenden Phasen:

  1. Vorbereitung: Sie erstellen Ressourcen, die für die Migration erforderlich sind, und richten Umgebungsvariablen ein, die zum Ausführen von Befehlen in späteren Phasen des Migrationsprozesses verwendet werden.

  2. Aus der MongoDB-kompatiblen Quelldatenbank importieren: Sie verwenden den Datastream-Dienst, um den Inhalt Ihrer MongoDB-kompatiblen Quelldatenbank zu erfassen und in einen Cloud Storage-Bucket zu übertragen.

  3. Daten in eine Firestore mit MongoDB-Kompatibilität-Datenbank schreiben: Sie verwenden den Dataflow-Dienst, um Daten aus dem Cloud Storage-Bucket in eine Firestore mit MongoDB-Kompatibilität-Datenbank zu übertragen.

    Diese Dataflow-Pipeline wird gleichzeitig mit dem Datastream-Stream ausgeführt, der Daten aus der MongoDB-kompatiblen Quelldatenbank abruft.

  4. Traffic zu Firestore migrieren: An der entsprechenden Stelle im Verfahren migrieren Sie den Lese- und Schreibtraffic Ihrer Anwendung zur Firestore-Datenbank mit MongoDB-Kompatibilität und beenden die Migrationspipeline.

Das folgende Diagramm fasst den Migrationsprozess zusammen:

Architektur der Streamingdatenmigration

Ihre MongoDB-kompatible Quelldatenbank bleibt während der Datenübertragung im Bereitstellungsstatus:

  • Beim Datastream-Prozess werden sowohl inaktive Daten als auch Änderungsereignisse erfasst.
  • Es wird eine kurze Zeit der teilweisen Nichtverfügbarkeit geben, in der Sie den Schreibtraffic für Ihre Quelldatenbank beenden müssen. Während dieses Zeitraums wird der Rest der Änderungsereignisse in Firestore repliziert.

  • Nach Abschluss der Replikation kann die Firestore-Datenbank mit MongoDB-Kompatibilität die neue „Source of Truth“ für Ihren Anwendungs-Workload werden. Der gesamte Lese- und Schreibtraffic kann an die neue Datenbank weitergeleitet werden.

Detaillierte Migrationsschritte

In diesem Abschnitt wird die Migration genauer beschrieben.

Mit dem Datastream-Dienst wird ein Stream zwischen einer Quelle und einem Ziel erstellt. In diesem Fall ist die Quelle Ihre aktuelle MongoDB-kompatible Bereitstellung und das Ziel Cloud Storage. Dieser Prozess umfasst die folgenden Schritte:

  1. Erstellen Sie ein Datastream-Quellverbindungsprofil für Ihre Mongo-Quelle. Die genaue Anleitung hängt vom Typ und der Bereitstellung Ihrer MongoDB-kompatiblen Quelle ab.

  2. Erstellen Sie einen Cloud Storage-Bucket, in dem die Daten und Änderungsereignisse aus Ihrer MongoDB-kompatiblen Quelldatenbank empfangen werden.

  3. Zielverbindungsprofil für Datastream erstellen, in dem dieser Cloud Storage-Bucket verwendet wird.

  4. Erstellen und aktivieren Sie einen Datastream-Stream, der das Quellverbindungsprofil mit dem Zielverbindungsprofil verbindet.

  5. Starten Sie eine Dataflow-Pipeline, um die erfassten Daten in Ihre Firestore-Datenbank mit MongoDB-Kompatibilität zu übertragen.

  6. Stream überwachen: So können Sie wichtige Meilensteine im Migrationsprozess identifizieren und feststellen, ob während der Datenübertragung Fehler aufgetreten sind.

  7. Beenden Sie den Schreibzugriff auf die Quelldatenbank, wenn dies angebracht ist. Nachdem alle Daten, einschließlich der letzten Änderungen, in die Firestore-Datenbank mit MongoDB-Kompatibilität repliziert wurden, leiten Sie den Lesetraffic an das neue Ziel um.

  8. Schreibvorgänge für Ihre Firestore-Datenbank mit MongoDB-Kompatibilität aktivieren.

Codebeispiele

Die Codebeispiele in diesem Leitfaden sind so konzipiert, dass sie nacheinander ausgeführt werden. In diesem Leitfaden wird davon ausgegangen, dass Sie Ihre Umgebung konfigurieren, indem Sie alle Umgebungsvariablen im Voraus einrichten. Anschließend führen Sie die für die Migration erforderlichen Befehle aus, die die bereits konfigurierten Umgebungsvariablen verwenden. Wir empfehlen, diesen Ansatz zu verwenden. Da viele Befehle dieselben Umgebungsvariablen verwenden, können Sie das Risiko von Fehlern zwischen den verschiedenen Phasen des Migrationsprozesses verringern.

Alternativ können Sie die Variablen in den Befehlsbeispielen durch dieselben Werte ersetzen, die Sie für die entsprechenden Umgebungsvariablen festgelegt haben.

Beschränkungen

Bevor Sie beginnen, sollten Sie sich die Unterschiede zwischen Firestore mit MongoDB-Kompatibilität und MongoDB ansehen. Achten Sie besonders auf Folgendes:

Wenn Ihre Daten nicht den Einschränkungen in den oben genannten Kategorien entsprechen:

  • Wir empfehlen, diese Bedingungen in Ihrem Dataset zu berücksichtigen, bevor Sie mit der Migration beginnen.

  • Wenn Sie ohne Änderungen fortfahren, können Dokumente, die von den Einschränkungen betroffen sind, nicht in Firestore geschrieben werden und werden aussortiert. Sie können entscheiden, wie diese Dokumente behandelt werden müssen. Wenn sie in unterstützte Typen, Werte oder Größen konvertiert werden, können sie noch einmal verarbeitet werden.

Für Datastream gelten die folgenden Anforderungen:

  • Die von Datastream unterstützte Mindestversion von MongoDB ist 4.0. Für einige Nebenversionen gibt es unterstützte Mindestpatchversionen:

    • 4.0.21
    • 4.2.10
    • 4.4.2
  • Ihr MongoDB-Cluster muss Änderungsstreams unterstützen. Ihre MongoDB-Bereitstellung muss als Replikatset oder fragmentierter Cluster konfiguriert sein, damit Change Streams aktiviert werden können.

Nächste Schritte

Fahren Sie mit Ressourcen für die Migration konfigurieren fort.