Минимизация проблем с SQL для миграций Teradata

Это пятая из семи статей, посвященных рекомендациям по миграции из Teradata в Azure Synapse Analytics. Эта статья посвящена рекомендациям по минимизации проблем с SQL.

Обзор

Характеристики сред Teradata

Совет

Компания Teradata стала пионером в создании крупномасштабных баз данных SQL с использованием MPP в 1980-х годах.

В 1984 году Teradata впервые выпустила свою базу данных. В ней появились методы массовой параллельной обработки (MPP) для обеспечения более эффективной обработки данных, чем у существующих мейнфреймов, доступных в то время. С тех пор продукт развивался и имеет множество установок среди крупных финансовых учреждений, телекоммуникаций и розничных компаний. В исходной реализации использовалось собственное оборудование и подключение к мэйнфреймам, как правило, процессорам IBM или IBM-совместимым процессорам.

Хотя последние объявления включали сетевое подключение и доступность стека технологий Teradata в облаке (включая Azure), большинство существующих установок находятся в локальной среде, поэтому многие пользователи рассматривают возможность переноса некоторых или всех своих данных Teradata в Azure Synapse Analytics, чтобы получить преимущества перехода в современную облачную среду.

Совет

Многие существующие установки Teradata — это хранилища данных, использующие модель мерных данных.

Технология Teradata часто используется для реализации хранилища данных, поддерживая сложные аналитические запросы на большие объемы данных с помощью SQL. Многомерные модели данных — схемы типа "звезда" или "снежинка" являются общими, как и реализация киосков данных для отдельных отделов.

Такое сочетание моделей SQL и многомерных данных упрощает миграцию в Azure Synapse, так как основные понятия и навыки SQL можно перенести. Рекомендуемый подход заключается в переносе существующей модели данных "как есть", чтобы снизить риски и время. Даже если конечное намерение состоит в том, чтобы внести изменения в модель данных (например, переход на модель хранилища данных), выполнить начальную миграцию "как есть", а затем внести изменения в облачную среду Azure, используя производительность, эластичную масштабируемость и преимущества затрат.

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

Использование экземпляра Teradata на виртуальной машине Azure в процессе миграции

Совет

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

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

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

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

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

  • В среде Azure не возникает потенциальных проблем с доступной пропускной способностью сети между исходной локальной и целевой облачной системами.

  • Такие средства, как Фабрика данных Azure, могут оперативно вызывать служебные программы, например Teradata Parallel Transporter, для быстрого и простого переноса данных.

  • Процесс миграции полностью оркестрируется и контролируется в среде Azure.

Использование Фабрики данных Azure для реализации миграции на основе метаданных

Совет

Автоматизируйте процесс миграции с помощью возможностей Фабрики данных Azure.

Автоматизируйте и оркестрируйте процесс миграции, используя возможности среды Azure. Такой подход также позволяет снизить влияние миграции на существующую среду Teradata, нагрузка на которую уже может быть максимальной.

Фабрика данных Azure — это облачная служба интеграции данных, которая позволяет создавать управляемые данными рабочие процессы в облаке для оркестрации и автоматизации перемещения и преобразования данных. С помощью Фабрики данных можно создавать и включать в расписание управляемые данными рабочие процессы, так называемые конвейеры, которые могут принимать данные из разнородных хранилищ данных. Можно обрабатывать и преобразовывать эти данные с помощью таких служб вычислений, как Azure HDInsight Hadoop, Spark, Azure Data Lake Analytics и машинное обучение Azure.

Создавая метаданные для перечисления таблиц данных для переноса и их расположения, можно использовать средства фабрики данных для управления и автоматизации частей процесса миграции. Вы также можете использовать Azure Synapse Pipelines.

Различия SQL DDL между Teradata и Azure Synapse

Язык описания данных SQL (DDL)

Совет

Команды SQL DDL CREATE TABLE и CREATE VIEW содержат стандартные основные элементы, но также используются для определения вариантов, связанных с конкретной реализацией.

