Перейти к главному контенту

Что такое миграция баз данных?

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

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

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

Бюджет

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

Время простоя

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

Исходные и целевые системы 

Однородная передача данных перемещает данные из исходных систем в целевые системы с аналогичными движками баз данных. Напротив, перенос данных на другую целевую платформу называется гетерогенной передачей. Например, перенос базы данных MySQL в базу данных MySQL является однородным, а перенос Postgres SQL в Amazon Aurora – разнородным. Однородная передача более проста, поскольку базу данных можно перенести в целевой объект без дополнительных манипуляций. Однако если речь идет о гетерогенной миграции, архитекторам баз данных придется очистить и преобразовать данные перед их передачей. 

Тип миграции 

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

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

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

Какие существуют типы миграции баз данных?

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

Оффлайн-миграция

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

Шаг 1. Установите сетевое подключение.

Подключите локальную базу данных к облаку AWS через защищенную сеть. Можно настроить виртуальную частную сеть или использовать AWS Direct Connect для обеспечения подключения локальной базы к облаку. С помощью AWS Direct Connect базы данных можно напрямую подключать без передачи через публичный интернет. 

Шаг 2. Остановить запись приложения.

Чтобы избежать непредвиденных изменений целевой базы, запретите приложениям записывать данные в исходную базу 

Шаг 3. Перенос данных из локальной среды в облако.

Далее разверните нативные инструменты передачи данных на облачном сервере. Чтобы снизить затраты, рекомендуем установить инструменты на Amazon EC2. Так вы оплачиваете только ресурсы, используемые для работы нативных инструментов баз данных. Затем инструменты извлекают данные из исходной базы и восстанавливают их в облачной базе данных. 

Шаг 4. Выполните переключение базы данных.

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

Перенос производственных рабочих нагрузок

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

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

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

Репликация баз данных в Интернете

Репликация базы данных включает написание сценариев, которые настраивают схемы баз данных в новых движках и затем переносят данные из исходной базы в целевую. Схемы содержат определения для хранения и организации данных в релевантной базе. Инженеры могут использовать сторонние инструменты репликации для создания и поддержания нескольких копий данных на разных серверах. Оба подхода одинаково сложны, так как требуют значительного ручного вмешательства, подвержены ошибкам и могут быть неэффективными.
Если вам нужен более эффективный и безопасный способ репликации баз онлайн, рассмотрите AWS Database Migration Service (DMS).  Это облачный сервис, который автоматизирует миграцию баз данных между различными движками баз данных. Вместо ручного создания сценариев передачи данных DMS может автоматически сканировать схемы исходной базы и создавать новые схемы для целевой. Это позволяет разработчикам сосредоточиться на разработке приложений, а не на трудоемком управлении базами данных.
Ниже мы покажем, как реплицировать локальную базу данных в облако. 

Шаг 1. Инвентаризация существующих данных

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

Шаг 2. Перенос базы данных в облако

Используйте AWS DMS для переноса всей базы данных из локального центра обработки данных в облако. Кроме того, можно включить режим сбора измененных данных (CDC) в DMS, чтобы обеспечить репликацию почти в реальном времени. С помощью CDC DMS фиксирует изменения данных по мере их появления в исходной базе и применяет их ко всем реплицированным базам. 

Рефакторинг базы данных

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

Ниже приведены шаги, которые помогают реорганизовать базу данных. 

Шаг 1. Аудит базы данных.

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

Шаг 2. Конвертируйте схему базы данных.

Преобразуйте схему, полученную из исходной базы, в форматы, необходимые для целевой базы. Для упрощения процесса можно использовать AWS DMS Schema Conversion

Примечание. Инженерам баз может потребоваться вручную создать или изменить новые схемы, особенно для очень сложных наборов данных. 

Шаг 3. Инициируйте миграцию базы данных.

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

Как AWS может удовлетворить ваши потребности в миграции баз данных?

Компании перемещают базы данных в облако для снижения инфраструктурных расходов, повышения надежности сервисов и использования других возможностей облака. Перенос базы данных может быть таким же простым, как перенос всей базы «как есть», или перестройка целых схем под новые требования к данным. Независимо от сложности миграции, критически важно обеспечить безопасную, точную и своевременную передачу данных. Изучите AWS Database Migration Service – управляемые инструменты, позволяющие выполнять переключение почти в реальном времени, анализ баз данных, автоматическую передачу данных и многое другое.