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


Перенос MongoDB в Azure DocumentDB в автономном режиме с помощью собственных средств MongoDB

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

Предпосылки

  • Существующий кластер Azure DocumentDB

Подготовьте

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

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

Подсказка

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

Выбор соответствующего встроенного инструмента MongoDB

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

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

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

Подсказка

Если у вас просто есть небольшой JSON-файл, который вы хотите импортировать в Azure DocumentDB, средство 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 DocumentDB.

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

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

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