Návrh a výkonnost při migracích Netezza

Tento článek je součástí sedmidílné série, která obsahuje pokyny k migraci z Netezza do Azure Synapse Analytics. Tento článek se zaměřuje na osvědčené postupy pro návrh a výkon.

Overview

Vzhledem k ukončení podpory ibm chce mnoho stávajících uživatelů systémů datového skladu Netezza využívat inovace poskytované moderními cloudovými prostředími. Cloudová prostředí typu infrastruktura jako služba (IaaS) a platforma jako služba (PaaS) umožňují delegovat úlohy, jako je údržba infrastruktury a vývoj platforem, na poskytovatele cloudu.

Tip

Více než jen databáze – prostředí Azure zahrnuje komplexní sadu funkcí a nástrojů.

I když netezza a Azure Synapse Analytics jsou databáze SQL, které používají techniky MPP (Massively Parallel Processing) k dosažení vysokého výkonu dotazů na mimořádně velké objemy dat, existují některé základní rozdíly v přístupu:

  • Starší systémy Netezza se často instalují místně a používají proprietární hardware, zatímco Azure Synapse je cloudový a používá úložiště a výpočetní prostředky Azure.

  • Upgrade konfigurace Netezza je hlavní úlohou zahrnující další fyzický hardware a potenciálně zdlouhavou rekonfiguraci databáze nebo výpis paměti a opětovné načtení. Vzhledem k tomu, že úložiště a výpočetní prostředky jsou v prostředí Azure oddělené a mají možnost elastického škálování, je možné tyto prostředky nezávisle škálovat směrem nahoru nebo dolů.

  • Podle potřeby můžete azure Synapse pozastavit nebo změnit jeho velikost, abyste snížili využití prostředků a náklady.

Microsoft Azure je globálně dostupné, vysoce zabezpečené a škálovatelné cloudové prostředí, které zahrnuje Azure Synapse a ekosystém podpůrných nástrojů a možností. Další diagram shrnuje ekosystém Azure Synapse.

Graf znázorňující ekosystém Azure Synapse podpůrných nástrojů a možností

Azure Synapse poskytuje nejlepší výkon relačních databází pomocí technik, jako je MPP a více úrovní automatizovaného ukládání do mezipaměti pro často používaná data. Výsledky těchto technik si můžete prohlédnout v nezávislých srovnávacích testech, jako je například nedávné testování GigaOm, které porovnává Azure Synapse s dalšími oblíbenými nabídkami cloudových datových skladů. Zákazníci, kteří migrují do prostředí Azure Synapse, vidí mnoho výhod, mezi které patří:

  • Vyšší výkon a cena/výkon.

  • Zvýšená flexibilita a kratší čas k dosažení hodnoty.

  • Rychlejší nasazení serveru a vývoj aplikací

  • Elastická škálovatelnost – platíte jenom za skutečné využití.

  • Vylepšené zabezpečení a dodržování předpisů

  • Snížení nákladů na úložiště a zotavení po havárii

  • Nižší celkové náklady na vlastnictví (TCO), lepší řízení nákladů a optimalizace provozních výdajů (OPEX).

Pokud chcete tyto výhody maximalizovat, migrujte nová nebo existující data a aplikace na platformu Azure Synapse. V mnoha organizacích migrace zahrnuje přesun existujícího datového skladu ze starší místní platformy, jako je Netezza, do Azure Synapse. Proces migrace na vysoké úrovni zahrnuje tyto kroky:

    Příprava 🡆

  • Definujte rozsah – co se má migrovat.

  • Sestavte inventář dat a procesů pro migraci.

  • Definujte změny datového modelu (pokud existuje).

  • Definujte mechanismus extrakce zdrojových dat.

  • Identifikujte vhodné nástroje a funkce Azure a třetích stran, které se mají použít.

  • Začněte personál školit na nové platformě brzy.

  • Nastavte cílovou platformu Azure.

    Migrace 🡆

  • Začněte malé a jednoduché.

  • Automatizovat všude, kde je to možné.

  • Využijte integrované nástroje a funkce Azure ke snížení úsilí o migraci.

  • Migrujte metadata pro tabulky a zobrazení.

  • Migrujte historická data, která mají být udržována.

  • Migrace nebo refaktoring uložených procedur a obchodních procesů

  • Migrujte nebo refaktorujte procesy přírůstkového načítání ETL/ELT.

    Po migraci

  • Monitorujte a dokumentujte všechny fáze procesu.

  • Využijte získané zkušenosti k vytvoření šablony pro budoucí migrace.

  • Přepracujte datový model, pokud je to nutné, s využitím nového výkonu a škálovatelnosti platformy.

  • Otestujte aplikace a nástroje pro dotazy.

  • Proveďte srovnávací testy a optimalizujte výkon dotazů.

