Инструмент преобразования схемы AWS предназначен для повышения предсказуемости миграции баз данных между различными ядрами. Это достигается за счет автоматического преобразования не только исходных данных, но и большинства объектов базы данных, таких как представления, хранимые процедуры и функции. Если вы вернетесь к предыдущему разделу, вы можете вспомнить, что там не было упоминания об этих объектах базы данных; целью было просто переместить все таблицы базы данных. И поскольку это все, что было в нашей тестовой базе данных, этого было вполне достаточно. Однако многие «корпоративные» базы данных будут иметь эти объекты базы данных. Инструмент преобразования схемы поможет вам в этом.

Во-первых, инструмент преобразования схемы — это загружаемый инструмент, доступный для использования в Microsoft Windows, Fedora Linux и Ubuntu Linux. Вы можете получить доступ к ссылкам для скачивания на https://aws.amazon.com/dms/schema-conversion-tool. Мы будем использовать версию инструмента для Windows для нашего пошагового руководства. Во-вторых, этот инструмент будет переносить только реляционные данные в Amazon RDS или Amazon Redshift. В таблице 1 показаны комбинации исходной и целевой базы данных, поддерживаемые инструментом.

ИсточникАврора MySQLАврора PGSQLМарияДБMySQLPGSQLSQL-серверКрасное смещение
ОракулИксИксИксИксИкс
Хранилище данных OracleИкс
База данных SQL AzureИксИксИксИкс
Microsoft SQL-серверИксИксИксИксИксИксИкс
ТерадатаИкс
IBM NetezzaИкс
Зеленая сливаИкс
HPE ВертикаИкс
MySQLИксИксИкс
Постгрес (PGSQL)ИксИксИксИкс
IBM DB2 LUWИксИксИксИксИкс
IBM Db2 для z/OSИксИксИксИкс
САП АСЕИксИксИксИксИкс
Амазонка Красное смещениеИкс
Аналитика синапсов AzureИкс
СнежинкаИкс

Таблица 1. Базы данных, доступные в качестве источников и целей для средства преобразования схемы

При нажатии на ссылку инструмента загрузки начнется загрузка zip-файла. После загрузки файла извлеките содержимое в рабочий каталог. Там будет установочный файл .msi и две папки. Запустите установочный файл и запустите приложение после завершения установки.


Настройка источника

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

Рисунок 1. Экран создания нового проекта миграции базы данных в SCTРисунок 1. Экран создания нового проекта миграции базы данных в SCT

Мы выбрали Microsoft SQL Server в качестве нашего исходного движка, и это активировало три переключателя, которые дают некоторое направление относительно того, как должен происходить процесс преобразования. Три варианта:

  • Я хочу сменить движок и оптимизировать для облака (по умолчанию)
  • Я хочу сохранить тот же движок, но оптимизировать его для облака
  • Я хочу увидеть комбинированный отчет о переключении ядра базы данных и оптимизации в облаке.

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

Заполнив поля на шаге 1 и нажав кнопку Следующий Кнопка приведет вас к Шаг 2. Подключитесь к исходной базе данных. экран, как показано на рисунке 2.

Рисунок 2. Указание информации о соединении для исходной базы данныхРисунок 2. Указание информации о соединении для исходной базы данных

Как показано на рис. 2, есть четыре поля, в левом верхнем углу которых отображается красная галочка. Эти поля необходимы для подключения, и три из них — это поля, с которыми вы уже должны быть хорошо знакомы. Имя сервера, Имя пользователяа также Пароль (при доступе к исходной базе данных с использованием проверки подлинности SQL Server). Однако последнее поле, Путь к драйверу Microsoft SQL Server, является новым и указывает на каталог, в котором находится драйвер JDBC Microsoft SQL Server, который мы не установили. К счастью, AWS услужливо предоставляет страницу со ссылками на различные драйверы баз данных по адресу https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html. Вам потребуется установить драйверы как для исходной, так и для целевой баз данных. Мы просмотрели и загрузили драйверы для SQL Server (наша исходная база данных) и драйверы для Amazon Aurora MySQL (наша целевая база данных). После установки соответствующих драйверов JDBC вы можете указать путь к драйверу SQL Server, как показано на рисунке 3.

Рисунок 3. Указание пути JDBC SQL ServerРисунок 3. Указание пути JDBC SQL Server

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

