Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk egy hétrészes sorozat ötödik része, amely útmutatást nyújt a Teradata-ból az Azure Synapse Analyticsbe való migráláshoz. A cikk középpontjában az SQL-problémák minimalizálásának ajánlott eljárásai vannak.
Áttekintés
A Teradata-környezetek jellemzői
Jótanács
A Teradata az 1980-ban úttörőként használta az MPP-t használó nagyméretű SQL-adatbázisokat.
1984-ben a Teradata először kiadta adatbázis-termékét. Jelentős mértékben párhuzamos feldolgozási (MPP- ) technikákat vezetett be, amelyekkel hatékonyabban lehet adatfeldolgozást lehetővé tenni, mint az akkoriban rendelkezésre álló nagyszámítógépes technológiák. Azóta a termék fejlődött, és számos létesítménye van a nagy pénzügyi intézmények, a távközlési és a kiskereskedelmi vállalatok körében. Az eredeti implementáció saját hardvert használt, és főszámítógépekhez – általában IBM- vagy IBM-kompatibilis processzorokhoz – volt csatlakoztatva.
Bár a legutóbbi bejelentések a hálózati kapcsolatot és a Teradata technológiai verem felhőben való rendelkezésre állását is magukban foglalták (beleértve az Azure-t is), a legtöbb meglévő telepítés a helyszínen található, ezért sok felhasználó fontolóra veszi a Teradata-adatok egy részének vagy egészének migrálását az Azure Synapse Analyticsbe, hogy kihasználhassa a modern felhőkörnyezetre való áttérés előnyeit.
Jótanács
Számos meglévő Teradata-telepítés dimenziós adatmodellt használó adattárház.
A Teradata technológiát gyakran használják adattárház implementálásához, amely összetett elemzési lekérdezéseket támogat nagy adatmennyiségeken SQL használatával. A dimenziós adatmodellek – csillag- vagy hópehelysémák – gyakoriak, ahogy az egyes részlegek adat martjainak implementálása is.
Az SQL- és dimenziós adatmodellek ezen kombinációja leegyszerűsíti az Azure Synapse-ba való migrálást, mivel az alapfogalmak és az SQL-készségek átadhatók. Az ajánlott módszer a meglévő adatmodell migrálása as-is a kockázat és az igénybe vett idő csökkentése érdekében. Még akkor is, ha a végső szándék az adatmodell módosítása (például adattároló-modellre való áttérés), végezzen kezdeti as-is migrálást, majd végezze el a módosításokat az Azure felhőkörnyezetében, kihasználva a teljesítményt, a rugalmas méretezhetőséget és a költségelőnyöket.
Bár az SQL nyelv szabványosított, egyes gyártók bizonyos esetekben saját fejlesztésű bővítményeket implementáltak. Ez a dokumentum az örökölt Teradata-környezetből való migrálás során felmerülő lehetséges SQL-különbségeket emeli ki, és kerülő megoldásokat kínál.
Azure-beli virtuálisgép-teradata-példány használata migrálás részeként
Jótanács
Egy Azure-beli virtuális gép használatával hozzon létre egy ideiglenes Teradata-példányt a migrálás felgyorsítása és a forrásrendszerre gyakorolt hatás minimalizálása érdekében.
Használja ki az Azure-környezetet egy helyszíni Teradata-környezetből való migrálás futtatásakor. Az Azure megfizethető felhőalapú tárolást és rugalmas méretezhetőséget biztosít egy Teradata-példány létrehozásához egy Azure-beli virtuális gépen belül, a cél Azure Synapse-környezettel csoportosítva.
Ezzel a megközelítéssel a szabványos Teradata-segédprogramok, például a Teradata párhuzamos adattovábbító (vagy külső adatreplikációs eszközök, például az Attunity Replikálás) segítségével hatékonyan áthelyezhetők a virtuálisgép-példányra migrálni kívánt Teradata-táblák részhalmaza, majd az összes migrálási feladat az Azure-környezetben végezhető el. Ez a megközelítés számos előnnyel jár:
Az adatok kezdeti replikálása után a forrásrendszerre az áttelepítési feladatok nem lesznek hatással.
A jól ismert Teradata-felületek, -eszközök és -segédprogramok az Azure-környezetben érhetők el.
Az Azure-környezetben a helyszíni forrásrendszer és a felhőbeli célrendszer közötti hálózati sávszélesség-rendelkezésre állással kapcsolatos problémák nem merülnek fel.
Az olyan eszközök, mint az Azure Data Factory, hatékonyan hívhatják meg az olyan segédprogramokat, mint a Teradata Parallel Transporter, hogy gyorsan és egyszerűen migrálják az adatokat.
A migrálási folyamat teljes egészében az Azure-környezetben van vezénylve és vezérelve.
Metaadat-alapú migrálás implementálása az Azure Data Factory használatával
Jótanács
Automatizálja a migrálási folyamatot az Azure Data Factory képességeinek használatával.
Automatizálhatja és vezényelheti a migrálási folyamatot az Azure-környezet képességeinek kihasználásával. Ez a megközelítés minimalizálja a migrálásnak a meglévő Teradata-környezetre gyakorolt hatását is, amely már a teljes kapacitás közelében futhat.
Az Azure Data Factory egy felhőalapú adatintegrációs szolgáltatás, amely lehetővé teszi az adatvezérelt munkafolyamatok létrehozását a felhőben az adatáthelyezés és adatátalakítás vezényléséhez és automatizálásához. A Data Factory használatával olyan adatvezérelt munkafolyamatokat (úgynevezett csővezetékeket) hozhat létre és ütemezhet, amelyek különböző adattárakból képesek adatokat betölteni. Feldolgozhatja és átalakíthatja az adatokat olyan számítási szolgáltatások használatával, mint az Azure HDInsight Hadoop, a Spark, az Azure Data Lake Analytics és az Azure Machine Learning.
Ha metaadatokat hoz létre a migrálni kívánt adattáblák és azok helyének listázásához, a Data Factory eszközeivel kezelheti és automatizálhatja a migrálási folyamat egyes részeit. Az Azure Synapse Pipelinest is használhatja.
SQL DDL-különbségek a Teradata és az Azure Synapse között
SQL Data Definition Language (DDL)
Jótanács
Az SQL DDL-parancsok CREATE TABLECREATE VIEW szabványos alapvető elemekkel rendelkeznek, de implementációspecifikus beállítások meghatározására is használhatók.
Az ANSI SQL-szabvány az olyan DDL-parancsok alapszintaxisát határozza meg, mint a CREATE TABLE .CREATE VIEW Ezek a parancsok a Teradata és az Azure Synapse szolgáltatásban is használhatók, de kiterjesztették őket a implementációspecifikus funkciók, például az indexelés, a táblaterjesztés és a particionálási lehetőségek meghatározására is.
A következő szakaszok az Azure Synapse-ba való migrálás során megfontolandó Teradata-specifikus lehetőségeket ismertetik.
Táblázatokkal kapcsolatos szempontok
Jótanács
Meglévő indexek használatával jelezze a migrált raktárban az indexelésre jelölteket.
A táblák különböző technológiák közötti migrálásakor csak a nyers adatok és leíró metaadatai kerülnek fizikailag áthelyezve a két környezet között. A forrásrendszer más adatbáziselemei, például az indexek és a naplófájlok nem lesznek közvetlenül migrálva, mivel előfordulhat, hogy ezekre nincs szükség, vagy az új célkörnyezeten belül másképpen implementálhatók. A Teradata MULTISET szintaxisában például nincs egyenértékű CREATE TABLE beállítás.
Fontos tisztában lenni azzal, hogy a forráskörnyezetben hol használták a teljesítményoptimalizálásokat ( például indexeket). Ez azt jelzi, hogy hol lehet hozzáadni a teljesítményoptimalizálást az új célkörnyezetben. Ha például egy nem egyedi másodlagos indexet (NUSI) hoztak létre a forrás Teradata-környezetben, ez azt jelezheti, hogy egy nem fürtözött indexet kell létrehozni a migrált Azure Synapse-adatbázisban. Más natív teljesítményoptimalizálási technikák, például a táblareplikáció, alkalmazhatóbbak lehetnek, mint egy egyenes "hasonló" index létrehozása.
Nem támogatott Teradata-táblatípusok
Jótanács
Az Azure Synapse standard táblái támogathatják a migrált Teradata idősorokat és időbeli táblákat.
A Teradata támogatja a speciális táblázattípusokat az idősorokhoz és az időbeli adatokhoz. Az Azure Synapse nem támogatja közvetlenül ezeknek a táblázattípusoknak a szintaxisát és néhány függvényét, de az adatok áttelepíthetők egy szabványos táblába a megfelelő adattípusokkal és indexeléssel vagy particionálással a dátum/idő oszlopban.
A Teradata a lekérdezés újraírásával valósítja meg az időbeli lekérdezési funkciót, hogy további szűrőket adjon hozzá egy időbeli lekérdezéshez a vonatkozó dátumtartomány korlátozása érdekében. Ha ez a funkció jelenleg a forrás Teradata-környezetben van használatban, és migrálni kell, akkor ezt a további szűrést hozzá kell adni a vonatkozó időbeli lekérdezésekhez.
Nem támogatott Teradata-adattípusok
Jótanács
A nem támogatott adattípusok hatásának felmérése az előkészítési fázis részeként.
A legtöbb Teradata-adattípus közvetlen egyenértékű az Azure Synapse-ban. Az alábbi táblázat az Azure Synapse-ban nem támogatott Teradata-adattípusokat és az ajánlott leképezést mutatja be. A táblában a Teradata oszloptípus a rendszerkatalógusban tárolt típus, például a DBC.ColumnsV.
| Teradata oszloptípus | Teradata-adattípus | Azure Synapse-adattípus |
|---|---|---|
| ++ | TD_ANYTYPE | Az Azure Synapse nem támogatja. |
| A1 | TÖMB | Az Azure Synapse nem támogatja. |
| EGY | TÖMB | Az Azure Synapse nem támogatja. |
| AT | IDŐ | IDŐ |
| BF | BÁJT | BINÁRIS |
| BO | BLOB | A BLOB-adattípus közvetlenül nem támogatott, de bináris fájlra cserélhető. |
| BV | VARBYTE | BINÁRIS |
| CF | VARCHAR | TAKARÍTÓ |
| Szén-monoxid | CLOB | A CLOB-adattípus közvetlenül nem támogatott, de a VARCHAR-ra cserélhető. |
| Önéletrajz | VARCHAR | VARCHAR |
| D | TIZEDES | TIZEDES |
| DA | DÁTUM | DÁTUM |
| DH | INTERVALLUM NAPRÓL ÓRÁRA | Az INTERVAL adattípusok nem támogatottak az Azure Synapse-ban, de a dátumszámítások elvégezhetők a dátum-összehasonlító függvényekkel (például DATEDIFF és DATEADD). |
| DM | IDŐSZAK NAP ÉS PERC KÖZÖTT | Az INTERVAL adattípusok nem támogatottak az Azure Synapse-ban, de a dátumszámítások elvégezhetők a dátum-összehasonlító függvényekkel (például DATEDIFF és DATEADD). |
| DS | NAP ÉS MÁSODPERC KÖZÖTT | Az INTERVAL adattípusok nem támogatottak az Azure Synapse-ban, de a dátumszámítások elvégezhetők a dátum-összehasonlító függvényekkel (például DATEDIFF és DATEADD). |
| DT | ADATKÉSZLET | A DATASET adattípus az Azure Synapse-ban támogatott. |
| DY | INTERVALLUM NAPJA | Az INTERVAL adattípusok nem támogatottak az Azure Synapse-ban, de a dátumszámítások elvégezhetők a dátum-összehasonlító függvényekkel (például DATEDIFF és DATEADD). |
| F | ÚSZIK | ÚSZIK |
| HM | ÓRA–PERC INTERVALLUM | Az INTERVAL adattípusok nem támogatottak az Azure Synapse-ban, de a dátumszámítások elvégezhetők a dátum-összehasonlító függvényekkel (például DATEDIFF és DATEADD). |
| Humán erőforrások | IDŐINTERVALLUM ÓRA | Az INTERVAL adattípusok nem támogatottak az Azure Synapse-ban, de a dátumszámítások elvégezhetők a dátum-összehasonlító függvényekkel (például DATEDIFF és DATEADD). |
| HS | INTERVALLUM–MÁSODPERC | Az INTERVAL adattípusok nem támogatottak az Azure Synapse-ban, de a dátumszámítások elvégezhetők a dátum-összehasonlító függvényekkel (például DATEDIFF és DATEADD). |
| I1 | BYTEINT | TINYINT |
| I2 | SMALLINT | SMALLINT |
| I8 | BIGINT | BIGINT |
| I | EGÉSZ SZÁM | INT |
| JN | JSON | A JSON-adattípus jelenleg nem támogatott közvetlenül az Azure Synapse-ban, de a JSON-adatok VARCHAR-mezőben tárolhatók. |
| felügyelt példány | INTERVALLUM PERC | Az INTERVAL adattípusok nem támogatottak az Azure Synapse-ban, de a dátumszámítások elvégezhetők a dátum-összehasonlító függvényekkel (például DATEDIFF és DATEADD). |
| MO | IDŐKÖZI HÓNAP | Az INTERVAL adattípusok nem támogatottak az Azure Synapse-ban, de a dátumszámítások elvégezhetők a dátum-összehasonlító függvényekkel (például DATEDIFF és DATEADD). |
| MS | IDŐKÖZ PERCRŐL MÁSODPERCRE | Az INTERVAL adattípusok nem támogatottak az Azure Synapse-ban, de a dátumszámítások elvégezhetők a dátum-összehasonlító függvényekkel (például DATEDIFF és DATEADD). |
| N | SZÁM | NUMERIKUS |
| PD | IDŐSZAK(DÁTUM) | VARCHAR-ra konvertálható, vagy két különálló dátumra osztható |
| PM | INTERVALLUM (IDŐZÓNA SZERINTI IDŐBÉLYEG) | ÁTALAKÍTható VARCHAR-ra, vagy két különálló időbélyegre (DATETIMEOFFSET) |
| PS | IDŐSZAK(IDŐBÉLYEG) | ÁTALAKÍTható VARCHAR-ra, vagy két különálló időbélyegre (DATETIMEOFFSET) |
| PT | PERIÓDUS(IDŐ) | VARCHAR-ra konvertálható, vagy két külön időpontra osztható |
| PZ | IDŐSZAK (IDŐZÓNÁVAL) | VARCHAR-ra konvertálható vagy két különálló időpontra bontható, de a ZA IDŐZONÁVAL feature nem támogatott az IDŐ esetében. |
| SC | IDŐKÖZ MÁSODPERCBEN | Az INTERVAL adattípusok nem támogatottak az Azure Synapse-ban, de a dátumszámítások elvégezhetők a dátum-összehasonlító függvényekkel (például DATEDIFF és DATEADD). |
| SZ | IDŐBÉLYEG IDŐZÓNÁVAL | DATETIMEOFFSET |
| TS | TIMESTAMP | DATETIME vagy DATETIME2 |
| TZ | IDŐ IDŐZÓNÁVAL | A TIME WITH TIME ZONE nem támogatott, mert az IDŐ tárolása "falióra" idő használatával történik, csak időzóna-eltolás nélkül. |
| XM | XML | Az XML-adattípus jelenleg nem támogatott közvetlenül az Azure Synapse-ban, de az XML-adatok VARCHAR mezőben tárolhatók. |
| YM | ÉV-HÓNAP INTERVALLUM | Az INTERVAL adattípusok nem támogatottak az Azure Synapse-ban, de a dátumszámítások elvégezhetők a dátum-összehasonlító függvényekkel (például DATEDIFF és DATEADD). |
| YR | IDŐKÖZI ÉV | Az INTERVAL adattípusok nem támogatottak az Azure Synapse-ban, de a dátumszámítások elvégezhetők a dátum-összehasonlító függvényekkel (például DATEDIFF és DATEADD). |
A Teradata-katalógustáblák metaadataival állapítsa meg, hogy az ilyen adattípusok migrálhatók-e, és engedélyezik-e ezt a migrálási tervben. Egy ehhez hasonló SQL-lekérdezéssel például megkeresheti a figyelmet igénylő nem támogatott adattípusok előfordulásait.
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;
Jótanács
A külső eszközök és szolgáltatások automatizálhatják az adatleképezési feladatokat.
Vannak külső gyártók, akik eszközöket és szolgáltatásokat kínálnak a migrálás automatizálásához, beleértve az adattípusok leképezését is. Ha egy külső ETL-eszköz, például az Informatica vagy a Talend már használatban van a Teradata-környezetben, ezek az eszközök bármilyen szükséges adatátalakítást megvalósíthatnak.
Adatdefiníciós nyelv (DDL) létrehozása
Jótanács
A meglévő Teradata-metaadatok segítségével automatizálhatja a CREATE TABLE és CREATE VIEW DDL generálását az Azure Synapse számára.
Szerkessze a meglévő Teradata-t CREATE TABLE és CREATE VIEW -szkripteket, hogy szükség esetén a korábban ismertetett módosított adattípusokkal egyenértékű definíciókat hozzon létre. A teendő általában az extra, Teradata-specifikus záradékok, mint például FALLBACK vagy MULTISET eltávolítása.
A meglévő Teradata-környezetben lévő táblák és nézetek aktuális definícióit meghatározó összes információ azonban a rendszerkatalógus tábláiban marad fenn. Ez a legjobb forrása ennek az információnak, mivel garantáltan naprakész és teljes. Vegye figyelembe, hogy előfordulhat, hogy a felhasználó által karbantartott dokumentáció nem összhangban van az aktuális tábladefiníciókkal.
Az információkhoz hozzáférhet a katalógus nézetei, például a DBC.ColumnsV segítségével, majd generálja az Azure Synapse megfelelő tábláihoz tartozó egyenértékű CREATE TABLE DDL utasításokat.
Jótanács
A külső eszközök és szolgáltatások automatizálhatják az adatleképezési feladatokat.
Vannak Microsoft-partnerek , akik eszközöket és szolgáltatásokat kínálnak a migrálás automatizálásához, beleértve az adattípus-leképezést is. Ha egy külső ETL-eszköz, például az Informatica vagy a Talend már használatban van a Teradata környezetben, az eszköz bármilyen szükséges adatátalakítást megvalósíthat.
SQL DML-különbségek a Teradata és az Azure Synapse között
SQL Data Manipulation Language (DML)
Jótanács
Az SQL DML-parancsok SELECTINSERTstandard alapelemekkel rendelkeznek, UPDATE de különböző szintaxisbeállításokat is implementálhatnak.
Az ANSI SQL-szabvány az olyan DML-parancsok alapszintaxisát határozza meg, mint SELECTa , INSERT, UPDATEés DELETE. A Teradata és az Azure Synapse is használja ezeket a parancsokat, de bizonyos esetekben implementálási különbségek vannak.
A következő szakaszok az Azure Synapse-ba való migrálás során megfontolandó Teradata-specifikus DML-parancsokat ismertetik.
Az SQL DML szintaxis eltérései
A migrálás során vegye figyelembe a Teradata SQL és az Azure Synapse (T-SQL) sql-adatmanipulációs nyelv (DML) szintaxisának különbségeit:
QUALIFY: A Teradata támogatja az operátortQUALIFY. Például:SELECT col1 FROM tab1 WHERE col1='XYZ' QUALIFY ROW_NUMBER () OVER (PARTITION by col1 ORDER BY col1) = 1;Az Egyenértékű Azure Synapse szintaxisa a következő:
SELECT * FROM ( SELECT col1, ROW_NUMBER () OVER (PARTITION by col1 ORDER BY col1) rn FROM tab1 WHERE col1='XYZ' ) WHERE rn = 1;Dátum aritmetika: Az Azure Synapse olyan operátorokkal rendelkezik, mint például
DATEADDésDATEDIFF, amelyek használhatókDATEvagyDATETIMEmezőkön. A Teradata támogatja a közvetlen kivonást olyan dátumokon, mint aSELECT DATE1 - DATE2 FROM...A
GROUP BYsorszámban adja meg explicit módon a T-SQL-oszlop nevét.LIKE ANY: A Teradata a következő szintaxist támogatjaLIKE ANY:SELECT * FROM CUSTOMER WHERE POSTCODE LIKE ANY ('CV1%', 'CV2%', 'CV3%');Az Azure Synapse szintaxisának megfelelője a következő:
SELECT * FROM CUSTOMER WHERE (POSTCODE LIKE 'CV1%') OR (POSTCODE LIKE 'CV2%') OR (POSTCODE LIKE 'CV3%');A rendszerbeállításoktól függően a Teradata karakter-összehasonlításai alapértelmezés szerint kis- és nagybetűkre érzéketlenek lehetnek. Az Azure Synapse-ban a karakter-összehasonlítások mindig megkülönböztetik a kis- és nagybetűket.
Régi SQL érvényesítése a EXPLAIN használatával
Jótanács
A meglévő rendszerlekérdezés naplóiból származó valós lekérdezésekkel megkeresheti a lehetséges migrálási problémákat.
Az örökölt Teradata SQL és az Azure Synapse kompatibilitásának tesztelésének egyik módja, hogy rögzít néhány jellemző SQL-utasítást az örökölt rendszer lekérdezési naplóiból, előtagként ezeket a lekérdezéseket a EXPLAIN-vel, és (feltételezve, hogy az Azure Synapse-ban a "hasonló" migrált adatmodell ugyanazokkal a tábla- és oszlopnevekkel) futtatja ezeket EXPLAIN az utasításokat az Azure Synapse-ban. Az inkompatibilis SQL hibát fog eredményezni – ez az információ határozza meg a feladat skáláját. Ez a megközelítés nem követeli meg az adatok Azure-környezetbe való betöltését, csak a megfelelő táblák és nézetek létrehozását.
Függvények, tárolt eljárások, eseményindítók és sorozatok
Jótanács
Az előkészítési fázis részeként mérje fel a migrálni kívánt nem adatobjektumok számát és típusát.
Egy érett, örökölt adattárház-környezetből, például a Teradata-ból való migráláskor gyakran vannak olyan elemek, amelyek nem egyszerű táblákat és nézeteket tartalmaznak, amelyeket át kell telepíteni az új célkörnyezetbe. Ilyenek például a függvények, a tárolt eljárások, az eseményindítók és a sorozatok.
Az előkészítési fázis részeként hozzon létre egy leltárt az áttelepítendő objektumokról, és határozza meg a kezelési módszereket. Ezután rendeljen hozzá egy megfelelő erőforrás-elosztást a projekttervhez.
Előfordulhatnak olyan létesítmények az Azure-környezetben, amelyek a Teradata-környezetben függvényként vagy tárolt eljárásként implementált funkciókat váltják fel. Ebben az esetben gyakran hatékonyabb a beépített Azure-eszközök használata, mint a Teradata-függvények újrakódolása.
Jótanács
A külső termékek és szolgáltatások automatizálhatják a nem adatelemek migrálását.
A Microsoft-partnerek olyan eszközöket és szolgáltatásokat kínálnak, amelyek automatizálhatják a migrálást.
Az egyes elemekről az alábbi szakaszokban talál további információt.
Functions
A legtöbb adatbázis-termékhez hasonlóan a Teradata is támogatja a rendszerfüggvényeket és a felhasználó által definiált függvényeket az SQL-implementációban. Amikor egy másik adatbázisplatformra, például az Azure Synapse-ra migrál, a gyakori rendszerfüggvények elérhetők, és módosítás nélkül migrálhatók. Egyes rendszerfüggvények szintaxisa kissé eltérő lehet, de a szükséges módosítások automatizálhatók. Előfordulhat, hogy a rendszerfüggvényeket, ahol nincs egyenértékű, például tetszőleges felhasználó által definiált függvényeket kell újrakódolni a célkörnyezetben elérhető nyelvekkel. Az Azure Synapse a népszerű Transact-SQL nyelvet használja a felhasználó által definiált függvények implementálásához.
Tárolt eljárások
A legtöbb modern adatbázis-termék lehetővé teszi az eljárások adatbázisban való tárolását. A Teradata erre a célra biztosítja az SPL nyelvet. A tárolt eljárások általában SQL-utasításokat és valamilyen eljárási logikát tartalmaznak, és adatokat vagy állapotot adhatnak vissza.
Az Azure Synapse Analytics dedikált SQL-készletei a T-SQL-t használó tárolt eljárásokat is támogatják, ezért ha át kell telepítenie a tárolt eljárásokat, annak megfelelően kell újrakódolnia őket.
Kiváltó okok
Az Azure Synapse nem támogatja az eseményindítók létrehozását, de implementálhatja őket az Azure Data Factoryben.
Szekvenciák
Az Azure Synapse-szekvenciákat a Teradata-hoz hasonlóan kezelik, az IDENTITY használatával helyettesítő kulcsokat vagy felügyelt identitásokat hoznak létre.
Teradata–T-SQL-leképezés
Ez a táblázat az Azure Synapse SQL-adattípus-leképezésnek megfelelő Teradata–T-SQL-megfeleltetést mutatja be:
| Teradata adattípus | Azure Synapse SQL-adattípus |
|---|---|
| bigint | bigint |
| Bool | bit |
| logikai érték | egy kicsit |
| byteint | tinyint |
| char [(p)] | char [(p)] |
| karakterlánc változó [(p)] | varchar [(p)] |
| karakter [(p)] | char [(p)] |
| karakter változó [(p)] | varchar [(p)] |
| dátum | dátum |
| dátum és idő | datetime |
| dec [(p[;s])] | decimális [(p[;s])] |
| decimális [(p[;s])] | decimális [(p[;s])] |
| dupla | float(53) |
| dupla pontosság | float(53) |
| lebegőpontos [(p)] | lebegőpontos [(p)] |
| float4 | float(53) |
| float8 | float(53) |
| Int | Int |
| int1 | tinyint |
| int2 | smallint |
| int4 | Int |
| int8 | bigint |
| egész szám | egész szám |
| intervallum | Nem támogatott |
| eltérő nemzeti karakter [(p)] | nvarchar [(p)] |
| nemzeti karakter [(p)] | nchar [(p)] |
| eltérő nemzeti karakter [(p)] | nvarchar [(p)] |
| nchar [(p)] | nchar [(p)] |
| numerikus [(p[;s])] | numerikus [(p[;s]) |
| nvarchar [(p)] | nvarchar [(p)] |
| valódi | valódi |
| smallint | smallint |
| Idő | Idő |
| idő időzónával | dátum-idő eltolás |
| idő időzóna nélkül | Idő |
| időtartam | Nem támogatott |
| Időbélyeg | datetime2 |
| timetz | dátum-idő eltolás |
| varchar [(p)] | varchar [(p)] |
Összefoglalás
A tipikus régi Teradata-telepítéseket úgy implementáljuk, hogy megkönnyítse az Azure Synapse-ba való migrálást. Az SQL-t használják a nagy adatkötetek elemzési lekérdezéseihez, és valamilyen dimenziós adatmodellben vannak. Ezek a tényezők jó jelöltek az Azure Synapse-ba való migráláshoz.
A tényleges SQL-kód migrálási feladatának minimalizálásához kövesse az alábbi javaslatokat:
Az adattárház kezdeti migrációját as-is-án célszerű végrehajtani a kockázatok és az idő minimalizálása érdekében, még akkor is, ha a végleges környezet egy másfajta adatmodellt, például adatvaultot fog tartalmazni.
A migrálási folyamat részeként érdemes lehet egy Teradata-példányt egy Azure-beli virtuális gépen ugródeszkaként használni.
Ismerje meg a Teradata SQL-implementáció és az Azure Synapse közötti különbségeket.
A meglévő Teradata-implementáció metaadataival és lekérdezési naplóival felmérheti a különbségek hatását, és megtervezheti a mérsékelendő megközelítést.
A folyamat automatizálása, ahol csak lehetséges, a migrálás hibáinak, kockázatának és idejének minimalizálása érdekében.
Fontolja meg a Microsoft speciális partnereinek és szolgáltatásainak használatát a migrálás gördülékenyebbé tételéhez.
Következő lépések
A Microsoft és a külső eszközökkel kapcsolatos további információkért tekintse meg a következő cikket ebben a sorozatban: Tools for Teradata data warehouse migration to Azure Synapse Analytics.