Metódy migrácie pre vyhradené fondy SQL služby Azure Synapse Analytics do skladu údajov služby Fabric

Vzťahuje sa na: ✅ Sklad v Microsoft Fabric

Tento článok popisuje metódy migrácie dátových skladov v Azure Synapse Analytics špecializovaných SQL pooloch na Microsoft Fabric Data Warehouse.

Tip

Ďalšie informácie o stratégii a plánovaní migrácie nájdete v téme plánovanie migrácie: Vyhradené fondy SQL služby Azure Synapse Analytics pre sklad údajov služby Fabric.

Automatizované prostredie na migráciu z vyhradených fondov SQL služby Azure Synapse Analytics je k dispozícii pomocou služby Fabric Migration Assistant for Data Warehouse. Zvyšná časť tohto článku obsahuje ďalšie manuálne kroky migrácie.

Táto tabuľka obsahuje súhrn informácií pre schému údajov (DDL), kód databázy (DML) a metódy migrácie údajov. Ďalej rozbalíme jednotlivé scenáre prepojené v stĺpci Option (Možnosť ).

Číslo možnosti Možnosť Čo to robí Skill/Preference Scenár
1 Data Factory Konverzia schémy (DDL)
Extrahovanie údajov
Prijímanie údajov
ADF/kanál Zjednodušiť všetko v jednej schéme (DDL) a migrácii údajov. Odporúčané pre tabuľky dimenzií.
2 Data Factory s oblasťou Konverzia schémy (DDL)
Extrahovanie údajov
Prijímanie údajov
ADF/kanál Použitie možností rozdelenia na zvýšenie paralelného čítania a zapisovania, ktoré poskytujú desaťnásobok priepustnosti vs. možnosť 1, odporúča sa pre tabuľky faktov.
3 Data Factory s zrýchleným kódom Konverzia schémy (DDL) ADF/kanál Najskôr konvertujte a migrujte schému (DDL), potom použite funkciu CETAS na extrahovanie a extrahovanie údajov COPY/Data Factory do údajov ingestu, aby ste dosiahli optimálny celkový výkon príjmu.
4 Uložené procedúry v zrýchlenom kóde Konverzia schémy (DDL)
Extrahovanie údajov
Hodnotenie kódu
T-SQL Používateľ SQL, ktorý používa prostredie IDE, s väčšou podrobnou kontrolou nad tým, s ktorými úlohami chce pracovať. Na ingestovanie údajov použite službu COPY/Data Factory.
5 Rozšírenie SQL Database Project pre Visual Studio Code Konverzia schémy (DDL)
Extrahovanie údajov
Hodnotenie kódu
Projekt SQL Projekt databázy SQL na nasadenie s integráciou možnosti 4. Na ingestovanie údajov použite službu COPY alebo Data Factory.
6 VYTVORENIE EXTERNEJ TABUĽKY PODĽA VÝBERU (CETAS) Extrahovanie údajov T-SQL Nákladovo efektívne a vysoko výkonné extrahovanie údajov do služby Azure Data Lake Storage (ADLS) Gen2. Na ingestovanie údajov použite službu COPY/Data Factory.
7 Migrácia pomocou databázy Konverzia schémy (DDL)
Konverzia kódu databázy (DML)
dbt (databáza) Existujúci používatelia dbt môžu použiť adaptér dbt Fabric na konverziu ich DDL a DML. Potom musíte migrovať údaje pomocou iných možností v tejto tabuľke.

Výber vyťaženia pre počiatočnú migráciu

Pri rozhodovaní, kde začať s dedikovaným SQL poolom v Synapse na Fabric Data Warehouse migračný projekt, vyberte si oblasť pracovnej záťaže, kde môžete:

  • Dokážte životaschopnosť migrácie na Fabric Data Warehouse rýchlym využitím výhod nového prostredia. Začnite pomaly a jednoducho a pripravte sa na viaceré malé migrácie.
  • Umožnite vašim interným technickým zamestnancom získať relevantné skúsenosti s procesmi a nástrojmi, ktoré používajú pri migrácii do iných oblastí.
  • Vytvorte šablónu na ďalšie migrácie, ktoré sú špecifické pre zdrojové prostredie Synapse, a nástroje a procesy, ktoré pomôžu.