Tento článek obsahuje obecné informace a pokyny pro optimalizaci výkonu při migraci datového skladu z existujícího prostředí Netezza do Azure Synapse. Cílem optimalizace výkonu je dosáhnout stejného nebo lepšího výkonu datového skladu v Azure Synapse po migraci schématu.

Aspekty návrhu

Rozsah migrace

Při přípravě migrace z prostředí Netezza zvažte následující možnosti migrace.

Volba zatížení pro počáteční migraci

Starší prostředí Netezza se obvykle v průběhu času vyvíjela tak, aby zahrnovala více předmětných oblastí a smíšených úloh. Při rozhodování o tom, kde začít s projektem migrace, vyberte oblast, ve které budete moct:

  • Prokažte životaschopnost migrace do Azure Synapse tím, že rychle doručíte výhody nového prostředí.

  • Umožňuje interním technickým pracovníkům získat relevantní zkušenosti s procesy a nástroji, které budou používat při migraci jiných oblastí.

  • Vytvořte šablonu pro další migrace specifické pro zdrojové prostředí Netezza a aktuální nástroje a procesy, které už existují.

Dobrý kandidát na počáteční migraci z prostředí Netezza podporuje předchozí položky a:

  • Implementuje úlohu BI/Analytics místo úlohy online zpracování transakcí (OLTP).

  • Má datový model, například hvězdicové nebo sněhové vločkové schéma, které je možné migrovat s minimálními úpravami.

Tip

Vytvořte inventář objektů, které je potřeba migrovat, a zdokumentujte proces migrace.

Objem migrovaných dat v počáteční migraci by měl být dostatečně velký, aby ukázal možnosti a výhody prostředí Azure Synapse, ale neměl by být příliš velký, aby bylo možné rychle předvést hodnotu. Velikost v rozsahu 1–10 terabajtů je typická.

U vašeho počátečního projektu migrace minimalizujte riziko, úsilí a čas migrace, abyste rychle viděli výhody cloudového prostředí Azure. Přístupy k migraci metodou "lift and shift" a fázované migrace omezují rozsah počáteční migrace pouze na datová tržiště a nezabývá se širšími aspekty migrace, jako je migrace ETL a historická migrace dat. Tyto aspekty však můžete řešit v pozdějších fázích projektu, jakmile se migrovaná vrstva datového tržiště znovu naplní daty a požadovanými procesy sestavení.

Migrace metodou "lift and shift" vs. fázovaný přístup

Obecně platí, že existují dva typy migrace bez ohledu na účel a rozsah plánované migrace: metodu "lift and shift", jak je, a fázovaný přístup, který zahrnuje změny.

Přenést a posunout

Při migraci metodou "lift and shift" se stávající datový model, jako je hvězdicové schéma, migruje na novou platformu Azure Synapse beze změny. Tento přístup minimalizuje riziko a dobu migrace tím, že snižuje práci potřebnou k realizaci výhod přechodu do cloudového prostředí Azure. Migrace pomocí metody "lift and shift" je vhodná pro následující scénáře:

  • Máte existující prostředí Netezza s jedním datovým skladem, který můžete migrovat, nebo
  • Máte existující prostředí Netezza s daty, která jsou již v dobře navržené hvězdicové nebo sněhové vločkové schéma, nebo
  • Jste pod časovými a nákladovými tlaky, abyste přešli do moderního cloudového prostředí.

Tip

"Lift and shift je dobrý výchozí bod, i když následné fáze provedou změny datového modelu."

Fázovaný přístup, který zahrnuje změny