Примечание: Наша загрузка Microsoft SQL Server JDBC содержала три разных файла .jar: jre8, jre11 и jre17. Инструмент позволит выбрать jre8 и jre11, но не позволит выбрать файл jre17. Это, вероятно, изменится, поскольку инструмент продолжает развиваться.

Затем инструмент отобразит экран, показывающий, что он загружает метаданные для сервера. Эти метаданные включают базы данных, схемы и триггеры. Как только эта загрузка будет завершена, вы перейдете к шагу S_3. Выберите схему_, где вы получите список всех баз данных и схем, доступных в каждой из них. В этот список входят все системные базы данных, такие как master, model, msdb и tempdb. Вы, вероятно, не захотите включать их! После того, как вы выбрали схему (схемы), нажмите кнопку Следующий кнопка. Вы снова увидите экран «Загрузка метаданных», поскольку инструмент получает все объекты базы данных на основе выбранных вами схем. Этот процесс займет несколько минут.


Экран оценки миграции базы данных

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

Рисунок 4. Резюме отчета об оценке миграцииРисунок 4. Резюме отчета об оценке миграции

Сразу под резюме находится текстовый анализ данных на диаграмме. Каждая из строк описана с оценкой процента объектов хранилища базы данных и объектов кода базы данных, которые могут быть преобразованы автоматически. В нашем случае и Amazon RDS для MySQL, и Amazon Aurora (совместимый с MySQL) могут быть преобразованы на 100 %. Ни одна из других целевых платформ не набрала таких высоких баллов.

Дополнительные сведения отображаются ниже по странице, как показано на рис. 5.

Рис. 5. Подробная информация о переходе на Amazon Aurora MySQLРис. 5. Подробная информация о переходе на Amazon Aurora MySQL

В этом разделе показано, что 1 схема, 10 таблиц, 17 ограничений, 7 процедур и 1 скалярная функция могут быть успешно преобразованы в Amazon Aurora (совместимость с MySQL).


Настройка назначения

После того, как вы завершили просмотр потенциального пункта назначения, нажмите кнопку Следующий кнопка. Это приведет вас к Шаг 5. Выберите цель страница, на которой вы выбираете целевой механизм и настраиваете подключение к целевой базе данных. Когда мы перешли на страницу, Amazon RDS для MySQL был выбран в качестве целевого механизма, поэтому мы согласились с этим и создали новый экземпляр Amazon RDS для MySQL в консоли RDS, убедившись, что мы включили внешний доступ. Заполняем информацию о подключении и нажимаем кнопку Тестовое соединение Кнопка продемонстрировала, что мы заполнили информацию надлежащим образом, поэтому мы нажали кнопку Заканчивать кнопка.


Завершение миграции

Вы перейдете на страницу проекта, как показано на рисунке 6.

Рисунок 6. Проект преобразования инструмента преобразования схемыРисунок 6. Проект преобразования инструмента преобразования схемы

Как и в случае с DMS, инструмент преобразования дает вам возможность добавлять правила сопоставления и преобразования. Вы делаете это, нажав на кнопку Основной вид на панели инструментов и выбрав Представление карты. Это изменяет центральную часть экрана. В этом разделе вы можете добавить правила трансформации. Эти правила преобразования, как и в случае с DMS, позволяют изменять имена элементов, которые будут перенесены. Вы можете создать правило, в котором вы создаете соответствующие фильтры, чтобы определить, какие объекты будут затронуты, и у вас есть следующие варианты того, как будут изменены имена:

  • Добавить префикс
  • Добавить суффикс
  • Преобразование нижнего регистра
  • Преобразование верхнего регистра
  • Перейти к
  • Удалить префикс
  • Удалить суффикс
  • Переименовать
  • Заменить префикс
  • Заменить суффикс

Эти различные преобразования полезны при работе со схемами базы данных, к которым подходят старые пользователи, такие как использование префикса «t» перед именем, чтобы показать, что объект является таблицей, или «v», чтобы указать, что это представление. Мы не будем использовать какие-либо преобразования как часть нашего преобразования.

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

Рисунок 7. Схема, преобразованная в исходную базу данныхРисунок 7. Схема, преобразованная в исходную базу данных

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

На этом этапе ваша схема была перенесена в исходную базу данных. На рисунке 8 показана целевая база данных в MySQL Workbench, и вы можете видеть, что схема, определенная в инструменте, была успешно перенесена.

Рисунок 8. Просмотр преобразованной схемы в MySQL WorkbenchРисунок 8. Просмотр преобразованной схемы в MySQL Workbench

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