Minimalizace problémů s SQL pro migrace Teradata
Tento článek je pátou částí sedmidílné série, která poskytuje pokyny k migraci z Teradata na Azure Synapse Analytics. Cílem tohoto článku jsou osvědčené postupy pro minimalizaci problémů s SQL.
Přehled
Charakteristika prostředí Teradata
Tip
Teradata byla v roce 1980 průkopnicí rozsáhlých databází SQL s využitím MPP.
V roce 1984 společnost Teradata původně vydala svůj databázový produkt. Zavedl techniky MPP (Massively Parallel Processing), které umožňují zpracování dat ve velkém měřítku efektivněji než stávající sálové technologie, které jsou v té době k dispozici. Od té doby se produkt vyvinul a má mnoho instalací mezi velkými finančními institucemi, telekomunikačními a maloobchodními společnostmi. Původní implementace používala proprietární hardware a byla připojena k sálovým počítačům – obvykle procesorům kompatibilním s IBM nebo IBM.
I když nedávná oznámení zahrnovala síťové připojení a dostupnost sady technologií Teradata v cloudu (včetně Azure), většina stávajících instalací je místně, takže mnoho uživatelů uvažuje o migraci některých nebo všech svých dat Teradata do Azure Synapse Analytics, aby získali výhody přechodu na moderní cloudové prostředí.
Tip
Mnoho existujících instalací Teradata jsou datové sklady využívající dimenzionální datový model.
Technologie Teradata se často používá k implementaci datového skladu, která podporuje komplexní analytické dotazy na velké objemy dat pomocí SQL. Dimenzionální datové modely – hvězdicová nebo sněhová vločková schémata – jsou běžné, stejně jako implementace datových tržitek pro jednotlivá oddělení.
Tato kombinace SQL a dimenzionálních datových modelů zjednodušuje migraci na Azure Synapse, protože základní koncepty a dovednosti SQL jsou přenositelné. Doporučeným přístupem je migrace existujícího datového modelu tak, jak je, aby se snížilo riziko a doba potřebná. I když je konečným záměrem provést změny datového modelu (například přechod na model trezoru dat), proveďte počáteční migraci tak, jak je, a pak proveďte změny v cloudovém prostředí Azure s využitím výkonu, elastické škálovatelnosti a nákladových výhod.
Jazyk SQL je sice standardizovaný, ale jednotliví dodavatelé mají v některých případech implementovaná proprietární rozšíření. Tento dokument popisuje potenciální rozdíly SQL, se kterými se můžete setkat při migraci ze starší verze prostředí Teradata, a obsahuje alternativní řešení.
Použití instance Teradata virtuálního počítače Azure v rámci migrace
Tip
Pomocí virtuálního počítače Azure vytvořte dočasnou instanci Teradata, abyste urychlili migraci a minimalizovali dopad na zdrojový systém.
Při spuštění migrace z místního prostředí Teradata využijte prostředí Azure. Azure poskytuje cenově dostupné cloudové úložiště a elastickou škálovatelnost k vytvoření instance Teradata v rámci virtuálního počítače v Azure, která je v souladu s cílovým Azure Synapse prostředím.
S tímto přístupem je možné použít standardní nástroje Teradata, jako je Teradata Parallel Data Transporter (nebo nástroje pro replikaci dat třetích stran, jako je replikace attunity), k efektivnímu přesunu podmnožin tabulek Teradata, které se mají migrovat do instance virtuálního počítače, a všechny úlohy migrace pak můžou probíhat v prostředí Azure. Tento přístup má několik výhod:
Po počáteční replikaci dat není zdrojový systém ovlivněn úlohami migrace.
V prostředí Azure jsou k dispozici známá rozhraní, nástroje a nástroje Teradata.
V prostředí Azure nedochází k žádným potenciálním problémům s dostupností šířky pásma sítě mezi místním zdrojovým systémem a cílovým cloudovým systémem.
Nástroje, jako je Azure Data Factory, můžou efektivně volat nástroje, jako je Teradata Parallel Transporter, a rychle a snadno migrovat data.
Proces migrace se orchestruje a řídí zcela v rámci prostředí Azure.
Použití Azure Data Factory k implementaci migrace řízené metadaty
Tip
Automatizujte proces migrace pomocí funkcí Azure Data Factory.
Automatizujte a orchestrujte proces migrace s využitím možností v prostředí Azure. Tento přístup také minimalizuje dopad migrace na stávající prostředí Teradata, které se už může blížit plné kapacitě.
Azure Data Factory je cloudová služba pro integraci dat, která umožňuje vytváření pracovních postupů řízených daty v cloudu pro orchestraci a automatizaci přesunu a transformace dat. Pomocí služby Data Factory můžete vytvářet a plánovat pracovní postupy řízené daty (označované jako kanály), které můžou ingestovat data z různorodých úložišť dat. Může zpracovávat a transformovat data pomocí výpočetních služeb, jako jsou Azure HDInsight Hadoop, Spark, Azure Data Lake Analytics a Azure Machine Learning.
Když vytvoříte metadata pro seznam tabulek dat, které se mají migrovat, a jejich umístění, můžete použít zařízení služby Data Factory ke správě a automatizaci částí procesu migrace. Můžete také použít Azure Synapse Pipelines.
Rozdíly SQL DDL mezi teradata a Azure Synapse
JAZYK DDL (SQL Data Definition Language)
Tip
Příkazy CREATE TABLE
SQL DDL a CREATE VIEW
mají standardní základní prvky, ale používají se také k definování možností specifických pro implementaci.
Standard ANSI SQL definuje základní syntaxi pro příkazy DDL, jako CREATE TABLE
jsou a CREATE VIEW
. Tyto příkazy se používají v teradata i Azure Synapse, ale byly také rozšířeny tak, aby umožňovaly definovat funkce specifické pro implementaci, jako je indexování, distribuce tabulek a možnosti dělení.
Následující části popisují možnosti specifické pro Teradata, které je potřeba zvážit při migraci na Azure Synapse.
Důležité informace o tabulce
Tip
Pomocí existujících indexů můžete indikovat kandidáty na indexování v migrovaném skladu.
Při migraci tabulek mezi různými technologiemi se mezi těmito dvěma prostředími fyzicky přesunou jenom nezpracovaná data a jejich popisná metadata. Jiné databázové prvky ze zdrojového systému, jako jsou indexy a soubory protokolů, se nemigrují přímo, protože nemusí být potřeba nebo se můžou v novém cílovém prostředí implementovat odlišně. Například v syntaxi Teradata CREATE TABLE
neexistuje žádný ekvivalent MULTISET
možnosti.
Je důležité pochopit, kde se ve zdrojovém prostředí používaly optimalizace výkonu , například indexy. To označuje, kam je možné v novém cílovém prostředí přidat optimalizaci výkonu. Pokud byl například ve zdrojovém prostředí Teradata vytvořen ne jedinečný sekundární index (NUSI), může to znamenat, že v migrované databázi Azure Synapse by se měl vytvořit ne clusterovaný index. Jiné nativní techniky optimalizace výkonu, jako je například replikace tabulek, můžou být použitelnější než přímé vytvoření indexu typu like-for-like.
Nepodporované typy tabulek Teradata
Tip
Standardní tabulky v rámci Azure Synapse můžou podporovat migrované časové řady Teradata a dočasné tabulky.
Teradata obsahuje podporu speciálních typů tabulek pro časové řady a dočasná data. Syntaxe a některé funkce pro tyto typy tabulek nejsou přímo podporovány v rámci Azure Synapse, ale data je možné migrovat do standardní tabulky s příslušnými datovými typy a indexováním nebo dělením ve sloupci datum a čas.
Teradata implementuje funkci dočasného dotazu prostřednictvím přepsání dotazu a přidává do dočasného dotazu další filtry, aby se omezil příslušný rozsah dat. Pokud se tato funkce aktuálně používá ve zdrojovém prostředí Teradata a má se migrovat, bude potřeba toto další filtrování přidat do příslušných dočasných dotazů.
Prostředí Azure obsahuje také specifické funkce pro komplexní analýzu dat časových řad ve velkém měřítku, které se označují jako time series insights – jsou zaměřené na aplikace pro analýzu dat IoT a pro tento případ použití mohou být vhodnější.
Nepodporované datové typy Teradata
Tip
Vyhodnoťte dopad nepodporovaných datových typů v rámci přípravné fáze.
Většina datových typů Teradata má v Azure Synapse přímý ekvivalent. Následující tabulka obsahuje datové typy Teradata, které nejsou podporovány v Azure Synapse spolu s doporučeným mapováním. V tabulce je typ sloupce Teradata typ, který je uložený v systémovém katalogu – například v DBC.ColumnsV
.
Typ sloupce Teradata | Datový typ Teradata | datový typ Azure Synapse |
---|---|---|
++ | TD_ANYTYPE | Není podporováno v Azure Synapse |
A1 | POLE | Není podporováno v Azure Synapse |
AN | POLE | Není podporováno v Azure Synapse |
AT | ČAS | ČAS |
BF | BYTE | BINÁRNÍ |
BO | BLOB | Datový typ objektu BLOB není přímo podporovaný, ale je možné ho nahradit binárním. |
BV | VARBYTE | BINÁRNÍ |
CF | VARCHAR | CHAR |
CO | CLOB | Datový typ CLOB není přímo podporovaný, ale je možné ho nahradit funkcí VARCHAR. |
CV | VARCHAR | VARCHAR |
D | DESETINNÝCH | DESETINNÝCH |
DA | DATE (Datum) | DATE (Datum) |
DH | INTERVAL OD DNE DO HODINY | Datové typy INTERVAL nejsou v Azure Synapse podporované, ale výpočty kalendářních dat je možné provádět pomocí funkcí porovnání kalendářních dat (například DATEDIFF a DATEADD). |
DM | INTERVAL DEN AŽ MINUTA | Datové typy INTERVAL nejsou v Azure Synapse podporované, ale výpočty kalendářních dat je možné provádět pomocí funkcí porovnání kalendářních dat (například DATEDIFF a DATEADD). |
DS | INTERVAL DEN AŽ SEKUNDA | Datové typy INTERVAL nejsou v Azure Synapse podporované, ale výpočty kalendářních dat je možné provádět pomocí funkcí porovnání kalendářních dat (například DATEDIFF a DATEADD). |
DT | DATASET | Datový typ DATOVÉ SADY je podporován v Azure Synapse. |
DY | DEN INTERVALU | Datové typy INTERVAL nejsou v Azure Synapse podporované, ale výpočty kalendářních dat je možné provádět pomocí funkcí porovnání kalendářních dat (například DATEDIFF a DATEADD). |
F | FLOAT | FLOAT |
HM | INTERVAL OD HODINY DO MINUTY | Datové typy INTERVAL nejsou v Azure Synapse podporované, ale výpočty kalendářních dat je možné provádět pomocí funkcí porovnání kalendářních dat (například DATEDIFF a DATEADD). |
HR | HODINA INTERVALU | Datové typy INTERVAL nejsou v Azure Synapse podporované, ale výpočty kalendářních dat je možné provádět pomocí funkcí porovnání kalendářních dat (například DATEDIFF a DATEADD). |
HS | INTERVAL OD HODINY DO SEKUNDY | Datové typy INTERVAL nejsou v Azure Synapse podporované, ale výpočty kalendářních dat je možné provádět pomocí funkcí porovnání kalendářních dat (například DATEDIFF a DATEADD). |
I1 | BYTEINT | TINYINT |
I2 | SMALLINT | SMALLINT |
I8 | BIGINT | BIGINT |
I | CELÉ ČÍSLO | INT |
JN | JSON | Datový typ JSON není v současné době přímo podporován v rámci Azure Synapse, ale data JSON je možné uložit do pole VARCHAR. |
MI | MINUTA INTERVALU | Datové typy INTERVAL nejsou v Azure Synapse podporované, ale výpočty kalendářních dat je možné provádět pomocí funkcí porovnání kalendářních dat (například DATEDIFF a DATEADD). |
MO | INTERVAL MĚSÍC | Datové typy INTERVAL nejsou v Azure Synapse podporované, ale výpočty kalendářních dat je možné provádět pomocí funkcí porovnání kalendářních dat (například DATEDIFF a DATEADD). |
MS | INTERVAL OD MINUTY DO SEKUNDY | Datové typy INTERVAL nejsou v Azure Synapse podporované, ale výpočty kalendářních dat je možné provádět pomocí funkcí porovnání kalendářních dat (například DATEDIFF a DATEADD). |
N | ČÍSLO | ČÍSELNÉ |
PD | TEČKA(DATUM) | Lze převést na VARCHAR nebo rozdělit na dvě samostatná data. |
PM | OBDOBÍ (ČASOVÉ RAZÍTKO S ČASOVÝM PÁSMEM) | Lze převést na VARCHAR nebo rozdělit na dvě samostatná časová razítka (DATETIMEOFFSET). |
PS | TEČKA(ČASOVÉ RAZÍTKO) | Lze převést na VARCHAR nebo rozdělit na dvě samostatná časová razítka (DATETIMEOFFSET). |
PT | OBDOBÍ(ČAS) | Lze převést na varchar nebo rozdělit do dvou samostatných časů. |
PZ | OBDOBÍ (ČAS S ČASOVÝM PÁSMEM) | Lze převést na VARCHAR nebo rozdělit do dvou samostatných časů, ale s časovým pásmem není pro TIME podporováno. |
SC | DRUHÝ INTERVAL | Datové typy INTERVAL nejsou v Azure Synapse podporované, ale výpočty kalendářních dat je možné provádět pomocí funkcí porovnání kalendářních dat (například DATEDIFF a DATEADD). |
SZ | ČASOVÉ RAZÍTKO S ČASOVÝM PÁSMEM | DATETIMEOFFSET |
TW | ČASOVÉ RAZÍTKO | DATETIME nebo DATETIME2 |
TZ | ČAS S ČASOVÝM PÁSMEM | Funkce TIME WITH TIME ZONE není podporována, protože funkce TIME se ukládá pomocí "nástěnných hodin" času pouze bez posunu časového pásma. |
XM | XML | Datový typ XML není v současné době přímo podporován v rámci Azure Synapse, ale data XML mohou být uložena v poli VARCHAR. |
YM | INTERVAL OD ROKU DO MĚSÍCE | Datové typy INTERVAL nejsou v Azure Synapse podporované, ale výpočty kalendářních dat je možné provádět pomocí funkcí porovnání dat (například DATEDIFF a DATEADD). |
YR | INTERVAL ROK | Datové typy INTERVAL nejsou v Azure Synapse podporované, ale výpočty kalendářních dat je možné provádět pomocí funkcí porovnání dat (například DATEDIFF a DATEADD). |
Pomocí metadat z tabulek katalogu Teradata můžete určit, jestli se má některý z těchto typů dat migrovat, a povolit to v plánu migrace. Například pomocí dotazu SQL, jako je tento, můžete najít výskyty nepodporovaných datových typů, které vyžadují pozornost.
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;
Tip
Nástroje a služby třetích stran můžou automatizovat úlohy mapování dat.
Existují dodavatelé třetích stran, kteří nabízejí nástroje a služby pro automatizaci migrace, včetně mapování datových typů. Pokud se již v prostředí Teradata používá nástroj ETL třetí strany, například Informatica nebo Talend, můžou tyto nástroje implementovat jakékoli požadované transformace dat.
Generování jazyka DDL (Data Definition Language)
Tip
Použití existujících metadat Teradata k automatizaci generování CREATE TABLE
a CREATE VIEW DDL
pro Azure Synapse.
Upravte existující teradata CREATE TABLE
a skripty a CREATE VIEW
vytvořte ekvivalentní definice s upravenými datovými typy, jak je popsáno výše v případě potřeby. Obvykle to zahrnuje odebrání dalších klauzulí specifických pro Teradata, jako FALLBACK
je nebo MULTISET
.
Všechny informace, které určují aktuální definice tabulek a zobrazení v existujícím prostředí Teradata, se však uchovávají v tabulkách systémového katalogu. Toto je nejlepší zdroj těchto informací, protože je zaručeno, že budou aktuální a úplné. Mějte na paměti, že uživatelsky udržovaná dokumentace nemusí být synchronizovaná s aktuálními definicemi tabulek.
Přístup k těmto informacím prostřednictvím zobrazení do katalogu, například DBC.ColumnsV
a generování ekvivalentních CREATE TABLE
příkazů DDL pro ekvivalentní tabulky v Azure Synapse.
Tip
Nástroje a služby třetích stran můžou automatizovat úlohy mapování dat.
Existují partneři Microsoftu , kteří nabízejí nástroje a služby pro automatizaci migrace, včetně mapování datových typů. Pokud se v prostředí Teradata již používá nástroj ETL třetí strany, jako je Informatica nebo Talend, může tento nástroj implementovat všechny požadované transformace dat.
Rozdíly SQL DML mezi teradata a Azure Synapse
Jazyk DML (SQL Data Manipulation Language)
Tip
Příkazy SELECT
SQL DML , INSERT
a UPDATE
mají standardní základní prvky, ale můžou také implementovat různé možnosti syntaxe.
Standard ANSI SQL definuje základní syntaxi pro příkazy DML, jako SELECT
jsou , INSERT
UPDATE
, a DELETE
. Tyto příkazy používají teradata i Azure Synapse, ale v některých případech existují rozdíly v implementaci.
Následující části popisují příkazy DML specifické pro Teradata, které byste měli zvážit při migraci do Azure Synapse.
Rozdíly v syntaxi SQL DML
Mějte na paměti tyto rozdíly v syntaxi jazyka DML (SQL Data Manipulation Language) mezi Teradata SQL a Azure Synapse (T-SQL) při migraci:
QUALIFY
: Teradata podporujeQUALIFY
operátor. Příklad:SELECT col1 FROM tab1 WHERE col1='XYZ' QUALIFY ROW_NUMBER () OVER (PARTITION by col1 ORDER BY col1) = 1;
Ekvivalentní syntaxe Azure Synapse je:
SELECT * FROM ( SELECT col1, ROW_NUMBER () OVER (PARTITION by col1 ORDER BY col1) rn FROM tab1 WHERE col1='XYZ' ) WHERE rn = 1;
Aritmetika data: Azure Synapse obsahuje operátory, jako
DATEADD
jsou aDATEDIFF
které lze použít uDATE
polí neboDATETIME
. Teradata podporuje přímé odčítání kalendářních dat, napříkladSELECT DATE1 - DATE2 FROM...
Jako
GROUP BY
řadový zadejte explicitně název sloupce T-SQL.LIKE ANY
: Teradata podporujeLIKE ANY
syntaxi, například:SELECT * FROM CUSTOMER WHERE POSTCODE LIKE ANY ('CV1%', 'CV2%', 'CV3%');
Ekvivalent syntaxe Azure Synapse je:
SELECT * FROM CUSTOMER WHERE (POSTCODE LIKE 'CV1%') OR (POSTCODE LIKE 'CV2%') OR (POSTCODE LIKE 'CV3%');
V závislosti na nastavení systému můžou být porovnávání znaků v Teradata ve výchozím nastavení nerozlišující malá a velká písmena. V Azure Synapse se při porovnávání znaků vždy rozlišují velká a malá písmena.
Použití funkce EXPLAIN k ověření starší verze SQL
Tip
K vyhledání potenciálních problémů s migrací použijte skutečné dotazy z existujících protokolů dotazů systému.
Jedním ze způsobů, jak otestovat kompatibilitu starší verze Teradata SQL s Azure Synapse, je zachytit některé reprezentativní příkazy SQL ze starších protokolů dotazů systému, před tyto dotazy zadat předponu EXPLAIN a (za předpokladu, že migrovaný datový model "like-for- like" v Azure Synapse se stejnými názvy tabulek a sloupců) spustit tyto EXPLAIN
příkazy v Azure Synapse. Jakýkoli nekompatibilní SQL vyvolá chybu – tyto informace použijte k určení měřítka úlohy přepočítávání. Tento přístup nevyžaduje načtení dat do prostředí Azure, pouze vytvoření příslušných tabulek a zobrazení.
Funkce, uložené procedury, triggery a sekvence
Tip
V rámci přípravné fáze vyhodnoťte počet a typ migrovaných ne-datových objektů.
Při migraci z vyspělého staršího prostředí datového skladu, jako je Teradata, je často potřeba migrovat do nového cílového prostředí jiné prvky než jednoduché tabulky a zobrazení. Mezi příklady patří funkce, uložené procedury, triggery a sekvence.
V rámci přípravné fáze vytvořte inventář objektů, které je potřeba migrovat, a definujte metody pro jejich zpracování. Pak v plánu projektu přiřaďte odpovídající přidělení zdrojů.
V prostředí Azure můžou existovat zařízení, která nahrazují funkce implementované jako funkce nebo uložené procedury v prostředí Teradata. V tomto případě je často efektivnější používat integrovaná zařízení Azure než překódovat funkce Teradata.
Tip
Produkty a služby třetích stran můžou automatizovat migraci jiných než datových prvků.
Partneři Microsoftu nabízejí nástroje a služby, které můžou migraci automatizovat.
Další informace o každém z těchto prvků najdete v následujících částech.
Functions
Stejně jako u většiny databázových produktů podporuje Teradata systémové funkce a uživatelem definované funkce v rámci implementace SQL. Při migraci na jinou databázovou platformu, jako je Azure Synapse, jsou k dispozici běžné systémové funkce, které je možné migrovat beze změny. Některé systémové funkce můžou mít trochu odlišnou syntaxi, ale požadované změny je možné automatizovat. Systémové funkce, u kterých neexistuje žádný ekvivalent, například libovolné uživatelem definované funkce, může být potřeba překódovat pomocí jazyků dostupných v cílovém prostředí. Azure Synapse k implementaci uživatelem definovaných funkcí používá oblíbený jazyk Transact-SQL.
Uložené procedury
Většina moderních databázových produktů umožňuje ukládání procedur v databázi. Teradata poskytuje jazyk SPL pro tento účel. Uložená procedura obvykle obsahuje příkazy SQL a určitou procedurální logiku a může vrátit data nebo stav.
Vyhrazené fondy SQL Azure Synapse Analytics také podporují uložené procedury pomocí T-SQL, takže pokud musíte uložené procedury migrovat, překódujte je odpovídajícím způsobem.
Aktivační události
Azure Synapse nepodporuje vytváření triggerů, ale můžete je implementovat v rámci Azure Data Factory.
Sekvence
Azure Synapse sekvence se zpracovávají podobným způsobem jako v teradata. K vytvoření náhradních klíčů nebo spravované identity se používá identita.
Mapování Teradata na T-SQL
Tato tabulka ukazuje mapování datového typu Azure Synapse SQL kompatibilní s teradata na T-SQL:
Datový typ Teradata | Azure Synapse datového typu SQL |
---|---|
bigint | bigint |
bool | bit |
boolean | bit |
byteint | tinyint |
char [(p)] | char [(p)] |
char se liší [(p)] | varchar [(p)] |
znak [(p)] | char [(p)] |
znak lišící se [(p)] | varchar [(p)] |
date | date |
datetime | datetime |
dec [(p[,s])] | decimal [(p[,s])] |
decimal [(p[,s])] | decimal [(p[,s])] |
double | float(53) |
dvojitá přesnost | float(53) |
float [(p)] | float [(p)] |
float4 | float(53) |
float8 | float(53) |
int | int |
int1 | tinyint |
int2 | smallint |
int4 | int |
int8 | bigint |
integer | integer |
interval | Nepodporuje se |
national char varying [(p)] | nvarchar [(p)] |
národní znak [(p)] | nchar [(p)] |
národní charakter lišící se [(p)] | nvarchar [(p)] |
nchar [(p)] | nchar [(p)] |
numeric [(p[,s])] | numeric [(p[,s]) |
nvarchar [(p)] | nvarchar [(p)] |
real | real |
smallint | smallint |
time | time |
čas s časovým pásmem | Datetimeoffset |
čas bez časového pásma | time |
timespan | Nepodporuje se |
časové razítko | datetime2 |
timetz | Datetimeoffset |
varchar [(p)] | varchar [(p)] |
Souhrn
Typické starší instalace Teradata se implementují způsobem, který usnadňuje migraci do Azure Synapse. Používají SQL pro analytické dotazy na velké objemy dat a mají určitou formu dimenzionálního datového modelu. Díky těmto faktorům jsou vhodnými kandidáty pro migraci na Azure Synapse.
Pokud chcete minimalizovat úlohu migrace skutečného kódu SQL, postupujte podle těchto doporučení:
Počáteční migrace datového skladu by měla proběhnout tak, jak je, aby se minimalizovalo riziko a čas potřebný i v případě, že konečné prostředí bude obsahovat jiný datový model, například trezor dat.
Zvažte použití instance Teradata na virtuálním počítači Azure jako odrazového můstku v rámci procesu migrace.
Seznamte se s rozdíly mezi implementací Teradata SQL a Azure Synapse.
Pomocí metadat a protokolů dotazů ze stávající implementace Teradata vyhodnoťte dopad rozdílů a naplánujte přístup ke zmírnění.
Automatizujte proces všude, kde je to možné, abyste minimalizovali chyby, rizika a čas pro migraci.
Pokud chcete migraci zjednodušit, zvažte použití specializovaných partnerů a služeb Microsoftu .
Další kroky
Další informace o nástrojích od Microsoftu a třetích stran najdete v následujícím článku v této sérii: Nástroje pro migraci datového skladu Teradata do Azure Synapse Analytics.