Udostępnij za pośrednictwem


Migrowanie bazy danych MongoDB do usługi Azure Cosmos DB dla rdzeni wirtualnych bazy danych MongoDB w trybie offline przy użyciu narzędzi natywnych bazy danych MongoDB

DOTYCZY: Rdzenie wirtualne bazy danych MongoDB

W tym samouczku użyjesz natywnych narzędzi bazy danych MongoDB do przeprowadzenia migracji bazy danych w trybie offline (jednorazowej) z lokalnego wystąpienia bazy danych MongoDB do usługi Azure Cosmos DB for MongoDB w rdzeniach wirtualnych. Narzędzia natywne bazy danych MongoDB to zestaw plików binarnych, które ułatwiają manipulowanie danymi w istniejącym wystąpieniu bazy danych MongoDB. Ten dokument koncentruje się na migrowaniu danych z wystąpienia bazy danych MongoDB przy użyciu polecenia mongoexport/mongoimport lub mongodump/mongorestore. Ponieważ narzędzia natywne łączą się z bazą danych MongoDB przy użyciu parametry połączenia, możesz uruchamiać narzędzia w dowolnym miejscu. Narzędzia natywne mogą być najprostszym rozwiązaniem dla małych zestawów danych, w których całkowity czas migracji nie jest problemem.

Wymagania wstępne

  • Istniejący klaster usługi Azure Cosmos DB dla rdzeni wirtualnych bazy danych MongoDB.
  • Narzędzia natywne bazy danych MongoDB zainstalowane na maszynie.

Przygotowywanie

Przed rozpoczęciem migracji upewnij się, że masz przygotowane konto rdzeni wirtualnych usługi Azure Cosmos DB dla bazy danych MongoDB i istniejące wystąpienie bazy danych MongoDB na potrzeby migracji.

  • Wystąpienie bazy danych MongoDB (źródło)
    • Ukończ ocenę premii, aby określić, czy istnieje lista niezgodności i ostrzeżeń między wystąpieniem źródłowym a kontem docelowym.
    • Upewnij się, że narzędzia natywne bazy danych MongoDB są zgodne z tą samą wersją co istniejące (źródło) wystąpienie bazy danych MongoDB.
      • Jeśli wystąpienie bazy danych MongoDB ma inną wersję niż rdzeń wirtualny usługi Azure Cosmos DB dla bazy danych MongoDB, zainstaluj odpowiednio wersje narzędzi natywnych bazy danych MongoDB i użyj odpowiedniej wersji narzędzia dla bazy danych MongoDB i usługi Azure Cosmos DB dla rdzenia wirtualnego bazy danych MongoDB.
    • Dodaj użytkownika z uprawnieniami readWrite , chyba że już istnieje. W końcu użyjesz tego poświadczenia z narzędziami mongoexport i mongodump .
  • Usługa Azure Cosmos DB dla rdzeni wirtualnych bazy danych MongoDB (docelowa)

Napiwek

Zalecamy uruchomienie tych narzędzi w tej samej sieci co wystąpienie bazy danych MongoDB, aby uniknąć dalszych problemów z zaporą.

Wybieranie odpowiedniego narzędzia natywnego bazy danych MongoDB

Podczas wybierania odpowiedniego narzędzia natywnego bazy danych MongoDB do migracji w trybie offline należy wziąć pod uwagę pewne ogólne zagadnienia.

Przeprowadzanie migracji

Migrowanie kolekcji ze źródłowego wystąpienia bazy danych MongoDB do docelowego konta rdzenia wirtualnego usługi Azure Cosmos DB dla bazy danych MongoDB przy użyciu preferowanego narzędzia natywnego. Aby uzyskać więcej informacji na temat wybierania narzędzia, zobacz natywne narzędzia mongoDB

Napiwek

Jeśli po prostu masz mały plik JSON, który chcesz zaimportować do usługi Azure Cosmos DB for MongoDB vCore, narzędzie mongoimport to szybkie rozwiązanie do pozyskiwania danych.

  1. Aby wyeksportować dane ze źródłowego wystąpienia bazy danych MongoDB, otwórz terminal i użyj dowolnej z trzech metod wymienionych tutaj.

    • --hostOkreśl argumenty , --usernamei --password , aby nawiązać połączenie z rekordami JSON i wyeksportować je.

      mongoexport \
          --host <hostname><:port> \
          --username <username> \
          --password <password> \
          --db <database-name> \
          --collection <collection-name> \
          --out <filename>.json
      
    • Wyeksportuj podzbiór danych bazy danych MongoDB, dodając --query argument. Ten argument gwarantuje, że narzędzie eksportuje tylko dokumenty zgodne z filtrem.

      mongoexport \
          --host <hostname><:port> \
          --username <username> \
          --password <password> \
          --db <database-name> \
          --collection <collection-name> \
          --query '{ "quantity": { "$gte": 15 } }' \
          --out <filename>.json
      
    • Eksportowanie danych z usługi Azure Cosmos DB dla rdzeni wirtualnych bazy danych MongoDB.

      mongoexport \
          --uri <target-connection-string>
          --db <database-name> \
          --collection <collection-name> \
          --query '{ "quantity": { "$gte": 15 } }' \
          --out <filename>.json
      
  2. Zaimportuj wcześniej wyeksportowany plik do docelowego konta rdzenia wirtualnego usługi Azure Cosmos DB dla bazy danych MongoDB.

    mongoimport \
        --file <filename>.json \
        --type json \
        --db <database-name> \
        --collection <collection-name> \
        --ssl \
        --uri <target-connection-string>
    
  3. Monitoruj dane wyjściowe terminalu z polecenia mongoimport. Dane wyjściowe wyświetlają wiersze tekstu w terminalu z aktualizacjami stanu operacji importowania.

Następny krok