Стандарт ANSI SQL определяет базовый синтаксис для таких команд DDL, как CREATE TABLE и CREATE VIEW. Эти команды используются как в Teradata, так и в Azure Synapse, но они также были расширены, чтобы разрешить определение конкретных возможностей реализации, таких как индексирование, распределение таблиц и параметры секционирования.

В следующих разделах рассматриваются варианты, связанные с Teradata, которые следует учитывать во время миграции на Azure Synapse.

Рекомендации по таблице

Совет

Используйте существующие индексы для указания кандидатов на индексирование в перенесенном хранилище.

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

Важно понимать, где в исходной среде использовались оптимизации производительности, такие как индексы. Это указывает на то, где можно добавить оптимизацию производительности в новую целевую среду. Например, если в исходной среде Teradata был создан неуникальный вторичный индекс (NUSI), это может указывать на то, что в перенесенной базе данных Azure Synapse следует создать некластеризованный индекс. Применение других нативных методов оптимизации производительности, например репликации таблиц, может быть более целесообразным, чем прямое создание индексов like for like.

Неподдерживаемые типы таблиц Teradata

Совет

Стандартные таблицы в Azure Synapse могут поддерживать перенесенные временные ряды и темпоральные таблицы Teradata.

Teradata поддерживает специальные типы таблиц для временных рядов и темпоральных данных. Синтаксис и некоторые функции этих типов таблиц не поддерживаются напрямую в Azure Synapse, но данные можно перенести в стандартную таблицу с необходимыми типами данных и индексированием или секционированием по столбцу даты и времени.

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

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

Неподдерживаемые типы данных Teradata

Совет

Оцените влияние неподдерживаемых типов данных в рамках этапа подготовки.

Большинство типов данных Teradata имеют прямой эквивалент в Azure Synapse. В таблице ниже перечислены типы данных Teradata, не поддерживаемые в Azure Synapse, а также рекомендуемые для сопоставления эквиваленты. В этой таблице тип столбца Teradata — это тип, хранящийся в системном каталоге (например, в DBC.ColumnsV).

