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


Перенос локальных рабочих нагрузок MySQL в Базу данных Azure для MySQL: методы миграции

Изучение различных методов миграции баз данных MySQL из локальных сред в База данных Azure для MySQL является важным для выбора наиболее подходящего подхода для ваших потребностей. В этой статье рассматриваются различные методы миграции, предоставляющие подробный анализ преимуществ и потенциальных проблем каждого метода. Понимая нюансы автономной миграции, онлайн-миграции и гибридных подходов, вы можете принимать обоснованные решения, которые соответствуют целям и техническим требованиям вашей организации. Независимо от того, стремитесь ли вы к минимальному простою, экономичности или простому переходу, это руководство предоставляет вам знания, чтобы выбрать лучший метод миграции и эффективно выполнить его.

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

Перенос локальной среды MySQL в База данных Azure для MySQL: планирование

Обзор

Для переноса данных из исходной среды в целевую требуется использовать средства или функции MySQL.

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

В этом разделе рассматриваются следующие часто используемые средства:

  • MySQL Workbench

  • mysqldump

  • mydumper и myloader

  • Репликация входных данных (binlog)

MySQL Workbench

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

В последней версии MySQL Workbench реализованы современные функции миграции объектов для перемещения базы данных из исходной среды в целевую.

Импорт и экспорт данных

MySQL Workbench предлагает пользовательский интерфейс на основе мастера для выполнения полного или частичного экспорта и импорта таблиц и объектов базы данных. Пример использования MySQL Workbench см. в статье Перенос базы данных MySQL с помощью импорта и экспорта.

Дамп и восстановление (mysqldump)

mysqldump обычно является частью установки MySQL. Это клиентская служебная программа, которую можно запускать для создания логических резервных копий, соответствующих набору инструкций SQL, воспроизводимых для перестроения базы данных до точки во времени. mysqldump не предназначено как быстрое или масштабируемое решение для резервного копирования или переноса больших объемов данных. Производительность выполнения большого набора инструкций INSERT (SQL) может быть низкой из-за дисковых операций ввода-вывода, необходимых для обновления индексов. Однако при сочетании с другими инструментами, которым требуется исходная схема, mysqldump является отличным инструментом для создания схем базы данных и таблиц. На основе схем можно создать конечную среду целевой зоны.

Программа mysqldump предоставляет полезные функции на этапе переноса данных. Перед ее запуском необходимо проанализировать и принять во внимание вопросы производительности. См. раздел Вопросы производительности.

mydumper и myloader

В средах с большими базами данных, для которых требуется быстрая миграция, следует использовать mydumper и myloader. Эти средства написаны на языке C++ и применяют многопоточные методы для максимально быстрой отправки данных в целевой экземпляр MySQL. mydumper и myloader поддерживают принцип параллелизма и могут ускорить миграцию в 10 или более раз.

Двоичные выпуски инструментов, доступные для общедоступного скачивания, были скомпилированы для Linux. Чтобы запустить их в Windows, необходимо перекомпилировать проекты с открытым исходным кодом. Компиляция исходного кода и создание выпусков не является тривиальной задачей для большинства пользователей.

Репликация входных данных (binlog)

Как и в других системах управления базами данных, MySQL предоставляет функцию репликации журналов, называемую репликацией binlog. Функция репликации binlog используется для переноса данных и создания реплик чтения.

Репликация binlog подходит для переноса данных в Базу данных Azure MySQL в сценарии миграции по сети. Репликация данных позволяет сократить время простоя, необходимое для внесения окончательных изменений в конечные данные.

Для использования функции репликации binlog необходимо выполнить ряд требований по настройке.

  • На главном сервере рекомендуется использовать подсистему InnoDB MySQL. Если вы используете подсистему хранения, отличную от InnoDB, необходимо перенести эти таблицы в InnoDB.

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

  • Если на главном сервере включен SSL, убедитесь, что SSL-сертификат ЦС, предоставленный для домена, был включен в хранимую процедуру mysql.az_replication_change_master. См. следующие примеры и параметр master_ssl_ca.

  • Убедитесь, что IP-адрес главного сервера был добавлен в правила брандмауэра на сервере-реплике Базы данных Azure для MySQL. Измените правила брандмауэра на портале Azure или с помощью Azure CLI.

  • Убедитесь, что компьютер, на котором размещен главный сервер, разрешает входящий и исходящий трафик в порте 3306.

  • Убедитесь, что главный сервер имеет доступный IP-адрес (общедоступный или частный) с исходного объекта к целевым.

Чтобы выполнить миграцию с помощью репликации, ознакомьтесь со сведениями в статье Настройка репликации входных данных в Базе данных Azure для MySQL.

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

Azure Database Migration Service (DMS)

Azure Database Migration Service (DMS) — это облачное средство Azure, которое позволяет администраторам отслеживать различные параметры миграции и при необходимости использовать их повторно. DMS работает путем создания проектов миграции с параметрами, которые указывают на различные источники и назначения. DMS поддерживает автономные миграции. Кроме того, она поддерживает локальные рабочие нагрузки данных и облачные рабочие нагрузки, такие как служба реляционной базы данных Amazon (RDS) MySQL.

Хотя служба DMS является веб-средством, для выполнения своих задач она использует функцию репликации binlog MySQL. Сейчас DMS частично автоматизирует процесс автономной миграции. Для использования DMS требуется создать и применить соответствующую схему в целевом экземпляре Базы данных Azure для MySQL. Схемы можно экспортировать с помощью клиентской служебной программы mysqldump.

Максимально быстрая миграция с минимальным временем неработоспособности

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

Самый быстрый и наиболее полный вариант — использовать репликацию binlog (напрямую с помощью MySQL или через DMS), но он сопряжен с расходами на добавление первичных ключей.

Таблица принятия решений

Существует множество подходов, которые компания WWI может реализовать для переноса рабочих нагрузок MySQL. Ниже приведена таблица возможных вариантов, а также преимущества и недостатки каждого из них.

Цель Description Средство Необходимые компоненты Достоинства Недостатки
Максимально быстрая миграция Параллельный подход mydumper и myloader Linux Высокая степень параллелизма Регулирование целевых объектов
Миграция через Интернет Максимально продолжительная поддержка источника в активном состоянии binlog нет Простота Дополнительные операции по обработке и хранению данных
Автономная миграция Максимально продолжительная поддержка источника в активном состоянии Database Migration Service (DMS) нет Повторяемый процесс Используется только для данных, поддерживает все версии MySQL
Автономная миграция с широкими возможностями настройки Выборочный экспорт объектов mysqldump нет Широкие возможности настройки Руководство
Частично автоматизированная автономная миграция Экспорт и импорт на основе пользовательского интерфейса MySQL Workbench Скачивание и установка Частичная автоматизация Поддерживаются только распространенные наборы переключателей

Сценарий WWI

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

Контрольный список методов миграции

  • Убедитесь, что выбран правильный метод, соответствующий целевой и исходной средам.

  • Убедитесь, что метод отвечает бизнес-требованиям.

  • Всегда проверяйте, поддерживает ли рабочая нагрузка выбираемый метод.

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