Tip

Vytvorte súpis objektov, ktoré je potrebné migrovať, a zdokumentujte proces migrácie od začiatku do konca, aby ho bolo možné zopakovať pre iné vyhradené fondy alebo vyťaženia SQL.

Objem migrovaných dát pri počiatočnej migrácii by mal byť dostatočne veľký na demonštráciu schopností a prínosov Fabric Data Warehouse prostredia, ale nie príliš veľký na rýchle preukázanie hodnoty. Typický je rozsah 1 – 10 terabajtov.

Migrácia pomocou služby Fabric Data Factory

V tejto časti si rozoberieme možnosti používania služby Data Factory pre subjekt s minimálnym použitím kódu alebo bez písania kódu, ktorí sú oboznámení so službami Azure Data Factory a Synapse Pipeline. Táto možnosť používateľského rozhrania presunutia myšou poskytuje jednoduchý krok na konverziu DDL a migráciu údajov.

Fabric Data Factory môže vykonávať nasledujúce úlohy:

  • Preveďte schému (DDL) na Fabric Data Warehouse syntax.
  • Vytvorte schému (DDL) na Fabric Data Warehouse.
  • Migrujte dáta na Fabric Data Warehouse.

Možnosť č. 1. Migrácia schém/údajov – Kopírovať sprievodcu a Aktivita kopírovania programu ForEach

Táto metóda využíva Data Factory Copy asistenta na pripojenie k zdrojovému SQL poolu, konverziu DDL syntaxe na Fabric a kopírovanie dát do Fabric Data Warehouse. Môžete vybrať jednu alebo viac cieľových tabuliek (pre TPC-DS množinu údajov existuje 22 tabuliek). Generuje ForEach slučky cez zoznam tabuliek vybratých v používateľskom rozhraní a poter 22 paralelné kopírovať činnosť vlákna.

  • 22 Dotazy SELECT (jeden pre každú vybratú tabuľku) sa vygenerovali a vykonali vo vyhradenom fonde SQL.
  • Uistite sa, že máte vhodnú dwu a triedu zdrojov, aby bolo možné vykonať dotazy vygenerované. V tomto prípade potrebujete minimálne DWU1000 s staticrc10 , aby bolo možné spracovať 22 odoslaných dotazov maximálne 32 dotazov.
  • Priame kopírovanie dát z dedikovaného SQL poolu zo strany Data Factory do Fabric Data Warehouse vyžaduje staging. Proces prijímania pozostáva z dvoch fáz.
    • Prvá fáza sa skladá z extrahovania údajov z vyhradeného fondu SQL do ADLS a označuje sa ako pracovná inštalácia.
    • Druhá fáza prijíma dáta zo stagingu do Fabric Data Warehouse. Väčšina časovania príjmu údajov sa nachádza v fáze spájania. Ako v skratke, inscenácia má obrovský vplyv na výkon príjmu.

Použitie Kopírovacieho sprievodcu na generovanie ForEach poskytuje jednoduché používateľské rozhranie na konverziu DDL a načítanie vybraných tabuliek z dedikovaného SQL poolu na Fabric Data Warehouse v jednom kroku.

S celkovou priepustnosťou však nie je optimálna. Hlavnými faktormi latencie výkonu je požiadavka na používanie pracovnej verzie, potreba paralelného čítania a zapisovania pre krok "Source to Stage" (Zdroj k fáze). Túto možnosť sa odporúča použiť iba pre tabuľky dimenzií.

Možnosť č. 2. DDL/Migrácia údajov – Pipeline pomocou možnosti oddielu

Ak chcete vyriešiť zlepšenie priepustnosti na načítanie väčších tabuliek faktov pomocou kanála štruktúry, odporúča sa použiť aktivitu kopírovania pre každú tabuľku faktov s možnosťou oddielu. Pri kopírovaní aktivity tak dosiahnete najlepší výkon.

Ak je k dispozícii, môžete použiť fyzické rozdelenie zdrojovej tabuľky. Ak tabuľka nemá fyzické rozdelenie, musíte zadať stĺpec oblasti a zadať hodnoty minima/maxima, aby sa použilo dynamické rozdelenie. Na nasledujúcej snímke obrazovky možnosti zdroja kanála určujú dynamický rozsah oblastí na základe stĺpca ws_sold_date_sk .