Тип столбца Teradata Тип данных Teradata Тип данных Azure Synapse
++ TD_ANYTYPE Не поддерживается в Azure Synapse
A1 ARRAY Не поддерживается в Azure Synapse
AN ARRAY Не поддерживается в Azure Synapse
AT TIME TIME
BF BYTE BINARY
BO BLOB Тип данных BLOB не поддерживается напрямую, но может быть заменен на BINARY.
BV VARBYTE BINARY
CF VARCHAR CHAR
CO CLOB Тип данных CLOB не поддерживается напрямую, но может быть заменен на VARCHAR.
CV VARCHAR VARCHAR
D DECIMAL DECIMAL
DA DATE DATE
DH INTERVAL DAY TO HOUR Типы данных INTERVAL не поддерживаются в Azure Synapse, но вычисления дат можно выполнять с помощью функций сравнения дат (например, DATEDIFF и DATEADD).
DM INTERVAL DAY TO MINUTE Типы данных INTERVAL не поддерживаются в Azure Synapse, но вычисления дат можно выполнять с помощью функций сравнения дат (например, DATEDIFF и DATEADD).
DS INTERVAL DAY TO SECOND Типы данных INTERVAL не поддерживаются в Azure Synapse, но вычисления дат можно выполнять с помощью функций сравнения дат (например, DATEDIFF и DATEADD).
DT НАБОР ДАННЫХ Тип данных DATASET поддерживается в Azure Synapse.
DY INTERVAL DAY Типы данных INTERVAL не поддерживаются в Azure Synapse, но вычисления дат можно выполнять с помощью функций сравнения дат (например, DATEDIFF и DATEADD).
F FLOAT FLOAT
HM INTERVAL HOUR TO MINUTE Типы данных INTERVAL не поддерживаются в Azure Synapse, но вычисления дат можно выполнять с помощью функций сравнения дат (например, DATEDIFF и DATEADD).
HR INTERVAL HOUR Типы данных INTERVAL не поддерживаются в Azure Synapse, но вычисления дат можно выполнять с помощью функций сравнения дат (например, DATEDIFF и DATEADD).
HS INTERVAL HOUR TO SECOND Типы данных INTERVAL не поддерживаются в Azure Synapse, но вычисления дат можно выполнять с помощью функций сравнения дат (например, DATEDIFF и DATEADD).
I1 BYTEINT TINYINT
I2 SMALLINT SMALLINT
I8 bigint bigint
I INTEGER INT
JN JSON В настоящее время тип данных JSON не поддерживается напрямую в Azure Synapse, но данные JSON могут храниться в поле VARCHAR.
MI INTERVAL MINUTE Типы данных INTERVAL не поддерживаются в Azure Synapse, но вычисления дат можно выполнять с помощью функций сравнения дат (например, DATEDIFF и DATEADD).
MO INTERVAL MONTH Типы данных INTERVAL не поддерживаются в Azure Synapse, но вычисления дат можно выполнять с помощью функций сравнения дат (например, DATEDIFF и DATEADD).
MS INTERVAL MINUTE TO SECOND Типы данных INTERVAL не поддерживаются в Azure Synapse, но вычисления дат можно выполнять с помощью функций сравнения дат (например, DATEDIFF и DATEADD).
Нет NUMBER NUMERIC
PD PERIOD(DATE) Можно преобразовать в VARCHAR или разделить на две отдельные даты
PM PERIOD (TIMESTAMP WITH TIME ZONE) Можно преобразовать в VARCHAR или разделить на две отдельные метки времени (DATETIMEOFFSET)
PS PERIOD(TIMESTAMP) Можно преобразовать в VARCHAR или разделить на две отдельные метки времени (DATETIMEOFFSET)
PT PERIOD(TIME) Можно преобразовать в VARCHAR или разделить на два отдельных значения времени
PZ PERIOD (TIME WITH TIME ZONE) Можно преобразовать в VARCHAR или разделить на два отдельных значения времени, но WITH TIME ZONE не поддерживается для TIME
SC INTERVAL SECOND Типы данных INTERVAL не поддерживаются в Azure Synapse, но вычисления дат можно выполнять с помощью функций сравнения дат (например, DATEDIFF и DATEADD).
SZ TIMESTAMP WITH TIME ZONE DATETIMEOFFSET
TS timestamp DATETIME или DATETIME2
TZ TIME WITH TIME ZONE TIME WITH TIME ZONE не поддерживается, так как TIME хранится только с использованием времени "по часам" без смещения часового пояса.
XM XML В настоящее время тип данных XML не поддерживается напрямую в Azure Synapse, но данные XML могут храниться в поле VARCHAR.
YM INTERVAL YEAR TO MONTH Типы данных INTERVAL не поддерживаются в Azure Synapse, но вычисления дат можно выполнять с помощью функций сравнения дат (например, DATEDIFF и DATEADD).
YR INTERVAL YEAR Типы данных INTERVAL не поддерживаются в Azure Synapse, но вычисления дат можно выполнять с помощью функций сравнения дат (например, DATEDIFF и DATEADD).

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

