0Pricing
Azure Fundamentals · Урок

Миграция базы данных в Azure

Спланируйте и выполните миграцию базы данных с помощью Azure Database Migration Service и изучите распространенные стратегии минимизации простоя при переносе в облако.

«Миграция базы данных в Azure» — бесплатный урок Azure Fundamentals на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Azure Fundamentals, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Azure Fundamentals содержит 4 уроков всего.

Зачем переносить базы данных в Azure

Перенос баз данных из локальной инфраструктуры в Azure дает такие преимущества, как снижение эксплуатационной нагрузки (не требуется управлять оборудованием), встроенные механизмы высокой доступности и резервного копирования, а также возможность эластично масштабировать вычислительные ресурсы и хранилище по требованию. Организации также выполняют миграцию для соблюдения требований по переходу в облако, вывода из эксплуатации устаревшего оборудования центров обработки данных или использования расширенных возможностей, таких как георепликация и интеллектуальная настройка запросов.

Обзор стратегий миграции

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

Azure Database Migration Service

Azure Database Migration Service (DMS) — это полностью управляемый инструмент, который организует миграцию из широкого диапазона источников — SQL Server, MySQL, PostgreSQL, MongoDB, Oracle и других — в соответствующие управляемые целевые службы Azure. DMS выполняет преобразование схемы, перемещение данных и репликацию, а также отображает состояние миграции и ошибки на одной панели мониторинга.

# Create a DMS instance
az dms create \
  --location eastus \
  --name myDMSinstance \
  --resource-group myRG \
  --sku-name Standard_1vCores \
  --subnet /subscriptions/<sub-id>/resourceGroups/myRG/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet

Оценка перед миграцией

Перед миграцией выполните оценку перед миграцией, чтобы выявить проблемы совместимости между исходной базой данных и целевой службой Azure. Расширение Database Migration Assessment for SQL Server в Azure Data Studio проверяет хранимые процедуры, триггеры и запросы на наличие возможностей, которые не поддерживаются в Azure SQL Database или Azure SQL Managed Instance, и формирует упорядоченный по приоритету список элементов, требующих исправления до переключения.

Миграция с SQL Server в Azure SQL Database

Миграция SQL Server в Azure SQL Database (отдельную базу данных) хорошо подходит приложениям с одной базой данных и без возможностей уровня экземпляра (например, SQL Agent или запросов между базами данных). Если оценка выявляет зависимости уровня экземпляра, Azure SQL Managed Instance обеспечивает почти стопроцентную совместимость, перенося ядро SQL Server в контейнер PaaS и сохраняя задания SQL Agent, связанные серверы и объекты CLR.

Миграция в оперативном режиме с воспроизведением журналов

Azure DMS использует Log Replay Service (LRS) для миграции SQL Server в Azure SQL Managed Instance в оперативном режиме. LRS непрерывно считывает резервные копии журнала транзакций из контейнера Azure Blob Storage и воспроизводит их в целевом экземпляре Managed Instance, поддерживая его синхронизацию с источником. Переключение запускается вручную и завершается за несколько секунд, сокращая окно обслуживания практически до нуля.

Миграция PostgreSQL в Azure Database for PostgreSQL

Для переноса баз данных PostgreSQL в Azure DMS поддерживает как автономную миграцию (pg_dump/pg_restore), так и миграцию в оперативном режиме посредством логической репликации. На исходном сервере PostgreSQL должна быть включена логическая репликация (wal_level = logical), а пользователь миграции должен обладать правами репликации. DMS выполняет миграцию схемы, первоначальную полную загрузку и захват изменений до момента окончательного переключения.

# Enable logical replication on source PostgreSQL
# In postgresql.conf:
wal_level = logical
max_replication_slots = 5
max_wal_senders = 5

Миграция MySQL в Azure Database for MySQL

DMS переносит базы данных MySQL в Azure Database for MySQL Flexible Server, используя двоичный журнал MySQL для непрерывной репликации. На исходном экземпляре MySQL должен быть задан параметр binlog_format = ROW и включено двоичное журналирование. Мастер миграции на портале Azure пошагово помогает подключить источник и целевую систему, выбрать базы данных и отслеживать ход миграции и задержку перед переключением.

# Verify binary logging on source MySQL server
SHOW VARIABLES LIKE 'log_bin';
SHOW VARIABLES LIKE 'binlog_format';

Сокращение простоя при переключении

Ключ к миграции с минимальным простоем — заранее завершить первоначальную массовую загрузку, а затем позволить захвату изменений работать до тех пор, пока задержка репликации не приблизится к нулю. После этого необходимо: остановить операции записи в источнике, дождаться передачи последних изменений в целевую систему, обновить строку подключения приложения и начать запись в новой целевой системе. Тщательное управление TTL DNS и переключение по схеме «синий — зеленый» могут еще больше снизить влияние миграции.

Проверка после миграции

После переключения проверьте результат миграции, сравнив количество строк в таблицах источника и целевой системы, выполнив ключевые запросы приложения для проверки корректности данных и убедившись, что все хранимые процедуры, представления и функции возвращают ожидаемые результаты. Отслеживайте ухудшение производительности запросов в целевой системе, сравнивая планы выполнения, а также обновите статистику и перестройте индексы в целевой системе, чтобы с первого дня обеспечить оптимальную производительность.

-- Compare row counts across all tables
SELECT TABLE_NAME, TABLE_ROWS
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'myDatabase'
ORDER BY TABLE_NAME;

Использование Azure Migrate для обнаружения баз данных

Azure Migrate предоставляет возможности обнаружения и оценки баз данных наряду с функциями оценки серверов. Устройство Azure Migrate сканирует локальную среду, создает перечень экземпляров SQL Server, оценивает соответствующие размеры и стоимость в Azure и отмечает проблемы совместимости. Поэтому перед использованием DMS для непосредственного выполнения миграции это логичная отправная точка.

Быстрая проверка

Проверьте своё понимание концепций Microsoft Azure Fundamentals (AZ-900) из этого урока.

Итоги урока

В этом уроке Вы узнали, что Azure Database Migration Service организует миграцию из множества исходных ядер баз данных, при миграции в оперативном режиме используется захват изменений для сокращения простоя при переключении, а оценка перед миграцией выявляет проблемы совместимости до начала работы. Далее мы рассмотрим Azure Identity и Microsoft Entra ID.

Часто задаваемые вопросы

Урок «Миграция базы данных в Azure» бесплатный?

Да — полный текст урока «Миграция базы данных в Azure» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Azure Fundamentals, подпишись на CoddyKit PRO. Курс Azure Fundamentals содержит 4 уроков всего.

Чему я научусь в уроке «Миграция базы данных в Azure»?

Спланируйте и выполните миграцию базы данных с помощью Azure Database Migration Service и изучите распространенные стратегии минимизации простоя при переносе в облако. Ты практикуешь Azure Fundamentals с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Azure Fundamentals?

Предыдущий опыт не требуется. Azure Fundamentals на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Миграция базы данных в Azure»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Azure Fundamentals?

Да. Каждый урок Azure Fundamentals включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Azure SQL Database
  2. Azure Cosmos DB: глобальная NoSQL-база данных
  3. Базы данных Azure на движках с открытым исходным кодом
  4. Миграция базы данных в Azure
← Назад к Azure Fundamentals