Pokud se starší datový sklad vyvinul po dlouhou dobu, budete ho možná muset znovu vytvořit, aby se zachovaly požadované úrovně výkonu. Možná budete muset znovu zapracovat na podporu nových dat, jako jsou streamy Internetu věcí (IoT). V rámci procesu opětovného přípravy migrujte do Azure Synapse, abyste získali výhody škálovatelného cloudového prostředí. Migrace může také zahrnovat změnu v podkladovém datovém modelu, například přechod z modelu Inmon do trezoru dat.

Microsoft doporučuje přesunout stávající datový model as-is do Azure a využít výkon a flexibilitu prostředí Azure k použití změn v opětovném inženýrství. Díky tomu můžete pomocí funkcí Azure provádět změny, aniž by to mělo vliv na stávající zdrojový systém.

Použití služby Azure Data Factory k implementaci migrace řízené metadaty

Proces migrace můžete automatizovat a orchestrovat pomocí funkcí prostředí Azure. Tento přístup minimalizuje negativní dopad na výkon v existujícím prostředí Netezza, které může být již blízko svého maximálního vyčerpání kapacity.

Azure Data Factory je cloudová služba pro integraci dat, která podporuje vytváření pracovních postupů řízených daty v cloudu, které orchestrují a automatizují přesun a transformaci dat. Data Factory můžete použít k vytváření a plánování pracovních postupů řízených daty (kanály), které ingestují data z různorodých úložišť dat. Data Factory může zpracovávat a transformovat data pomocí výpočetních služeb, například Azure HDInsight Hadoop, Spark, Azure Data Lake Analytics a Azure Machine Learning.

Pokud plánujete ke správě procesu migrace použít zařízení služby Data Factory, vytvořte metadata, která uvádějí všechny tabulky dat, které se mají migrovat, a jejich umístění.

Rozdíly v návrhu mezi Netezza a Azure Synapse

Jak už bylo zmíněno dříve, existují některé základní rozdíly v přístupu mezi databázemi Netezza a Azure Synapse Analytics a tyto rozdíly jsou popsány dále.

Více databází vs. jednoúčelová databáze a schémata

Prostředí Netezza často obsahuje více samostatných databází. Například mohou existovat samostatné databáze pro příjem a přípravné tabulky, základní tabulky datového skladu a datové marty (někdy označované jako sémantická vrstva). Procesy kanálů ETL nebo ELT můžou implementovat propojení mezi databázemi a přesouvat data mezi samostatnými databázemi.

Prostředí Azure Synapse naproti tomu obsahuje jednu databázi a používá schémata k oddělení tabulek do logicky samostatných skupin. Doporučujeme použít řadu schémat v cílové databázi Azure Synapse k napodobení samostatných databází migrovaných z prostředí Netezza. Pokud už prostředí Netezza používá schémata, možná budete muset při přesunutí existujících tabulek a zobrazení Netezza do nového prostředí použít novou konvenci vytváření názvů. Například můžete zřetězit existující schéma Netezza a názvy tabulek do nového jména tabulky Azure Synapse a pomocí názvů schémat v novém prostředí udržet původní oddělené názvy databází. Pokud má pojmenování konsolidace schématu tečky, může dojít k problémům se službou Azure Synapse Spark. I když můžete pomocí zobrazení SQL nad podkladovými tabulkami udržovat logické struktury, existuje potenciální nevýhoda tohoto přístupu:

  • Zobrazení v Azure Synapse jsou jen pro čtení, takže všechny aktualizace dat musí probíhat v podkladových základních tabulkách.

  • Možná už existuje jedna nebo více vrstev zobrazení a přidání další vrstvy zobrazení může ovlivnit výkon a podporu, protože vnořená zobrazení se obtížně řeší.

Tip

Zkombinujte více databází do jedné databáze v rámci Azure Synapse a použijte názvy schémat k logickému oddělení tabulek.

Úvahy o tabulkách

Když migrujete tabulky mezi různými prostředími, obvykle migrují pouze nezpracovaná data a metadata, která je fyzicky popisují. Jiné databázové prvky ze zdrojového systému, například indexy, se obvykle nemigrují, protože v novém prostředí můžou být zbytečné nebo implementované jinak.

