Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:
Mongodb
Это руководство по миграции MongoDB входит в комплект документов, посвященный миграции MongoDB. Критически важные этапы миграции MongoDB — это предварительная миграция, миграция и после миграции.
Общие сведения о переносе данных по сети из MongoDB в Azure Cosmos DB с помощью DMS
С помощью службы миграции баз данных Azure можно выполнить онлайн-миграцию (с минимальным временем простоя) баз данных из локального или облачного экземпляра MongoDB в Azure Cosmos DB для MongoDB.
В этом руководстве описываются действия, связанные с использованием Azure Database Migration Service для переноса данных MongoDB в Azure Cosmos DB:
- Создайте экземпляр Azure Database Migration Service.
- создание проекта миграции;
- указание источника;
- указание целевого объекта;
- Сопоставление с целевыми базами данных.
- Запустите миграцию.
- Мониторинг миграции.
- проверка данных в Azure Cosmos DB;
- Завершите миграцию, когда будете готовы.
В этом руководстве описано, как перенести набор данных в MongoDB, размещенный на виртуальной машине Azure, в Azure Cosmos DB для MongoDB с минимальным временем простоя с помощью Azure Database Migration Service. Если у вас еще не настроен источник MongoDB, обратитесь к разделу Установка и настройка базы данных MongoDB на виртуальной машине Windows в Azure.
Чтобы выполнить онлайн миграцию с помощью Azure Database Migration Service, требуется создать экземпляр в тарифном плане "Премиум".
Внимание
Чтобы процесс миграции был выполнен без проблем, корпорация Майкрософт рекомендует создать экземпляр Azure Database Migration Service в том же регионе Azure, в котором размещена целевая база данных. Перемещение данных между регионами и географическими областями может замедлить миграцию.
Совет
В Службе azure Database Migration Service можно перенести базы данных в автономном режиме или во время их работы в сети. При автономной миграции время простоя приложения начинается при запуске миграции. Чтобы ограничить время простоя, необходимое для перехода к новой среде после миграции, используйте миграцию через Интернет . Мы рекомендуем протестировать автономную миграцию, чтобы определить, допустимо ли время простоя. Если ожидаемое время простоя недопустимо, выполните миграцию по сети.
В этой статье описывается миграция из MongoDB в Azure Cosmos DB для MongoDB. Сведения о автономной миграции см. в руководстве по миграции MongoDB в Azure Cosmos DB для MongoDB в автономном режиме с помощью Azure Database Migration Service.
Предварительные условия
Для работы с этим руководством вам потребуется следующее:
Завершите шаги, которые необходимо выполнить перед миграцией, включая оценку пропускной способности, а также выбор ключа секции и политики индексирования.
Создайте учетную запись Azure Cosmos DB для MongoDB и убедитесь, что включена функция предотвращения ошибок ограничения нормы скорости для операций Azure Cosmos DB для MongoDB.
Примечание.
DmS в настоящее время не поддерживается, если вы переносите учетную запись Azure Cosmos DB для MongoDB, подготовленную с бессерверным режимом.
Создайте виртуальную сеть Microsoft Azure для Azure Database Migration Service с помощью модели развертывания Azure Resource Manager, которая обеспечивает подключение "сеть — сеть" к локальным исходным серверам с помощью ExpressRoute или VPN.
Если вы используете ExpressRoute с пиринговым подключением к сети, управляемой Майкрософт, во время настройки виртуальной сети добавьте в подсеть, в которой будет подготовлена служба, следующие конечные точки:
- Целевая конечная точка базы данных (например, конечная точка SQL, конечная точка Azure Cosmos DB и т. д.)
- конечная точка хранилища
- конечную точку служебной шины.
Такая конфигурация вызвана тем, что у Azure Database Migration Service нет подключения к Интернету.
Убедитесь, что правила группы безопасности сети виртуальной сети (NSG) не блокируют следующие порты связи: 53, 443, 445, 9354 и 10000–20000. Для получения более подробной информации о фильтрации трафика в виртуальной сети с помощью групп безопасности сети (NSG), см. статью Фильтрация сетевого трафика с использованием групп безопасности сети.
Откройте брандмауэр Windows, чтобы разрешить Azure Database Migration Service получить доступ к исходному серверу MongoDB, который по умолчанию является TCP-портом 27017.
При использовании устройства брандмауэра перед исходными базами данных может потребоваться добавить правила брандмауэра, чтобы разрешить Azure Database Migration Service получить доступ к исходным базам данных для миграции.
Настройка повторных попыток в Azure Cosmos DB на стороне сервера для эффективной миграции
Клиенты, которые переходят с MongoDB на Azure Cosmos DB, получают преимущества управления ресурсами, что гарантирует возможность полностью использовать выделенные единицы запроса в секунду (RU/s) пропускной способности. Azure Cosmos DB может ограничивать заданный запрос Службы миграции данных в процессе миграции, если этот запрос превышает предел выделенных RU/с контейнера; тогда запрос нужно повторить. Служба миграции данных способна выполнять повторные попытки, однако время отклика, связанное с сетевым переходом между Службой миграции данных и Azure Cosmos DB, влияет на общее время отклика для этого запроса. Улучшение времени отклика для ограниченных запросов может сократить общее время, необходимое для миграции. Функция повторной попытки на стороне сервера Azure Cosmos DB позволяет службе перехватывать коды ошибок ограничения и повторно отправлять запросы с меньшим временем задержки, значительно улучшая время отклика запросов.
Функцию повторных попыток на стороне сервера можно найти в колонке Функции на портале Azure Cosmos DB.
И если он отключен, рекомендуется включить его, как показано ниже.
Регистрация поставщика ресурсов
Прежде чем создать свой первый экземпляр Службы миграции баз данных, зарегистрируйте поставщика ресурсов Microsoft.DataMigration.
Войдите на портал Azure. Найдите и выберите Подписки.
Выберите подписку, в которой нужно создать экземпляр Azure Database Migration Service, а затем щелкните Поставщики ресурсов.
В поле поиска введите migration, а затем выберите Зарегистрировать для Microsoft.DataMigration.
Создание экземпляра
В портал Azure выберите +Создать ресурс, найдите Azure Database Migration Service и выберите Azure Database Migration Service в раскрывающемся списке.
На экране Azure Database Migration Service выберите Создать.
На экране Создание службы миграции укажите имя службы, подписку и новую или существующую группу ресурсов.
Выберите расположение, в котором нужно создать экземпляр Azure Database Migration Service.
Выберите существующую виртуальную сеть или создайте новую.
Виртуальная сеть предоставляет Azure Database Migration Service доступ к исходному экземпляру MongoDB и целевой учетной записи Azure Cosmos DB.
Для получения дополнительной информации о создании виртуальной сети в портале Azure см. статью Создание виртуальной сети с помощью портала Azure.
Выберите номер SKU ценовой категории "Премиум".
Примечание.
Миграция по сети поддерживается, только если используется уровень "Премиум". Дополнительные сведения о ценовых категориях и затратах см. на странице с описанием цен.
Выберите Создать, чтобы создать службу.
Создание проекта миграции
После создания службы найдите ее на портале Azure, откройте и создайте проект миграции.
На портале Azure щелкните Все службы, выполните поиск по запросу "Azure Database Migration Service" и выберите Azure Database Migration Services (Службы Azure Database Migration Service).
На экране Службы миграции баз данных Azure найдите созданный вами экземпляр Azure Database Migration Service, а затем выберите его.
Вы можете также найти экземпляр службы Azure Database Migration Service в поисковой панели портала Azure.
Выберите + Новый проект миграции.
На экране нового проекта миграции укажите имя проекта, в текстовом поле "Исходный сервер" выберите MongoDB, в текстовом поле "Тип целевого сервера" выберите Azure Cosmos DB для MongoDB, а затем в поле "Выбор типа действия" выберите "Онлайн" миграция данных [предварительная версия].
Выберите Сохранить и Создать и выполнить действие, чтобы создать проект и выполнить действие миграции.
Укажите сведения об источнике.
На экране Сведения об источнике задайте сведения о подключении для исходного сервера MongoDB.
Внимание
Azure Database Migration Service не поддерживает Azure Cosmos DB в качестве источника.
Доступно три режима для подключения к источнику:
Стандартный режим, в котором принимается полное доменное имя или IP-адрес, номер порта и учетные данные для подключения.
Режим строки подключения, в котором принимается строка подключения MongoDB, как описано в статье о формате URI строки подключения.
Данные из хранилища Azure, в которых принимается URL-адрес SAS контейнера BLOB. Выберите BLOB-объект содержит дампы BSON, если в контейнере BLOB-объектов есть дампы BSON, созданные средством bsondump MongoDB, и отмените выбор, если контейнер содержит файлы JSON.
Если вы выбрали этот параметр, убедитесь, что строка подключения к учетной записи хранения выглядит следующим образом:
https://blobnameurl/container?SASKEYУчитывайте следующие сведения, относящиеся к информации о типах дампов в служба хранилища Azure.
Для дампов BSON данные в контейнере больших двоичных объектов должны быть в формате bsondump, чтобы файлы данных помещались в папки, названные в честь баз данных, в формате "коллекция.bson". Файлы метаданных (если таковые имеются) должны быть названы в формате коллекция.metadata.json.
Для дампов JSON файлы в контейнере BLOB должны размещаться в папках, названных в честь содержащих их баз данных. В каждой папке баз данных файлы данных должны быть помещены в подпапку с именем "data" и названы в формате коллекция.json. Файлы метаданных (если таковые имеются) должны быть помещены в подпапку с именем "metadata" и названы в том же формате: коллекция.json. Файлы метаданных должны быть в том же формате, что и файлы, созданные инструментом bsondump MongoDB.
Внимание
Не рекомендуется использовать самозаверяющий сертификат на сервере MongoDB. Однако если используется один, подключитесь к серверу с помощью режима строки подключения и убедитесь, что строка подключения имеет ""
&sslVerifyCertificate=falseЕсли разрешение DNS-имен невозможно, можно использовать IP-адрес.
Выберите Сохранить.
Адрес исходного сервера должен быть адресом основного сервера, если источником является набор реплик, и маршрутизатором, если источником является сегментированный кластер MongoDB. Для сегментированного кластера MongoDB Служба Azure Database Migration Service должна иметь возможность подключаться к отдельным сегментам в кластере, что может потребовать открытия брандмауэра на дополнительных компьютерах.
Укажите сведения о целевом объекте.
На экране Сведения о целевом объекте миграции укажите данные для подключения к целевой учетной записи Azure Cosmos DB, предварительно настроенной для учетной записи MongoDB, в которую вы переносите данные из MongoDB.
Выберите Сохранить.
Карта для целевых баз данных
На экране Map to target databases (Сопоставить с целевыми базами данных) сопоставьте исходную и целевую базы данных для миграции.
Если в целевой базе данных содержится база данных с тем же именем, что у исходной базы данных, Azure Database Migration Service по умолчанию выберет целевую базу данных.
Если строка Создать отображается рядом с именем базы данных, это значит, что Azure Database Migration Service не удалось найти целевую базу данных, и служба автоматически создаст ее.
На этом этапе переноса, если вы хотите использовать общую пропускную способность базы данных, укажите пропускную способность в RU. В Azure Cosmos DB можно подготовить пропускную способность на уровне базы данных или отдельно для каждой коллекции. Пропускная способность измеряется в Request Units в Azure Cosmos DB (RUs). Дополнительные сведения о ценах Azure Cosmos DB см. здесь.
Выберите Сохранить.
На экране Параметр коллекции разверните список коллекций и просмотрите коллекции, которые будут перенесены.
Azure Database Migration Service автоматически выбирает все коллекции, которые существуют в исходном экземпляре MongoDB и не существуют в целевой учетной записи Azure Cosmos DB. Чтобы повторно перенести коллекции, уже содержащие данные, необходимо явным образом выбрать их на этом экране.
Вы можете указать количество RU, которое вы хотите, чтобы использовали коллекции. Обычно достаточно использовать значение в диапазоне от 500 (не менее 1000 для сегментированных коллекций) до 4000. Azure Database Migration Service предлагает интеллектуальные значения по умолчанию с учетом размера коллекции.
При необходимости выполните перенос базы данных и коллекции в параллельном режиме с помощью нескольких экземпляров Azure Database Migration Service, чтобы ускорить процесс.
Вы можете также указать ключ сегмента, чтобы воспользоваться преимуществами секционирования в Azure Cosmos DB для обеспечения наилучшей масштабируемости. Обязательно просмотрите рекомендации по выбору ключа сегмента и секции. Если у вас нет ключа партиции, вы всегда можете использовать _id в качестве ключа фрагментации для улучшения пропускной способности.
Выберите Сохранить.
На экране Сводка по миграции в текстовом поле Имя активности задайте имя действия миграции.
Выполните миграцию.
Выберите Запустить миграцию.
Появится окно активности миграции, и будет отображаться состояние действия.
Отслеживайте ход миграции.
На экране действия миграции нажимайте Обновить, чтобы периодически обновлять содержимое экрана, пока в поле Состояние не будет указано значение Идет повторное воспроизведение.
Примечание.
Вы можете выбрать действие, чтобы получить сведения о метриках миграции на уровне базы данных и на уровне коллекции.
Проверка данных в Azure Cosmos DB
Внесите изменения в исходную базу данных MongoDB.
Подключитесь к Azure Cosmos DB, чтобы проверить, реплицируются ли данные с исходного сервера MongoDB.
Выполнение переноса
После того как все документы из источника доступны в целевом объекте Azure Cosmos DB, нажмите кнопку Готово из контекстного меню действия миграции, чтобы завершить миграцию.
Это действие приведет к завершению воспроизведения всех ожидающих изменений и завершению миграции.
Оптимизация после миграции
После переноса данных, хранящихся в базе данных MongoDB, в Azure Cosmos DB для MongoDB можно подключиться к Azure Cosmos DB и управлять данными. После переноса можно также выполнить другие действия, включая оптимизацию политики индексирования, обновление уровня согласованности по умолчанию и настройку глобального распределения для своей учетной записи Azure Cosmos DB. Для получения дополнительной информации, см. статью Оптимизация после переноса.
Дополнительные ресурсы
Если вы планируете емкость ресурсов для миграции в Azure Cosmos DB,
- Если вам известно только количество виртуальных ядер и серверов в существующем кластере баз данных, см. сведения об оценке единиц запросов на основе виртуальных ядер (vCores) или виртуальных процессоров (vCPUs).
- Если вам известна стандартная частота запросов для текущей рабочей нагрузки базы данных, ознакомьтесь со статьей о расчете единиц запросов с помощью планировщика ресурсов Azure Cosmos DB