SELECT
ColumnType, CASE
WHEN ColumnType = '++' THEN 'TD_ANYTYPE' 
WHEN ColumnType = 'A1' THEN 'ARRAY' WHEN 
ColumnType = 'AN' THEN 'ARRAY' WHEN 
ColumnType = 'BO' THEN 'BLOB'
WHEN ColumnType = 'CO' THEN 'CLOB'
WHEN ColumnType = 'DH' THEN 'INTERVAL DAY TO HOUR' WHEN 
ColumnType = 'DM' THEN 'INTERVAL DAY TO MINUTE' WHEN 
ColumnType = 'DS' THEN 'INTERVAL DAY TO SECOND' WHEN
ColumnType = 'DT' THEN 'DATASET'
WHEN ColumnType = 'DY' THEN 'INTERVAL DAY'
WHEN ColumnType = 'HM' THEN 'INTERVAL HOUR TO MINUTE' WHEN
ColumnType = 'HR' THEN 'INTERVAL HOUR'
WHEN ColumnType = 'HS' THEN 'INTERVAL HOUR TO SECOND' WHEN
ColumnType = 'JN' THEN 'JSON'
WHEN ColumnType = 'MI' THEN 'INTERVAL MINUTE' WHEN 
ColumnType = 'MO' THEN 'INTERVAL MONTH'
WHEN ColumnType = 'MS' THEN 'INTERVAL MINUTE TO SECOND' WHEN
ColumnType = 'PD' THEN 'PERIOD(DATE)'
WHEN ColumnType = 'PM' THEN 'PERIOD (TIMESTAMP WITH TIME ZONE)'
WHEN ColumnType = 'PS' THEN 'PERIOD(TIMESTAMP)' WHEN 
ColumnType = 'PT' THEN 'PERIOD(TIME)'
WHEN ColumnType = 'PZ' THEN 'PERIOD (TIME WITH TIME ZONE)' WHEN
ColumnType = 'SC' THEN 'INTERVAL SECOND'
WHEN ColumnType = 'SZ' THEN 'TIMESTAMP WITH TIME ZONE' WHEN
ColumnType = 'XM' THEN 'XML'
WHEN ColumnType = 'YM' THEN 'INTERVAL YEAR TO MONTH' WHEN
ColumnType = 'YR' THEN 'INTERVAL YEAR'
END AS Data_Type,
COUNT (*) AS Data_Type_Count FROM
DBC.ColumnsV
WHERE DatabaseName IN ('UserDB1', 'UserDB2', 'UserDB3') -- select databases to be migrated
GROUP BY 1,2
ORDER BY 1;

Совет

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

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

Создание языка описания данных (DDL)

Совет

Используйте существующие метаданные Teradata для автоматизации создания CREATE TABLE и CREATE VIEW DDL Azure Synapse.

Измените существующие скрипты Teradata CREATE TABLE и CREATE VIEW, чтобы создать эквивалентные определения с измененными типами данных, как описано ранее при необходимости. Как правило, это включает удаление дополнительных предложений, характерных для Teradata, таких как FALLBACK или MULTISET.

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

Получите доступ к этой информации с помощью представлений каталога, таких как DBC.ColumnsV, и создавайте эквивалентные инструкции DDL CREATE TABLE для эквивалентных таблиц в Azure Synapse.

Совет

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

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

Различия SQL DDL между Teradata и Azure Synapse

Язык обработки данных SQL (DML)

Совет

Команды SQL DML SELECT, INSERT и UPDATE имеют стандартные основные элементы, но также могут реализовывать различные параметры синтаксиса.

Стандарт ANSI SQL определяет базовый синтаксис для таких команд DML, как SELECT, INSERT, UPDATE и DELETE. И Teradata, и Azure Synapse используют эти команды, но в некоторых случаях существуют различия в реализации.

В следующих разделах рассматриваются команды DML для Teradata, которые следует учитывать во время миграции на Azure Synapse.

Различия в синтаксисе SQL DML

Учитывайте эти различия в синтаксисе языка обработки данных DML SQL между Teradata SQL и Azure Synapse (T-SQL) при миграции:

  • QUALIFY: Teradata поддерживает оператор QUALIFY. Пример:

    SELECT col1
    FROM tab1
    WHERE col1='XYZ'
    QUALIFY ROW_NUMBER () OVER (PARTITION by
    col1 ORDER BY col1) = 1;
    

    Эквивалентный синтаксис Azure Synapse:

    SELECT * FROM (
    SELECT col1, ROW_NUMBER () OVER (PARTITION by col1 ORDER BY col1) rn
    FROM tab1 WHERE col1='XYZ'
    ) WHERE rn = 1;
    
  • Арифметические операции с датами: в Azure Synapse есть такие операторы, как DATEADD и DATEDIFF, которые можно использовать в полях DATE или DATETIME. Teradata поддерживает прямое вычитание таких дат, как SELECT DATE1 - DATE2 FROM...

  • В поле порядкового номера GROUP BY явно укажите имя столбца T-SQL.

  • LIKE ANY: Teradata поддерживает синтаксис LIKE ANY, например:

    SELECT * FROM CUSTOMER
    WHERE POSTCODE LIKE ANY
    ('CV1%', 'CV2%', 'CV3%');
    

    Эквивалентный синтаксис в Azure Synapse:

    SELECT * FROM CUSTOMER
    WHERE
    (POSTCODE LIKE 'CV1%') OR (POSTCODE LIKE 'CV2%') OR (POSTCODE LIKE 'CV3%');
    
  • В зависимости от параметров системы сравнение символов в Teradata может по умолчанию производиться без учета регистра. В Azure Synapse при сравнении символов всегда учитывается регистр.

