Действия по оптимизации после миграции при использовании API Azure Cosmos DB для MongoDB
Область применения: MongoDB
Внимание
Прочтите это руководство целиком, прежде чем выполнять действия, осуществляемые после миграции.
Это руководство по действиям, выполняемым после миграции MongoDB входит в комплект документов, посвященный миграции MongoDB. Критически важные этапы миграции MongoDB — это подготовка к миграции, миграция и действия после миграции, как указано ниже.
Обзор действий после миграции
Для управления хранимыми данными, перенесенными из базы данных MongoDB в API Azure Cosmos DB для MongoDB, можно подключиться к Azure Cosmos DB. В этом руководстве описаны действия, которые могут потребоваться после миграции. Инструкции по миграции см. в руководстве по миграции MongoDB в Azure Cosmos DB API для MongoDB.
Выполните следующие действия после миграции.
- Оптимизация политики индексирования
- Настройка глобального распределения с помощью API Azure Cosmos DB для MongoDB
- Установка уровня согласованности
- Подключение (прямая миграция) приложения
- Настройка для обеспечения оптимальной производительности
Примечание.
Единственным обязательным шагом после миграции является изменение строки подключения в приложении, чтобы она указывала на новую учетную запись Azure Cosmos DB. Все остальные выполняемые после миграции действия рекомендуются для оптимизации производительности слоя данных. Однако если вы немедленно выполняете прямую миграцию приложений без совершения других действий, приложение сразу же зарегистрирует влияние неоптимального индексирования и неоптимальной согласованности. В частности, если вы проводите прямую миграцию перед настройкой индексов, приложение может зарегистрировать немедленное снижение соотношения цены и производительности. Имейте в виду, что такое положение дел можно нормализовать. После оптимизации индекса мы планируем, что Azure Cosmos DB часто будет превосходить текущее решение в плане соотношения цены и производительности.
Предварительные требования
В этом руководстве предполагается, что вы отмечаете ход выполнения миграции с помощью какого-нибудь средства отслеживания. Например, при помощи электронной таблицы. Если вы еще не сделали этого, рекомендуется ознакомиться с руководством по подготовке к миграции, чтобы узнать, как создать электронную таблицу переноса данных, обнаружить имеющиеся ресурсы MongoDB и спланировать миграцию.
Оптимизация политики индексирования
Чтобы оптимизировать цены и производительность, рекомендуется последовательно выполнить действия, указанные в таблице миграции пространства данных, и создать конфигурацию индекса для каждого ресурса.
- Мы рекомендуем планировать индексы на этапе подготовки к миграции. Добавьте столбец параметров индекса в таблицу миграции пространства данных.
Сервер Azure Cosmos DB для MongoDB версии 3.6 и выше автоматически индексирует только поле _id. Это поле нельзя удалить. Система автоматически обеспечивает уникальность поля _id для каждого ключа сегмента. Для индексирования дополнительных полей применяются команды управления индексами MongoDB. Эта политика индексирования по умолчанию отличается от Azure Cosmos DB для NoSQL, которая индексирует все поля по умолчанию.
Для сервера Azure Cosmos DB для MongoDB версии 3.2 все поля данных автоматически индексируются во время миграции данных в Azure Cosmos DB. Во многих случаях политика индексирования по умолчанию приемлема. Как правило, удаление индексов оптимизирует запросы на запись и наличие политики индексирования по умолчанию (т. е. автоматического индексирования) оптимизирует запросы на чтение.
Возможности индексирования Azure Cosmos DB включают в себя добавление составных индексов, уникальных индексов и индексов срока жизни. Интерфейс управления индексами сопоставляется с командой createIndex(). Дополнительные сведения см. в статьях "Индексирование в Azure Cosmos DB" и "Индексирование в API Azure Cosmos DB для MongoDB".
- Примените эти параметры индекса после миграции.
- Служба Azure Database Migration Service автоматически переносит коллекции MongoDB с уникальными индексами. Однако перед переносом эти уникальные индексы необходимо создать. Azure Cosmos DB не поддерживает создание уникальных индексов, если в коллекциях уже есть данные. Дополнительные сведения см. в статье об уникальных ключах в Azure Cosmos DB.
Глобальное распределение данных
Служба Azure Cosmos DB доступна во всех регионах Azure по всему миру.
- Чтобы глобально распределить данные, следуйте указаниям, приведенным в статье Глобальное распределение данных с помощью API Azure Cosmos DB для MongoDB. После установки уровня согласованности по умолчания для вашей учетной записи Azure Cosmos DB, вы можете привязать один или несколько регионов Azure в зависимости от ваших общих потребностей в распределении. Для обеспечения высокой доступности и непрерывности бизнес-процессов мы всегда рекомендуем совершать запуск по крайней мере в двух регионах. Вы можете ознакомиться с рекомендациями по оптимизации затрат на развертывание в нескольких регионах в Azure Cosmos DB.
Установка уровня согласованности
Azure Cosmos DB предлагает 5 четко определенных уровней согласованности. Подробнее о сопоставлении уровней согласованности MongoDB и Azure Cosmos DB см. в статье Уровни согласованности и Azure Cosmos DB APIs. Уровень согласованности по умолчанию — Сеанс. Изменение уровня согласованности является необязательным, и его можно оптимизировать для приложения. Чтобы изменить уровень согласованности с помощью портала Azure, выполните следующие действия.
- Перейдите в колонку Default Consistency (Согласованность по умолчанию) в разделе Settings (Параметры).
- Выберите необходимый уровень согласованности
Большинство пользователей оставляют уровень согласованности по умолчанию при настройке согласованности сеансов. Тем не менее, вы можете достичь компромисса между доступностью и быстродействием для разных уровней согласованности.
Подключение или прямая миграция приложения
Обработка прямой миграции или подключения приложения позволяет приложению перейти к использованию Azure Cosmos DB после завершения миграции. Выполните приведенные ниже действия:
- В новом окне войдите на портал Azure.
- На портале Azure на панели слева откройте меню Все ресурсы и найдите учетную запись Azure Cosmos DB, куда были перенесены данные.
- Откройте колонку Connection String (Строка подключения). На правой панели содержатся все сведения, необходимые для успешного подключения к учетной записи.
- Используйте сведения о подключении в конфигурации приложения (или в других соответствующих местах), чтобы передать Azure Cosmos DB API для подключения к MongoDB в приложении.
Дополнительные сведения см. на странице Подключение приложения MongoDB к Azure Cosmos DB.
Настройка для обеспечения оптимальной производительности
Одно из удобств индексирования, глобального распределения и согласованности состоит в том, что все эти возможности можно легко настраивать и перенастраивать по своему усмотрению. После завершения прямой миграции приложения мы советуем отследить производительность приложения и скорректировать эти параметры нужным образом в соответствии с требованиями приложения.
Следующие шаги
- Если вы планируете ресурсы для миграции в Azure Cosmos DB,
- Если вам известно только количество виртуальных ядер и серверов в существующем кластере баз данных, прочитайте об оценке единиц запроса на основе этих данных.
- Если вам известна стандартная частота запросов для текущей рабочей нагрузки базы данных, ознакомьтесь со статьей о расчете единиц запросов с помощью планировщика ресурсов Azure Cosmos DB
- Подключение приложения MongoDB к Azure Cosmos DB
- Подключение к учетной записи Azure Cosmos DB с помощью Studio 3T
- Глобальное распределение операций чтения с помощью API Azure Cosmos DB для MongoDB
- Завершение срока действия данных с помощью API Azure Cosmos DB для MongoDB
- Настраиваемые уровни согласованности данных в Azure Cosmos DB
- Индексирование в Azure Cosmos DB
- Единицы запросов в Azure Cosmos DB