Поделиться через


Перенос MongoDB в Azure Cosmos DB для виртуальных ядер MongoDB в автономном режиме с помощью собственных средств MongoDB

Область применения: Виртуальные ядра MongoDB

В этом руководстве вы используете собственные средства MongoDB для выполнения автономной (однократной) миграции базы данных из локального или облачного экземпляра MongoDB в Azure Cosmos DB для виртуальных ядер MongoDB. Нативные средства MongoDB — это набор двоичных файлов, упрощающих обработку данных в существующем экземпляре MongoDB. В этом документе основное внимание уделяется переносу данных из экземпляра MongoDB с помощью mongoexport/mongoimport или mongodump/mongorestore. Так как собственные средства подключаются к MongoDB с помощью строка подключения, вы можете запускать средства в любом месте. Собственные средства могут быть самым простым решением для небольших наборов данных, где общее время миграции не является проблемой.

Необходимые компоненты

Подготовить

Перед началом миграции убедитесь, что вы подготовили учетную запись Azure Cosmos DB для виртуального ядра MongoDB и существующий экземпляр MongoDB для миграции.

  • Экземпляр MongoDB (источник)
    • Выполните оценку предварительной подготовки, чтобы определить, есть ли список несовместимости и предупреждений между исходным экземпляром и целевой учетной записью.
    • Убедитесь, что собственные средства MongoDB соответствуют той же версии, что и существующий (исходный) экземпляр MongoDB.
      • Если экземпляр MongoDB имеет другую версию, отличную от версии Azure Cosmos DB для виртуального ядра MongoDB, установите обе версии собственного средства MongoDB и используйте соответствующую версию средства для MongoDB и Azure Cosmos DB для виртуальных ядер MongoDB соответственно.
    • Добавить пользователя с разрешениями readWrite (при его отсутствии). В конечном итоге эти учетные данные используются с инструментами mongoexport и mongodump .
  • Azure Cosmos DB для виртуальных ядер MongoDB (целевой)

Совет

Рекомендуется запускать эти средства в той же сети, что и экземпляр MongoDB, чтобы избежать дополнительных проблем брандмауэра.

Выбор надлежащего нативного средства MongoDB

При выборе правильного собственного средства MongoDB для автономной миграции существуют некоторые общие рекомендации.

Выполнение миграции

Перенос коллекции из исходного экземпляра MongoDB в целевую учетную запись Azure Cosmos DB для виртуального ядра MongoDB с помощью предпочтительного собственного средства. Дополнительные сведения о выборе инструмента см . в собственных инструментах MongoDB

Совет

Если у вас просто есть небольшой JSON-файл, который вы хотите импортировать в Azure Cosmos DB для виртуальных ядер MongoDB, средство mongoimport — это быстрое решение для приема данных.

  1. Чтобы экспортировать данные из исходного экземпляра MongoDB, откройте терминал и используйте любой из трех методов, перечисленных здесь.

    • --hostУкажите аргументы --usernameдля --password подключения и экспорта записей JSON.

      mongoexport \
          --host <hostname><:port> \
          --username <username> \
          --password <password> \
          --db <database-name> \
          --collection <collection-name> \
          --out <filename>.json
      
    • Экспорт подмножества данных MongoDB путем добавления аргумента --query . Этот аргумент гарантирует, что средство экспортирует только документы, соответствующие фильтру.

      mongoexport \
          --host <hostname><:port> \
          --username <username> \
          --password <password> \
          --db <database-name> \
          --collection <collection-name> \
          --query '{ "quantity": { "$gte": 15 } }' \
          --out <filename>.json
      
    • Экспорт данных из Azure Cosmos DB для виртуальных ядер MongoDB.

      mongoexport \
          --uri <target-connection-string>
          --db <database-name> \
          --collection <collection-name> \
          --query '{ "quantity": { "$gte": 15 } }' \
          --out <filename>.json
      
  2. Импортируйте ранее экспортируемый файл в целевую учетную запись виртуального ядра Azure Cosmos DB для MongoDB.

    mongoimport \
        --file <filename>.json \
        --type json \
        --db <database-name> \
        --collection <collection-name> \
        --ssl \
        --uri <target-connection-string>
    
  3. Отслеживайте выходные данные терминала из mongoimport. Выходные данные печатают строки текста в терминал с обновлениями состояния операции импорта.

Следующий шаг