Optimalizace výkonu ve zdrojovém prostředí, například indexy, označují, kde můžete v novém prostředí přidat optimalizaci výkonu. Pokud například dotazy ve zdrojovém prostředí Netezza často používají mapy zón, které naznačují, že by se měl vytvořit neskupený index v rámci Azure Synapse. Jiné nativní techniky optimalizace výkonu, jako je replikace tabulek, můžou být vhodnější než přímé vytvoření indexu podobného typu.

Tip

Existující indexy označují kandidáty pro indexování v migrovaném skladu.

Nepodporované typy databázových objektů Netezza

Funkce specifické pro Netezza se často dají nahradit funkcemi Azure Synapse. Některé databázové objekty Netezza se ale v Azure Synapse přímo nepodporují. Následující seznam nepodporovaných databázových objektů Netezza popisuje, jak v Azure Synapse dosáhnout ekvivalentní funkce.

  • Mapy zón: v Netezza se mapy zón vytvářejí a udržují automaticky pro následující typy sloupců a používají se v době dotazu k omezení množství dat, která se mají zkontrolovat:

    • INTEGER sloupce o délce 8 bajtů nebo méně.
    • Dočasné sloupce, například DATE, TIMEa TIMESTAMP.
    • CHAR sloupce, pokud jsou součástí materializovaného zobrazení a jsou uvedeny v klauzuli ORDER BY.

    Pomocí nástroje, který je součástí sady nástrojů NZ Toolkit, zjistíte, které sloupce obsahují mapy nz_zonemap zón. Azure Synapse neobsahuje mapy zón, ale podobné výsledky můžete dosáhnout pomocí jiných uživatelsky definovaných typů indexů nebo dělení.

  • Clusterované základní tabulky (CBT): v Netezza se CBT běžně používají pro tabulky faktů, které můžou obsahovat miliardy záznamů. Skenování takové obrovské tabulky vyžaduje značnou dobu zpracování, protože k získání příslušných záznamů může být potřeba úplné prohledávání tabulky. Uspořádání záznamů podle omezujících CBT umožňuje Netezza seskupit záznamy ve stejných nebo blízkých rozsahech. Tento proces také vytvoří mapy zón, které zlepšují výkon snížením množství dat, která je potřeba zkontrolovat.

    V Azure Synapse můžete dosáhnout podobného efektu dělením nebo použitím jiných indexů.

  • Materializovaná zobrazení: Netezza podporuje materializovaná zobrazení a doporučuje použít jedno nebo více materializovaných zobrazení pro velké tabulky s mnoha sloupci, pokud se v dotazech pravidelně používá jenom několik sloupců. Materializovaná zobrazení se při aktualizaci dat v základní tabulce automaticky aktualizují systémem.

    Azure Synapse podporuje materializovaná zobrazení se stejnými funkcemi jako Netezza.

Mapování datových typů Netezza

Většina datových typů Netezza má v Azure Synapse přímý ekvivalent. Následující tabulka ukazuje doporučený přístup pro mapování datových typů Netezza na Azure Synapse.

Datový typ Netezza Datový typ Azure Synapse
BIGINT BIGINT
BINÁRNÍ PROMĚNNÉ(n) VARBINARY(n)
boolean BIT
BYTEINT TINYINT
ZNAK V PROMĚNLIVÉ DÉLCE (n) VARCHAR(n)
CHARACTER(n) CHAR(n)
datum DATE(datun)
DECIMAL(p,s) DECIMAL(p,s)
DVOJITÁ PŘESNOST FLOAT
FLOAT(n) FLOAT(n)
celé číslo INT
INTERVAL Datové typy INTERVAL se v Azure Synapse momentálně nepodporují, ale dají se vypočítat pomocí dočasných funkcí, jako je DATEDIFF.
Peníze PENÍZE
NÁRODNÍ ZNAKOVÝ ŘETĚZEC VARYING(n) NVARCHAR(n)
NÁRODNÍ ZNAK(n) NCHAR(n)
NUMERIC(p,s) NUMERIC(p,s)
SKUTEČNÝ SKUTEČNÝ
SMALLINT SMALLINT
ST_GEOMETRY(n) Prostorové datové typy, jako je ST_GEOMETRY, se v současné době v Azure Synapse nepodporují, ale data by mohla být uložena jako VARCHAR nebo VARBINARY.
ČAS ČAS
ČAS S ČASOVÝM PÁSMEM DATETIMEOFFSET
TIMESTAMP datum a čas

