AWS Database Migration Service (часть 2 из 2)

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

Создание задачи миграции базы данных

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

Сначала перейдите на экран задач миграции базы данных в консоли AWS DMS, а затем нажмите кнопку Создать задачу. Откроется окно создания задачи, первым разделом которого будет «Конфигурация задачи». В этом разделе вы можете:

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

Тип миграции — это то место, где вы указываете DMS тип работы, которую вы хотите выполнить с помощью этой задачи. Вы можете выбрать три различных варианта. Первый — Миграция существующих данных. Использование этого типа в качестве типа миграции означает, что вы хотите сделать одноразовую копию данных и идеально подходит для выполнения одноразовой миграции. Следующий вариант — Миграция существующих данных и репликация текущих изменений. Название практически полностью описывает суть этого подхода, и он наиболее подходит в тех случаях, когда вам необходимо параллельно запускать исходную и целевую системы, но при этом вы хотите, чтобы они оставались максимально обновленными. Этот подход особенно распространен в сценариях Data Lake, когда данные переносятся из транзакционной системы в аналитическую или систему отчетности. Последний вариант типа миграции — только репликация изменений данных, когда вы реплицируете любые изменения в данных, но не выполняете однократную миграцию.

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

Первым пунктом для настройки является режим подготовки целевых таблиц, или то, как DMS должна подготавливать таблицы на целевой конечной точке. Есть три варианта: «Ничего не делать», «Сбрасывать таблицы на цель» и «Усекать». При выборе опции «Ничего не делать» целевые таблицы не будут затронуты. Все несуществующие таблицы будут созданы. Если вы выберете опцию сбросить таблицы, то DMS сбросит и заново создаст все затронутые таблицы. Усечение означает, что все таблицы и метаданные остаются, но все данные удаляются.

Следующий пункт для настройки — Включить столбцы LOB в репликацию. LOB — это большие объекты, и у вас есть выбор, включать или нет столбцы этих объектов в целевые данные. У вас есть три варианта, первый из которых — Don’t include LOB columns, а второй — Full LOB mode; оба варианта довольно просты. Третий вариант — режим Limited LOB. В этом режиме DMS усекает каждый LOB до определенного размера — Максимальный размер LOB (kb).

Затем вы можете настроить включение проверки. Установка этого флажка приведет к тому, что DMS сравнит исходные и целевые данные сразу после выполнения полной загрузки. Это гарантирует правильность миграции данных, но требует дополнительного времени на выполнение, что увеличивает затраты. Далее вы можете Включить журналы CloudWatch. Здесь также есть некоторые расширенные настройки задач, но мы не будем рассматривать их в рамках данного обсуждения.

Следующий раздел — Table mappings. В этом разделе вы определяете правила о том, какие данные и как будут перемещаться. На высоком уровне вы создадите правило Selection, которое определяет данные, которые вы хотите реплицировать, а затем вы можете создать правило Transformation, которое изменит выбранные данные, прежде чем они будут предоставлены конечной точке назначения. Раздел сопоставления таблиц также дает вам возможность использовать подход мастера или редактор JSON для ввода всех сопоставлений таблиц в JSON. Мы рассмотрим использование мастера.

Первым шагом будет выбор кнопки Добавить новое правило отбора. В результате откроется раздел правил выбора, как показано на рисунке 1.

Рисунок 1. Создание правил выбора для задачи миграции базы данных

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

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

  • Меньше или равно
  • Больше или равно
  • Равно
  • Не равно
  • Равно или между двумя значениями
  • Не между двумя значениями
  • Null
  • Не нулевой

Вы можете создать любое количество фильтров столбцов для каждого правила отбора.

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

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

Рисунок 2. Включение запуска оценки предварительной миграции в запланированном задании

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

Это вернет вас в окно списка задач миграции базы данных, где вы увидите, что ваша задача создается. После создания задания вы можете запустить его вручную или позволить ему запуститься самостоятельно, если это предусмотрено настройками. Вы сможете наблюдать, как количество таблиц переходит от очереди таблиц к загрузке таблиц к загрузке таблиц по мере их обработки. Возвращаясь к панели AWS DMS Dashboard, вы увидите, что выполнена 1 загрузка, как показано на рисунке 3.

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

Для тех случаев, когда вы просто хотите перенести наборы данных с минимальными изменениями, кроме, возможно, переименования некоторых столбцов, служба Database Migration Service работает как мечта. Относительно безболезненная в настройке и достаточно мощная для переноса данных между серверами, даже серверами разных типов, как в случае, когда мы только что скопировали данные с SQL Server на Amazon Aurora. Однако существует инструмент, который поможет вам переместить более разрозненные данные между различными движками баз данных. Мы рассмотрим этот инструмент далее.

Оцените статью
devanswers.ru
Добавить комментарий