Freigeben über


Offlinemigration von MongoDB zu Azure Cosmos DB for MongoDB vCore mithilfe nativer MongoDB-Tools

GILT FÜR: MongoDB-vCore

In diesem Tutorial verwenden Sie native MongoDB-Tools, um eine (einmalige) Offlinemigration einer Datenbank aus einer lokalen oder cloudbasierten MongoDB-Instanz zu Azure Cosmos DB for MongoDB vCore durchzuführen. Bei den nativen MongoDB-Tools handelt es sich um Binärdateien zur Vereinfachung der Datenbearbeitung für eine vorhandene MongoDB-Instanz. Der Schwerpunkt dieses Dokuments liegt auf der Migration von Daten aus einer MongoDB-Instanz mithilfe von mongoexport/mongoimport oder mongodump/mongorestore. Da die nativen Tools die Verbindung mit MongoDB über Verbindungszeichenfolgen herstellen, können Sie die Tools überall ausführen. Die nativen Tools können die einfachste Lösung für kleine Datasets darstellen, bei denen die Migrationszeit insgesamt keine große Rolle spielt.

Voraussetzungen

Vorbereiten

Stellen Sie vor Beginn der Migration sicher, dass Sie Ihr Azure Cosmos DB for MongoDB vCore-Konto und Ihre vorhandene MongoDB-Instanz für die Migration vorbereitet haben.

  • MongoDB-Instanz (Quelle)
    • Führen Sie die Bewertung vor der Migration aus, um festzustellen, ob eine Reihe von Inkompatibilitäten und Warnungen zwischen Ihrer Quellinstanz und dem Zielkonto vorliegt.
    • Stellen Sie sicher, dass Ihre nativen MongoDB-Tools der Version der vorhandenen MongoDB-Instanz (Quelle) entsprechen.
      • Sollte sich die Version Ihrer MongoDB-Instanz von der Azure Cosmos DB for MongoDB vCore-Version unterscheiden, installieren Sie beide Versionen der nativen MongoDB-Tools, und verwenden Sie die jeweilige Toolversion für MongoDB bzw. Azure Cosmos DB for MongoDB vCore.
    • Fügen Sie einen Benutzer mit Berechtigungen vom Typ readWrite hinzu, sofern noch keiner vorhanden ist. Sie verwenden diese Anmeldeinformationen letztlich mit den Tools mongoexport und mongodump.
  • Azure Cosmos DB for MongoDB vCore (Ziel)

Tipp

Es wird empfohlen, diese Tools in demselben Netzwerk wie die MongoDB-Instanz auszuführen, um weitere Firewallprobleme zu vermeiden.

Auswählen des passenden nativen MongoDB-Tools

Es gibt einige allgemeine Überlegungen zur Auswahl des richtigen nativen MongoDB-Tools für Ihre Offlinemigration.

Durchführen der Migration

Migrieren Sie eine Sammlung aus der Quell-MongoDB-Instanz mit Ihrem bevorzugten nativen Tool zum Azure Cosmos DB for MongoDB vCore-Zielkonto. Weitere Informationen zur Auswahl eines Tools finden Sie unter Native MongoDB-Tools.

Tipp

Wenn Sie einfach nur eine kleine JSON-Datei in Azure Cosmos DB for MongoDB vCore importieren möchten, können Sie das Tool mongoimport zur schnellen Erfassung der Daten verwenden.

  1. Öffnen Sie ein Terminal, und verwenden Sie eine beliebige der hier aufgeführten drei Methoden, um die Daten aus der MongoDB-Quellinstanz zu exportieren.

    • Geben Sie die Argumente --host, --username und --password an, um eine Verbindung herzustellen und JSON-Datensätze zu exportieren.

      mongoexport \
          --host <hostname><:port> \
          --username <username> \
          --password <password> \
          --db <database-name> \
          --collection <collection-name> \
          --out <filename>.json
      
    • Exportieren Sie eine Teilmenge der MongoDB-Daten, indem Sie ein --query-Argument hinzufügen. Dieses Argument stellt sicher, dass das Tool nur Dokumente exportiert, die dem Filter entsprechen.

      mongoexport \
          --host <hostname><:port> \
          --username <username> \
          --password <password> \
          --db <database-name> \
          --collection <collection-name> \
          --query '{ "quantity": { "$gte": 15 } }' \
          --out <filename>.json
      
    • Exportieren Sie Daten aus Azure Cosmos DB for MongoDB vCore.

      mongoexport \
          --uri <target-connection-string>
          --db <database-name> \
          --collection <collection-name> \
          --query '{ "quantity": { "$gte": 15 } }' \
          --out <filename>.json
      
  2. Importieren Sie die zuvor exportierte Datei in das Azure Cosmos DB for MongoDB vCore-Zielkonto.

    mongoimport \
        --file <filename>.json \
        --type json \
        --db <database-name> \
        --collection <collection-name> \
        --ssl \
        --uri <target-connection-string>
    
  3. Überwachen Sie die Terminalausgabe von mongoimport. Die Ausgabe im Terminal besteht aus Textzeilen mit Aktualisierungen zum Status des Importvorgangs.

Nächster Schritt