Tip

Vyhodnoťte počet a typ nepodporovaných datových typů během fáze přípravy migrace.

Dodavatelé třetích stran nabízejí nástroje a služby pro automatizaci migrace, včetně mapování datových typů. Pokud už nástroj ETL třetí strany používáte v prostředí Netezza, použijte tento nástroj k implementaci všech požadovaných transformací dat.

Rozdíly v syntaxi SQL DML

Mezi Netezza SQL a Azure Synapse T-SQL existují rozdíly mezi syntaxí DML SQL. Tyto rozdíly jsou podrobně popsány v tématu Minimalizace problémů s SQL při migracích Netezza.

  • STRPOS: v Netezza funkce STRPOS vrátí pozici podřetězce v řetězci. Ekvivalentní funkce v Azure Synapse je CHARINDEX s pořadím argumentů obrácených. Například SELECT STRPOS('abcdef','def')... v Netezza je ekvivalentem SELECT CHARINDEX('def','abcdef')... v Azure Synapse.

  • AGE: Netezza podporuje AGE operátor pro určení intervalu mezi dvěma časovými hodnotami, jako jsou časová razítka nebo kalendářní data, například: SELECT AGE('23-03-1956','01-01-2019') FROM.... V Azure Synapse použijte DATEDIFF k získání intervalu, například: SELECT DATEDIFF(day, '1956-03-26','2019-01-01') FROM.... Poznamenejte si posloupnost reprezentace data.

  • NOW(): Netezza používá NOW() k reprezentaci CURRENT_TIMESTAMP v Azure Synapse.

Funkce, uložené procedury a sekvence

Při migraci datového skladu z vyspělého prostředí, jako je Netezza, budete pravděpodobně muset migrovat jiné prvky než jednoduché tabulky a zobrazení. Zkontrolujte, jestli nástroje v prostředí Azure můžou nahradit funkce funkcí, uložených procedur a sekvencí, protože je obvykle efektivnější používat integrované nástroje Azure než překódovat tyto prvky pro Azure Synapse.

V rámci přípravné fáze vytvořte inventář objektů, které je potřeba migrovat, definujte metodu pro jejich zpracování a přidělte příslušné prostředky v plánu migrace.

Partneři pro integraci dat nabízejí nástroje a služby, které mohou automatizovat migraci funkcí, uložených procedur a sekvencí.

Následující části dále popisují migraci funkcí, uložených procedur a sekvencí.

Functions

Stejně jako u většiny databázových produktů podporuje Netezza systémové a uživatelem definované funkce v rámci implementace SQL. Při migraci starší verze databázové platformy do Azure Synapse je obvykle možné migrovat běžné systémové funkce beze změny. Některé systémové funkce můžou mít trochu odlišnou syntaxi, ale všechny požadované změny je možné automatizovat.

V případě systémových funkcí Netezza nebo libovolných uživatelem definovaných funkcí, které nemají v Azure Synapse žádné ekvivalenty, překódujte tyto funkce pomocí cílového jazyka prostředí. Uživatelem definované funkce Netezza jsou kódovány v nzlua nebo C++ jazycích. Azure Synapse používá jazyk Transact-SQL k implementaci uživatelem definovaných funkcí.

Uložené procedury

Většina moderních databázových produktů podporuje ukládání procedur v databázi. Netezza poskytuje pro tento účel jazyk NZPLSQL, který je založený na Postgres PL/pgSQL. Uložená procedura obvykle obsahuje příkazy SQL i procedurální logiku a vrací data nebo stav.

Azure Synapse podporuje uložené procedury pomocí T-SQL, takže je potřeba překódovat všechny migrované uložené procedury v daném jazyce.

Sekvence

V Netezza, sekvence je pojmenovaný databázový objekt vytvořený pomocí CREATE SEQUENCE. Sekvence poskytuje jedinečné číselné hodnoty prostřednictvím metody NEXT VALUE FOR. Vygenerovaná jedinečná čísla můžete použít jako náhradní hodnoty klíče pro primární klíče.

Azure Synapse neimplementuje CREATE SEQUENCE, ale můžete implementovat sekvence pomocí sloupců IDENTITY nebo kódu SQL, který vygeneruje další pořadové číslo v řadě.

Extrakce metadat a dat z prostředí Netezza