Snímka obrazovky kanála znázorňujúca možnosť zadania primárneho kľúča alebo dátum stĺpca dynamickej oblasti.

Použitie oblasti môže zvýšiť priepustnosť pomocou fáz vnášacej fázy, je potrebné zvážiť vhodné úpravy:

  • V závislosti od rozsahu oblastí by potenciálne mohol používať všetky intervaly súbežnosti, keďže by mohol generovať viac ako 128 dotazov vo vyhradenom fonde SQL.
  • Ak chcete povoliť vykonávanie všetkých dotazov, musíte mierku upraviť na minimálnu DWU6000.
  • Ako príklad pre tabuľku TPC-DS web_sales bolo odoslaných 163 dotazov do vyhradeného fondu SQL. V DWU6000 sa vykonalo 128 dotazov, zatiaľ čo do frontu bolo zaradených 35 dotazov.
  • Dynamická oblasť automaticky vyberie oblasť rozsahu. V tomto prípade rozsah 11 dní pre každý dotaz SELECT odoslaný do vyhradeného fondu SQL. Napríklad:
    WHERE [ws_sold_date_sk] > '2451069' AND [ws_sold_date_sk] <= '2451080')
    ...
    WHERE [ws_sold_date_sk] > '2451333' AND [ws_sold_date_sk] <= '2451344')
    

Pre tabuľky faktov odporúčame použiť službu Data Factory s možnosťou rozdelenia na zvýšenie priepustnosť.

Avšak zvýšené paralelizované čítania vyžadujú vyhradený SQL pool na škálovanie na vyššie DWU, aby sa mohli vykonať extrahovacie dotazy. Využitím rozdelenia sa rýchlosť zlepší desaťnásobne oproti možnosti bez partície. DWU môžete zvýšiť, aby ste získali vyššiu priepustnosť cez výpočtové zdroje, ale dedikovaný SQL pool má maximálne povolených 128 aktívnych dotazov.

Pre viac informácií o mapovaní Synapse DWU na Fabric pozri Blog: Mapping Azure Synapse dedicated SQL pools to Fabric Data Warehouse compute.

Možnosť č. 3. Migrácia DDL – kopírovanie aktivity kopírovania údajov ForEach

Dve predchádzajúce možnosti sú skvelé možnosti migrácie údajov pre menšie databázy. Ak však potrebujete vyššiu priepustnosť, odporúčame alternatívnu možnosť:

  1. Extrahovanie údajov z vyhradeného fondu SQL do ADLS, čím sa zmierni režijné náklady na výkon fázy.
  2. Použite buď Data Factory alebo príkaz COPY na spracovanie dát do vášho skladu.

Na konverziu schémy (DDL) môžete naďalej používať službu Data Factory. Pomocou Sprievodcu kopírovaním môžete vybrať konkrétnu tabuľku alebo Všetky tabuľky. Tým sa v jednom kroku migruje schéma a údaje a extrahuje schému bez riadkov pomocou podmienky TOP 0 false vo príkaze dotazu.

Nasledujúca ukážka kódu zahŕňa migráciu schém (DDL) pomocou služby Data Factory.

Príklad kódu: Migrácia schémy (DDL) pomocou služby Data Factory

Môžete použiť Fabric Pipelines na jednoduchú migráciu DDL (schém) pre objekty tabuliek z akéhokoľvek zdrojového Azure SQL Database alebo dedikovaného SQL poolu. Tento pipeline migruje schému (DDL) pre zdrojové SQL vyhradené tabuľky na Fabric Data Warehouse.

Snímka obrazovky znázorňujúca službu Fabric Data Factory zobrazujúcu objekt vyhľadávania, ktorý vedie na položku Pre každý objekt. V časti Pre každý objekt sú aktivity na migráciu DDL.

Návrh kanála: parametre

Tento kanál akceptuje parameter SchemaName, ktorý vám umožňuje určiť, cez ktoré schémy sa má migrovať. Schéma dbo je predvolená.

Do poľa Predvolená hodnota zadajte zoznam schémy tabuľky s hodnotami oddelenými čiarkou, ktorý označuje schémy, ktoré sa majú migrovať: 'dbo','tpch' na poskytnutie dvoch schém dbo a tpch.