Использование EXPLAIN для проверки устаревших SQL

Совет

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

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

Функции, хранимые процедуры, триггеры и последовательности

Совет

В рамках этапа подготовки оцените количество и тип переносимых объектов, не относящихся к данным.

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

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

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

Совет

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

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

Дополнительные сведения о каждом из этих элементов см. в следующих разделах.

Функции

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

Хранимые процедуры

Большинство современных продуктов баз данных позволяют хранить процедуры в базе данных. Teradata предоставляет для этой цели язык SPL. Как правило, хранимая процедура содержит инструкции SQL и процедурную логику, а также может возвращать данные или состояние.

Выделенные пулы SQL Azure Synapse Analytics также поддерживают хранимые процедуры с помощью T-SQL, поэтому, если необходимо перенести хранимые процедуры, перекодируйте их соответствующим образом.

Триггеры

Azure Synapse не поддерживает создание триггеров, но их можно реализовать в Фабрике данных Azure.

Последовательности

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

Сопоставление Teradata с T-SQL

В этой таблице показано сопоставление типов данных Teradata с T-SQL, совместимое с Azure Synapse SQL.

Тип данных Teradata Тип данных Azure Synapse SQL
 BIGINT  BIGINT
 bool  bit
 Логическое  bit
 byteint  tinyint
 char [(p)]  char [(p)]
 char varying [(p)]  varchar [(p)]
 character [(p)]  char [(p)]
 character varying [(p)]  varchar [(p)]
 Дата  Дата
 DATETIME  DATETIME
 dec [(p[,s])]  decimal [(p[,s])]
 decimal [(p[,s])]  decimal [(p[,s])]
 double  float(53)
 double precision  float(53)
 float [(p)]  float [(p)]
 float4  float(53)
 float8  float(53)
 INT  INT
 int1 tinyint
 int2 smallint
 int4 INT
 int8 BIGINT
 Целое число Целое число
 interval Не поддерживается
 national char varying [(p)] nvarchar [(p)]
 national character [(p)] nchar [(p)]
 national character varying [(p)]  nvarchar [(p)]
 nchar [(p)]  nchar [(p)]
 numeric [(p[,s])]  numeric [(p[,s])
 nvarchar [(p)]  nvarchar [(p)]
 real  real
 smallint  smallint
 time  time
 time with time zone  datetimeoffset
 time without time zone  time
 Интервал времени   Не поддерживается
 TIMESTAMP  datetime2
 timetz  datetimeoffset
 varchar [(p)]  varchar [(p)]

Сводка

Типичные устаревшие установки Teradata реализованы таким образом, чтобы упростить миграцию в Azure Synapse. Они используют SQL для аналитических запросов к большим объемам данных и имеют некоторую форму многомерной модели данных. Эти факторы делают их подходящими кандидатами для миграции в Azure Synapse.

Чтобы свести к минимуму задачу миграции фактического кода SQL, следуйте этим рекомендациям:

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

  • Рассмотрите возможность использования экземпляра Teradata на виртуальной машине Azure в качестве отправной точки в процессе миграции.

  • Ознакомьтесь с различиями между реализацией Teradata SQL и Azure Synapse.

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

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

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

Дальнейшие действия

Дополнительные сведения о средствах Майкрософт и сторонних производителей см. в следующей статье этой серии: Средства для переноса хранилища данных Teradata в Azure Synapse Analytics.