Generování jazyka DDL (Data Definition Language)

Standard ANSI SQL definuje základní syntaxi příkazů DDL (Data Definition Language). Některé příkazy DDL, například CREATE TABLE a CREATE VIEW, jsou společné pro Netezza i Azure Synapse, ale byly rozšířeny tak, aby poskytovaly funkce specifické pro implementaci.

Existující netezza CREATE TABLE a CREATE VIEW skripty můžete upravit, abyste dosáhli ekvivalentních definic v Azure Synapse. K tomu možná budete muset použít upravené datové typy a odebrat nebo upravit klauzule specifické pro Netezza, například ORGANIZE ON.

Tabulky systémového katalogu v prostředí Netezza určují aktuální tabulku a definici zobrazení. Na rozdíl od dokumentace spravované uživatelem se informace o katalogu systému vždy dokončí a synchronizují s aktuálními definicemi tabulek. Pomocí nástrojů, jako je například nz_ddl_table, můžete získat přístup k informacím katalogu systému pro generování příkazů CREATE TABLE DDL, které vytvářejí ekvivalentní tabulky v Azure Synapse.

K dosažení podobných výsledků můžete také použít nástroje pro migraci a ETL třetích stran , které zpracovávají informace o katalogu systémů.

Vytažení dat z Netezza

Nezpracovaná data tabulky z tabulek Netezza můžete extrahovat do plochých souborů s oddělovači, jako jsou soubory CSV, pomocí standardních nástrojů Netezza, jako jsou nzsql a nzunload, nebo prostřednictvím externích tabulek. Pak můžete komprimovat ploché soubory s oddělovači pomocí gzipu a nahrát komprimované soubory do azure Blob Storage pomocí nástrojů AzCopy nebo datového přenosu Azure, jako je Azure Data Box.

Extrahujte data tabulky co nejefektivněji. Použijte externí tabulky, protože se jedná o nejrychlejším metodou pro získání dat. Souběžně proveďte několik extrahování, abyste maximalizovali propustnost extrakce dat. Následující příkaz SQL provede extrakci externí tabulky:

CREATE EXTERNAL TABLE '/tmp/export_tab1.csv' USING (DELIM ',') AS SELECT * from <TABLENAME>;

Pokud je k dispozici dostatečná šířka pásma sítě, můžete extrahovat data z místního systému Netezza přímo do tabulek Azure Synapse nebo Azure Blob Data Storage. K tomu použijte procesy služby Data Factory nebo migraci dat třetích stran nebo produkty ETL.

Tip

Pro nejúčinnější extrakci dat používejte externí tabulky Netezza.

Extrahované datové soubory by měly obsahovat text s oddělovači ve formátu CSV, Optimized Row Columnar (ORC) nebo Parquet.

Další informace o migraci dat a ETL z prostředí Netezza naleznete v tématu Migrace dat, ETL a načítání pro migrace Netezza.

Doporučení pro optimalizaci výkonu při migraci Netezza

Cílem optimalizace výkonu je po migraci do Azure Synapse stejný nebo lepší výkon datového skladu.

Podobnosti v konceptech přístupu ladění výkonu

Mnoho konceptů ladění výkonu pro databáze Netezza platí pro databáze Azure Synapse. Například:

  • Použijte rozdělení dat, abyste umístili data určená ke sloučení na stejný uzel zpracování.

  • Pokud chcete ušetřit místo v úložišti a zrychlit zpracování dotazů, použijte nejmenší datový typ pro daný sloupec.

  • Zajistěte, aby sloupce, které mají být spojené, měly stejný datový typ, aby bylo možné optimalizovat zpracování spojení a snížit potřebu transformací dat.

  • Abyste optimalizátoru pomohli vytvořit nejlepší plán provádění, ujistěte se, že jsou statistiky aktuální.

  • Monitorujte výkon pomocí integrovaných databázových funkcí, abyste měli jistotu, že se prostředky efektivně používají.

Tip

Na začátku migrace upřednostňujte znalosti možností ladění v Azure Synapse.

Rozdíly v přístupu ladění výkonu

Tato část popisuje rozdíly mezi implementací optimalizace výkonu nízké úrovně mezi Netezza a Azure Synapse.

Možnosti distribuce dat