Screenshot z Data Factory zobrazujúci záložku Parameters pipeline. V poli Názov je 'SchemaName'. V poli Default value sú 'dbo', 'tpch', čo naznačuje, že tieto dve schémy by mali byť migrované.

Návrh kanála: Aktivita vyhľadávania

Vytvorte aktivitu vyhľadávania a nastavte pripojenie tak, aby smerovala na zdrojovú databázu.

Na karte Nastavenia :

  • Nastavte typ ukladacieho priestoru údajov na externý.

  • Pripojenie je váš vyhradený fond SQL služby Azure Synapse. Typ pripojenia je Azure Synapse Analytics.

  • Možnosť Použiť dotaz je nastavená na možnosť Dotaz.

  • Pole Dotaz musí byť vytvorené pomocou dynamického výrazu, ktorý umožňuje použiť parameter SchemaName v dotaze, ktorý vráti zoznam cieľových zdrojových tabuliek. Vyberte položku Dotaz a potom položku Pridať dynamický obsah.

    Tento výraz v rámci aktivity LookUp vygeneruje príkaz SQL na dotazovanie systémových zobrazení na načítanie zoznamu schém a tabuliek. Odkazuje na SchemaName parameter na filtrovanie SQL schém. Výstupom tohto je pole schémy SQL a tabuľky, ktoré sa použijú ako vstup do aktivity ForEach.

    Pomocou nasledujúceho kódu môžete vrátiť zoznam všetkých tabuliek používateľov s názvom schémy.

    @concat('
    SELECT s.name AS SchemaName,
    t.name  AS TableName
    FROM sys.tables AS t
    INNER JOIN sys.schemas AS s
    ON t.type = ''U''
    AND s.schema_id = t.schema_id
    AND s.name in (',coalesce(pipeline().parameters.SchemaName, 'dbo'),')
    ')
    

Screenshot z Data Factory zobrazujúci záložku Nastavenia v pipeline. Tlačidlo 'Dotaz' sa vyberie a kód sa vloží do poľa 'Dotaz'.

Návrh kanála: Slučka forEach

Pre slučku ForEach nakonfigurujte nasledujúce možnosti na karte Nastavenia :

  • Ak chcete povoliť súbežné spúšťanie viacerých iterácií, zakážte položku Sekvenčné .
  • Položku Počet šarží nastavte na 50hodnotu , čím obmedzíte maximálny počet súbežných iterácií.
  • Pole Items musí používať dynamický obsah na odkazovanie na výstup aktivity LookUp. Použite nasledujúci úryvok kódu: @activity('Get List of Source Objects').output.value

Snímka obrazovky zobrazujúca kartu nastavenia aktivity slučky forEach.

Návrh kanála: Kopírovanie aktivity v slučke ForEach

V rámci aktivity ForEach pridajte aktivitu kopírovania. Táto metóda využíva Dynamic Expression Language v pipeline na vytvorenie a SELECT TOP 0 * FROM <TABLE> na migráciu iba schémy bez dát do skladu.

Na karte Zdroj :

  • Nastavte typ ukladacieho priestoru údajov na externý.
  • Pripojenie je váš vyhradený fond SQL služby Azure Synapse. Typ pripojenia je Azure Synapse Analytics.
  • Nastavte položku Použiť dotaz na možnosť Dotaz.
  • Do poľa Dotaz prilepte dotaz dynamického obsahu a použite tento výraz, ktorý vráti nulové riadky, a to len schému tabuľky:@concat('SELECT TOP 0 * FROM ',item().SchemaName,'.',item().TableName)

Snímka obrazovky znázorňujúca službu Data Factory zobrazujúcu kartu Zdroj položky Kopírovať aktivitu v rámci slučky ForEach.

Na karte Cieľ :

  • Nastavte typ ukladacieho priestoru údajov na pracovný priestor.
  • Typ dátového úložiska Workspace je Data Warehouse a Data Warehouse je nastavený na sklad.
  • Cieľová schéma tabuľky a názov tabuľky sú definované pomocou dynamického obsahu.
    • Schéma označuje pole aktuálnej iterácie, SchemaName s úryvkom: @item().SchemaName
    • Tabuľka odkazuje tableName pomocou úryvku: @item().TableName

Snímka obrazovky znázorňujúca službu Data Factory, ktorá zobrazuje kartu Cieľ kopírovanej aktivity v každej slučke ForEach.

Návrh kanála: Drez

V časti Sink (Drez) ukážte na sklad a odkazujte na zdrojovú schému a názov tabuľky.

Po spustení tohto kanála sa zobrazí sklad údajov vyplnený každou tabuľkou v zdroji s správnou schémou.

Migrácia pomocou uložených procedúr vo vyhradenom fonde SQL služby Synapse

Táto možnosť používa uložené procedúry na vykonanie migrácie tkaniny.

Ukážky kódu môžete získať pri migrácii na lokalitu Microsoft/fabric-migration na GitHub.com. Tento kód sa zdieľa ako open-source, takže neváhajte a prispejte k spolupráci a pomoci komunite.

Čo môžu robiť uložené procedúry migrácie:

  • Preveďte schému (DDL) na Fabric Data Warehouse syntax.
  • Vytvorte schému (DDL) na Fabric Data Warehouse.
  • Extrahovanie údajov z vyhradeného fondu SQL služby Synapse do ADLS.
  • Označte nepodporovanú syntax tkaniny pre kódy T-SQL (uložené procedúry, funkcie, zobrazenia).

Toto je skvelá možnosť pre tých, ktorí:

  • Sú oboznámení s T-SQL.
  • Chcete použiť integrované vývojové prostredie, ako napríklad SQL Server Management Studio (SSMS).
  • Chcete mať väčšiu kontrolu nad tým, na ktorých úlohách chcú pracovať.

Môžete spustiť konkrétnu uloženú procedúru pre konverziu schémy (DDL), extrahovanie údajov alebo hodnotenie kódu T-SQL.

Pri migrácii dát musíte použiť buď COPY INTO Fabric Data Factory na ich importovanie do skladu.

Migrácia pomocou projektov databázy SQL

Microsoft Fabric Data Warehouse je podporovaný rozšírením SQL Database Projects dostupným vo Visual Studio Code.

Toto rozšírenie je dostupné vo Visual Studio Code. Táto funkcia umožňuje funkcie na ovládanie zdrojov, testovanie databázy a overenie schémy.

Pre viac informácií o správe zdrojového kódu pozri prehľad vývoja a nasadenia.

Táto možnosť je skvelou možnosťou pre tých, ktorí na svoje nasadenie radšej používajú projekt SQL Database Project. Táto možnosť v podstate integrovala uložené procedúry migrácie do projektu SQL Database Project, čím sa zabezpečí bezproblémová migrácia.

Projekt databázy SQL môže:

  • Preveďte schému (DDL) na Fabric Data Warehouse syntax.
  • Vytvorte schému (DDL) na Fabric Data Warehouse.
  • Extrahovanie údajov z vyhradeného fondu SQL služby Synapse do ADLS.
  • Príznak nepodporovanú syntax pre kódy T-SQL (uložené procedúry, funkcie, zobrazenia).

Pri migrácii dát potom použijete buď COPY INTO alebo Data Factory na ich import do vášho skladu.

Tím Microsoft Fabric CAT poskytol sadu skriptov PowerShell na spracovanie extrakcie, vytvárania a nasadenia schémy (DDL) a databázového kódu (DML) prostredníctvom projektu databázy SQL. Návod na používanie projektu DATABÁZA SQL s našimi užitočnými skriptami prostredia PowerShell nájdete v téme Migrácia na lokalitu microsoft/fabric-migration on GitHub.com.

Pre viac informácií o SQL Database Projects pozri Začnite s rozšírením SQL Database Projects a Build a database project z príkazového riadku.

Migrácia údajov pomocou cetas

Príkaz T-SQL CREATE EXTERNAL TABLE AS SELECT (CETAS) poskytuje nákladovo efektívnu a optimálnu metódu na extrahovanie údajov z vyhradených fondov SQL Synapse do služby Azure Data Lake Storage (ADLS) Gen2.

Čo dokáže CETAS:

  • Extrahovanie údajov do ADLS.
    • Táto možnosť vyžaduje, aby používatelia vytvorili schému (DDL) vo vašom sklade pred prijatím dát. Zvážte možnosti v tomto článku na migráciu schémy (DDL).

Medzi výhody tejto možnosti patria:

  • Pre zdroj synapse dedicated SQL pool sa odošle iba jeden dotaz na tabuľku. Nebudú sa tým využívať všetky intervaly súbežnosti, a preto nebudú blokovať súbežné produkčné ETL/dotazy zákazníka.
  • Zmena mierky na DWU6000 nie je potrebná, pretože pre každú tabuľku sa používa len jeden slot súbežnosti, takže zákazníci môžu používať nižšie DWU.
  • Extrahovanie sa spustí paralelne vo všetkých výpočtových uzloch a toto je kľúč k zlepšeniu výkonu.

Použitie CETAS na extrahovanie údajov do ADLS vo formáte súboru Parquet. Parquet súbory poskytujú výhodu efektívneho úložiska s stĺpcovou kompresiou, ktorá bude mať menšiu šírku pásma pre pohyb v sieti. Keďže fabric ukladal údaje ako formát Delta parquet, príjem údajov bude v porovnaní s formátom textového súboru 2,5-násobne rýchlejší, pretože počas príjmu nedôjde k žiadnej konverzii na formát Delta.

Ak chcete zvýšiť priepustnosť CETAS:

  • Pridajte paralelné operácie CETAS, zvýši sa využívanie slotov súbežnosti, ale umožní sa väčšia priepustnosť.
  • Škálovanie dwu na vyhradenom fonde SQL Synapse.

Migrácia cez dbt

V tejto časti si rozoberieme možnosť dbt pre tých zákazníkov, ktorí už používajú dbt v aktuálnom vyhradenom prostredí fondu SQL Synapse.

Čo dbt môže robiť:

  • Preveďte schému (DDL) na Fabric Data Warehouse syntax.
  • Vytvorte schému (DDL) na Fabric Data Warehouse.
  • Konverzia kódu databázy (DML) na syntax tkaniny.

Architektúra dbt generuje DDL a DML (skripty SQL) za behu s každým spustením. So súbormi modelu vyjadrenými v príkazoch SELECT možno DDL/DML okamžite preložiť na akúkoľvek cieľovú platformu zmenou profilu (reťazec pripojenia) a typu adaptéra.

Architektúra dbt je kódom prvý prístup. Údaje sa musia migrovať pomocou možností uvedených v tomto dokumente, ako sú napríklad CETAS alebo COPY/Data Factory.

DBT adaptér pre Microsoft Fabric Data Warehouse umožňuje existujúcim dbt projektom, ktoré cielili na rôzne platformy, ako sú Synapse dedikované SQL pooly, Snowflake, Databricks, Google Big Query alebo Amazon Redshift, migrovať do skladu jednoduchou zmenou konfigurácie.

Ak chcete začať s DBT projektom zameraným na Fabric Data Warehouse, pozrite si Tutoriál: Nastaviť dbt pre Fabric Data Warehouse. Tento dokument obsahuje aj možnosť presúvať sa medzi rôznymi skladmi alebo platformami.

Vstup dát do Fabric Data Warehouse

Na vstup do Fabric Data Warehouse použite COPY INTO alebo Fabric Data Factory, podľa vašich preferencií. Obe metódy sú odporúčané a možnosti s najlepším výkonom, pretože majú ekvivalentnú priepustnosť výkonu, vzhľadom na predpoklad, že súbory sú už extrahované do služby Azure Data Lake Storage (ADLS) Gen2.

Niekoľko faktorov, ktoré treba poznamenať, aby ste mohli navrhnúť proces s cieľom maximálneho výkonu:

  • Pri Fabric nedochádza k žiadnej konkurencii zdrojov pri načítavaní viacerých tabuliek z ADLS do Fabric Data Warehouse súčasne. V dôsledku toho sa pri načítavaní paralelných vlákien nedochádza k žiadnemu poklesu výkonu. Maximálna priepustnosť príjmu bude obmedzená len výpočtovým výkonom kapacity služby Fabric.
  • Správa vyťaženia služby fabric poskytuje oddelenie zdrojov vyhradených pre načítanie a dotazovanie. Zatiaľ čo sa dotazy a načítavanie údajov vykonávajú v rovnakom čase, k žiadnemu sporu o zdroje nedochádza.