Kvůli výkonu byla služba Azure Synapse navržena s architekturou s více uzly a používá paralelní zpracování. Pokud chcete optimalizovat výkon tabulky, můžete definovat možnost distribuce dat v CREATE TABLE příkazech pomocí DISTRIBUTION v Azure Synapse a DISTRIBUTE ON v Netezza.

Na rozdíl od Netezza podporuje Azure Synapse místní spojení mezi malou tabulkou a velkou tabulkou prostřednictvím replikace malých tabulek. Představte si například malou tabulku dimenzí a velkou tabulku faktů v rámci modelu hvězdicového schématu. Azure Synapse může replikovat menší tabulku dimenzí napříč všemi uzly, aby se zajistilo, že hodnota jakéhokoli spojovacího klíče pro velkou tabulku má odpovídající místně dostupný řádek dimenze. Náklady na replikaci tabulky dimenzí jsou pro malou tabulku relativně nízké. U velkých dimenzionálních tabulek je vhodnější hashová distribuce. Další informace o možnostech distribuce dat najdete v pokynech k návrhu pro použití replikovaných tabulek a pokynů k návrhu distribuovaných tabulek.

Indexování dat

Azure Synapse podporuje několik možností indexování definovaných uživatelem, které mají v porovnání s mapami zón spravovaných systémem v Netezza jinou operaci a využití. Další informace o různých možnostech indexování v Azure Synapse najdete v tématu Indexy vyhrazených tabulek fondu SQL.

Stávající mapy zón spravovaných systémem ve zdrojovém prostředí Netezza poskytují užitečnou informaci o využití dat a kandidátských sloupcích pro indexování v prostředí Azure Synapse.

Dělení dat

V podnikovém datovém skladu můžou tabulky faktů obsahovat miliardy řádků. Dělení optimalizuje údržbu a výkon dotazů těchto tabulek jejich rozdělením do samostatných částí, aby se snížil objem zpracovávaných dat. V Azure Synapse příkaz CREATE TABLE definuje specifikaci dělení tabulky.

Pro dělení můžete použít pouze jedno pole na jednu tabulku. Toto pole je často pole kalendářního data, protože mnoho dotazů se filtruje podle data nebo rozsahu dat. Dělení tabulky je možné změnit po počátečním načtení pomocí CREATE TABLE AS příkazu (CTAS) k opětovnému vytvoření tabulky s novou distribucí. Podrobnou diskuzi o dělení ve službě Azure Synapse najdete v tématu Dělení tabulek ve vyhrazeném fondu SQL.

Statistiky tabulek dat

Měli byste zajistit, aby statistiky tabulek dat byly aktuální, tím, že zabudujete statistický krok do úloh ETL/ELT.

PolyBase nebo COPY INTO pro načítání dat

PolyBase podporuje efektivní načítání velkých objemů dat do datového skladu pomocí paralelních načítání datových proudů. Další informace najdete v tématu Strategie načítání dat PolyBase.

FUNKCE COPY INTO také podporuje příjem dat s vysokou propustností a:

  • Načítání dat ze všech souborů ve složce a podsložkách

  • Načítání dat z více lokalit v rámci stejného účtu úložiště Pomocí cest oddělených čárkami můžete zadat více umístění.

  • Azure Data Lake Storage (ADLS) a úložiště Azure Blob Storage

  • Formáty souborů CSV, PARQUET a ORC

Správa úloh

Spouštění smíšených úloh může představovat problémy s prostředky v zaneprázdněných systémech. Úspěšné schéma správy úloh efektivně spravuje prostředky, zajišťuje vysoce efektivní využití prostředků a maximalizuje návratnost investic (ROI). Klasifikace úloh, důležitost úloh a izolace úloh poskytují větší kontrolu nad tím, jak úlohy využívají systémové prostředky.

Průvodce správou úloh popisuje techniky analýzy úlohy, správu a monitorování důležitosti úloh a postup převodu třídy prostředků na skupinu úloh. Pomocí portálu Azure a T-SQL dotazů na DMV monitorujte zátěž, aby se zajistilo efektivní využití příslušných prostředků.

Další kroky

Další informace o ETL a načítání při migracích Netezza naleznete v dalším článku této série: Migrace dat, ETL a načítání při migraci Netezza.