Migratie: toegewezen SQL-pools van Azure Synapse Analytics naar Fabric
Van toepassing op:✅ Warehouse in Microsoft Fabric
In dit artikel worden de strategie, overwegingen en migratiemethoden van datawarehousing in toegewezen SQL-pools van Azure Synapse Analytics naar Microsoft Fabric Warehouse beschreven.
Inleiding tot migratie
Zoals Microsoft Microsoft Fabric heeft geïntroduceerd, is er een alles-in-één SaaS-analyseoplossing voor ondernemingen die een uitgebreide reeks services biedt, waaronder Data Factory, Data-engineer ing, Databeheersysteem, Datawetenschap, realtime intelligentie en Power BI.
Dit artikel is gericht op opties voor DDL-migratie (Schema), databasecodemigratie (DML) en gegevensmigratie. Microsoft biedt verschillende opties, en hier bespreken we elke optie in detail en bieden we richtlijnen over welke van deze opties u moet overwegen voor uw scenario. In dit artikel wordt de TPC-DS-industriebenchmark gebruikt voor illustratie- en prestatietests. Het werkelijke resultaat kan variëren, afhankelijk van veel factoren, waaronder het type gegevens, gegevenstypen, de breedte van tabellen, latentie van gegevensbronnen, enzovoort.
Voorbereiden op migratie
Plan uw migratieproject zorgvuldig voordat u aan de slag gaat en zorg ervoor dat uw schema, code en gegevens compatibel zijn met Fabric Warehouse. Er zijn enkele beperkingen die u moet overwegen. Kwantificeer het herstructureren van de incompatibele items, evenals alle andere resources die nodig zijn voor de levering van de migratie.
Een ander belangrijk doel van de planning is om uw ontwerp aan te passen om ervoor te zorgen dat uw oplossing optimaal profiteert van de hoge queryprestaties die Fabric Warehouse biedt. Het ontwerpen van datawarehouses voor schaal introduceert unieke ontwerppatronen, dus traditionele benaderingen zijn niet altijd de beste. Bekijk de prestatierichtlijnen voor fabricwarehouses, omdat hoewel er na de migratie enkele ontwerpaanpassingen kunnen worden aangebracht, waardoor u eerder in het proces wijzigingen aanbrengt, u tijd en moeite bespaart. Migratie van de ene technologie/omgeving naar de andere is altijd een grote inspanning.
In het volgende diagram ziet u de levenscyclus van migratie met de belangrijkste pijlers die bestaan uit de pijlers Evalueren en Evalueren, Plannen en Ontwerpen, Migreren, Bewaken en Beheren, Optimaliseren en Moderniseren met de bijbehorende taken in elke pijler om de soepele migratie te plannen en voor te bereiden.
Runbook voor migratie
Houd rekening met de volgende activiteiten als een planningsrunbook voor uw migratie van toegewezen SQL-pools van Synapse naar Fabric Warehouse.
- Evalueren en evalueren
- Doelstellingen en motivaties identificeren. Duidelijke gewenste resultaten vaststellen.
- De bestaande architectuur detecteren, evalueren en basislijn maken.
- Identificeer belangrijke belanghebbenden en sponsors.
- Definieer het bereik van wat moet worden gemigreerd.
- Begin klein en eenvoudig, bereid u voor op meerdere kleine migraties.
- Begin met het bewaken en documenteren van alle fasen van het proces.
- Inventaris maken van gegevens en processen voor migratie.
- Wijzigingen in gegevensmodellen definiëren (indien van toepassing).
- Stel de infrastructuurwerkruimte in.
- Wat is uw vaardighedenset/voorkeur?
- Automatiseer waar mogelijk.
- Gebruik ingebouwde Azure-hulpprogramma's en -functies om de migratie te verminderen.
- Train het personeel vroeg op het nieuwe platform.
- Identificeer upskillingsbehoeften en trainingsassets, waaronder Microsoft Learn.
- Plannen en ontwerpen
- Definieer de gewenste architectuur.
- Selecteer de methode/hulpprogramma's voor de migratie om de volgende taken uit te voeren:
- Gegevensextractie uit de bron.
- Schemaconversie (DDL), inclusief metagegevens voor tabellen en weergaven
- Gegevensopname, inclusief historische gegevens.
- Indien nodig moet u het gegevensmodel opnieuw ontwikkelen met behulp van nieuwe platformprestaties en schaalbaarheid.
- Databasecodemigratie (DML).
- Opgeslagen procedures en bedrijfsprocessen migreren of herstructureren.
- Inventariseer en pak de beveiligingsfuncties en objectmachtigingen uit de bron.
- Ontwerp en plan bestaande ETL/ELT-processen te vervangen/wijzigen voor incrementele belasting.
- Maak parallelle ETL-/ELT-processen voor de nieuwe omgeving.
- Bereid een gedetailleerd migratieplan voor.
- Wijs de huidige status toe aan de nieuwe gewenste status.
- Migreren
- Schema, gegevens en codemigratie uitvoeren.
- Gegevensextractie uit de bron.
- DDL-conversie (Schema)
- Gegevensopname
- Databasecodemigratie (DML).
- Schaal indien nodig de toegewezen SQL-poolbronnen tijdelijk omhoog om de migratiesnelheid te helpen.
- Pas beveiliging en machtigingen toe.
- Migreer bestaande ETL-/ELT-processen voor incrementele belasting.
- EtL/ELT incrementele belastingprocessen migreren of herstructureren.
- Test en vergelijk parallelle incrementele belastingprocessen.
- Pas het detailmigratieplan zo nodig aan.
- Schema, gegevens en codemigratie uitvoeren.
- Bewaken en beheren
- Parallel uitvoeren, vergelijken met uw bronomgeving.
- Test toepassingen, business intelligence-platforms en queryhulpprogramma's.
- Benchmarken en queryprestaties optimaliseren.
- Kosten, beveiliging en prestaties bewaken en beheren.
- Governancebenchmark en -evaluatie.
- Parallel uitvoeren, vergelijken met uw bronomgeving.
- Optimaliseren en moderniseren
- Wanneer het bedrijf vertrouwd is, zet u toepassingen en primaire rapportageplatforms over naar Fabric.
- Resources omhoog/omlaag schalen naarmate de workload van Azure Synapse Analytics naar Microsoft Fabric verschuift.
- Bouw een herhaalbare sjabloon op basis van de ervaring die is opgedaan voor toekomstige migraties. Iterate.
- Mogelijkheden identificeren voor kostenoptimalisatie, beveiliging, schaalbaarheid en operationele uitmuntendheid
- Identificeer mogelijkheden om uw gegevensdomein te moderniseren met de nieuwste Fabric-functies.
- Wanneer het bedrijf vertrouwd is, zet u toepassingen en primaire rapportageplatforms over naar Fabric.
'Lift and shift' of moderniseren?
Over het algemeen zijn er twee soorten migratiescenario's, ongeacht het doel en het bereik van de geplande migratie: lift-and-shift as-is, of een gefaseerde benadering die architectuur- en codewijzigingen bevat.
Lift-and-shift
In een lift-and-shift-migratie wordt een bestaand gegevensmodel gemigreerd met kleine wijzigingen in het nieuwe fabricwarehouse. Deze aanpak minimaliseert risico's en migratietijd door het nieuwe werk te verminderen dat nodig is om de voordelen van migratie te realiseren.
Lift-and-shift-migratie is geschikt voor deze scenario's:
- U hebt een bestaande omgeving met een klein aantal datamarts die u wilt migreren.
- U hebt een bestaande omgeving met gegevens die zich al in een goed ontworpen ster- of sneeuwvlokschema bevinden.
- U bent onder tijd- en kostendruk om over te stappen naar Fabric Warehouse.
Kortom, deze benadering werkt goed voor workloads die zijn geoptimaliseerd met uw huidige omgeving met toegewezen SQL-pools van Synapse, en vereist daarom geen grote wijzigingen in Fabric.
Moderniseren in een gefaseerde benadering met architectuurwijzigingen
Als een verouderd datawarehouse gedurende een lange periode is ontwikkeld, moet u het mogelijk opnieuw ontwikkelen om de vereiste prestatieniveaus te behouden.
Mogelijk wilt u de architectuur ook opnieuw ontwerpen om te profiteren van de nieuwe engines en functies die beschikbaar zijn in de Infrastructuurwerkruimte.
Ontwerpverschillen: Toegewezen SQL-pools en Fabric Warehouse van Synapse
Bekijk de volgende verschillen in Azure Synapse en Microsoft Fabric-datawarehousing, met een vergelijking van toegewezen SQL-pools met het Fabric Warehouse.
Overwegingen voor tabellen
Wanneer u tabellen migreert tussen verschillende omgevingen, worden doorgaans alleen de onbewerkte gegevens en de metagegevens fysiek gemigreerd. Andere database-elementen van het bronsysteem, zoals indexen, worden meestal niet gemigreerd omdat ze mogelijk onnodig zijn of anders worden geïmplementeerd in de nieuwe omgeving.
Prestatieoptimalisaties in de bronomgeving, zoals indexen, geven aan waar u prestatieoptimalisatie in een nieuwe omgeving kunt toevoegen, maar fabric zorgt er nu automatisch voor.
Overwegingen voor T-SQL
Er zijn verschillende DML-syntaxisverschillen (Data Manipulation Language) waar u rekening mee moet houden. Raadpleeg het T-SQL-oppervlakgebied in Microsoft Fabric. Overweeg ook een code-evaluatie bij het kiezen van een of meer methoden voor migratie voor de databasecode (DML).
Afhankelijk van de pariteitsverschillen op het moment van de migratie, moet u mogelijk onderdelen van uw T-SQL DML-code herschrijven.
Verschillen in toewijzing van gegevenstypen
Er zijn verschillende verschillen in gegevenstypen in Fabric Warehouse. Zie Gegevenstypen in Microsoft Fabric voor meer informatie.
De volgende tabel bevat de toewijzing van ondersteunde gegevenstypen van toegewezen Synapse SQL-pools aan Fabric Warehouse.
Toegewezen SQL-pools voor Synapse | Infrastructuurwarehouse |
---|---|
money | decimal(19,4) |
smallmoney | decimal(10,4) |
smalldatetime | datetime2 |
datetime | datetime2 |
nchar | char |
nvarchar | varchar |
tinyint | smallint |
binair | varbinary |
datetimeoffset* | datetime2 |
* Datetime2 slaat de extra tijdzone-offsetgegevens niet op waarin is opgeslagen. Omdat het gegevenstype datetimeoffset momenteel niet wordt ondersteund in Fabric Warehouse, moeten de tijdzone-offsetgegevens worden geëxtraheerd in een afzonderlijke kolom.
Schema-, code- en gegevensmigratiemethoden
Bekijk en bepaal welke van deze opties past bij uw scenario, personeelsvaardighedensets en de kenmerken van uw gegevens. De gekozen opties zijn afhankelijk van uw ervaring, voorkeur en de voordelen van elk van de hulpprogramma's. Ons doel is om migratiehulpprogramma's te blijven ontwikkelen die wrijving en handmatige interventie beperken om deze migratie-ervaring naadloos te maken.
Deze tabel bevat informatie over gegevensschema's (DDL), databasecode (DML) en gegevensmigratiemethoden. Verderop in dit artikel gaan we verder in op elk scenario, gekoppeld aan de kolom Optie .
Optienummer | Optie | Wat het doet | Vaardigheid/voorkeur | Scenario |
---|---|---|---|---|
1 | Data Factory | DDL-conversie (Schema) Gegevensextract Gegevensopname |
ADF/pijplijn | Alles vereenvoudigd in één schema (DDL) en gegevensmigratie. Aanbevolen voor dimensietabellen. |
2 | Data Factory met partitie | DDL-conversie (Schema) Gegevensextract Gegevensopname |
ADF/pijplijn | Partitioneringsopties gebruiken om parallelle lees-/schrijfparallellisme te verhogen met 10x doorvoer versus optie 1, aanbevolen voor feitentabellen. |
3 | Data Factory met versnelde code | DDL-conversie (Schema) | ADF/pijplijn | Converteer en migreer eerst het schema (DDL) en gebruik vervolgens CETAS om gegevens op te halen en te kopiëren/te kopiëren/data factory om gegevens op te nemen voor optimale algehele opnameprestaties. |
4 | Versnelde code voor opgeslagen procedures | DDL-conversie (Schema) Gegevensextract Code-evaluatie |
T-SQL | SQL-gebruiker die IDE gebruikt met gedetailleerdere controle over de taken waaraan ze willen werken. Gebruik COPY/Data Factory om gegevens op te nemen. |
5 | SQL Database Project-extensie voor Azure Data Studio | DDL-conversie (Schema) Gegevensextract Code-evaluatie |
SQL-project | SQL Database Project voor implementatie met de integratie van optie 4. Gebruik COPY of Data Factory om gegevens op te nemen. |
6 | CREATE EXTERNAL TABLE AS SELECT (CETAS) | Gegevensextract | T-SQL | Rendabele en krachtige gegevensextracten in Azure Data Lake Storage (ADLS) Gen2. Gebruik COPY/Data Factory om gegevens op te nemen. |
7 | Migreren met behulp van dbt | DDL-conversie (Schema) DML-conversie (databasecode) |
dbt | Bestaande dbt-gebruikers kunnen de dbt Fabric-adapter gebruiken om hun DDL en DML te converteren. Vervolgens moet u gegevens migreren met behulp van andere opties in deze tabel. |
Een workload kiezen voor de eerste migratie
Wanneer u besluit waar u wilt beginnen met de toegewezen SQL-pool van Synapse naar het migratieproject fabricwarehouse, kiest u een werkbelastinggebied waar u het volgende kunt doen:
- De levensvatbaarheid van de migratie naar Fabric Warehouse bewijzen door snel de voordelen van de nieuwe omgeving te bieden. Begin klein en eenvoudig, bereid u voor op meerdere kleine migraties.
- Geef uw interne technische medewerkers de tijd om relevante ervaring te krijgen met de processen en hulpprogramma's die ze gebruiken wanneer ze migreren naar andere gebieden.
- Maak een sjabloon voor verdere migraties die specifiek zijn voor de Synapse-bronomgeving en de hulpprogramma's en processen die u hierbij kunt helpen.
Tip
Maak een inventaris van objecten die moeten worden gemigreerd en documenteer het migratieproces van begin tot eind, zodat het kan worden herhaald voor andere toegewezen SQL-pools of -workloads.
Het volume van gemigreerde gegevens in een eerste migratie moet groot genoeg zijn om de mogelijkheden en voordelen van de Fabric Warehouse-omgeving te demonstreren, maar niet te groot om snel waarde te demonstreren. Een grootte in het bereik van 1-10 terabyte is typisch.
Migratie met Fabric Data Factory
In deze sectie bespreken we de opties die Data Factory gebruiken voor de persona met weinig code/geen code die bekend zijn met Azure Data Factory en Synapse Pipeline. Deze optie voor slepen en neerzetten biedt een eenvoudige stap om de DDL te converteren en de gegevens te migreren.
Fabric Data Factory kan de volgende taken uitvoeren:
- Converteer het schema (DDL) naar de syntaxis van fabricwarehouse.
- Maak het schema (DDL) in Fabric Warehouse.
- Migreer de gegevens naar Fabric Warehouse.
Optie 1. Schema/gegevensmigratie - Wizard kopiëren en ForEach-kopieeractiviteit
Deze methode gebruikt Data Factory Copy Assistant om verbinding te maken met de toegewezen SQL-brongroep, de DDL-syntaxis van de toegewezen SQL-pool te converteren naar Fabric en gegevens te kopiëren naar Fabric Warehouse. U kunt 1 of meer doeltabellen selecteren (voor de TPC-DS-gegevensset zijn er 22 tabellen). Hiermee wordt de ForEach gegenereerd om de lijst met tabellen te doorlopen die zijn geselecteerd in de gebruikersinterface en 22 parallelle kopieeractiviteitthreads uit te voeren.
- 22 SELECT-query's (één voor elke geselecteerde tabel) zijn gegenereerd en uitgevoerd in de toegewezen SQL-pool.
- Zorg ervoor dat u de juiste DWU en resourceklasse hebt om toe te staan dat de query's die worden gegenereerd, worden uitgevoerd. Voor dit geval hebt u minimaal DWU1000 nodig om
staticrc10
maximaal 32 query's toe te staan om 22 ingediende query's af te handelen. - Voor het direct kopiëren van gegevens uit de toegewezen SQL-pool naar Fabric Warehouse is fasering vereist. Het opnameproces bestond uit twee fasen.
- De eerste fase bestaat uit het extraheren van de gegevens uit de toegewezen SQL-pool in ADLS en wordt fasering genoemd.
- De tweede fase bestaat uit het opnemen van de gegevens uit fasering in Fabric Warehouse. De meeste timing voor gegevensopname bevindt zich in de faseringsfase. Kortom, fasering heeft een enorme invloed op opnameprestaties.
Aanbevolen gebruik
Met behulp van de wizard Kopiëren om een ForEach te genereren, kunt u DDL eenvoudig converteren en de geselecteerde tabellen uit de toegewezen SQL-pool in één stap naar Fabric Warehouse opnemen.
Het is echter niet optimaal met de totale doorvoer. De vereiste voor het gebruik van fasering, de noodzaak om lezen en schrijven voor de stap Bron naar fase te parallelliseren zijn de belangrijkste factoren voor de prestatielatentie. Het is raadzaam deze optie alleen te gebruiken voor dimensietabellen.
Optie 2. DDL/Gegevensmigratie - Gegevenspijplijn met partitieoptie
Als u de doorvoer wilt verbeteren om grotere feitentabellen te laden met behulp van een Infrastructuurgegevenspijplijn, wordt u aangeraden kopieeractiviteit te gebruiken voor elke feitentabel met partitieoptie. Dit biedt de beste prestaties met Copy-activiteit.
U kunt de fysieke partitionering van de brontabel gebruiken, indien beschikbaar. Als de tabel geen fysieke partitionering heeft, moet u de partitiekolom opgeven en min/max-waarden opgeven om dynamische partitionering te gebruiken. In de volgende schermopname geven de opties voor de gegevenspijplijnbron een dynamisch bereik van partities op op basis van de ws_sold_date_sk
kolom.
Hoewel het gebruik van partitie de doorvoer met de faseringsfase kan verhogen, zijn er overwegingen om de juiste aanpassingen te maken:
- Afhankelijk van uw partitiebereik kan het mogelijk alle gelijktijdigheidssleuven gebruiken, omdat er meer dan 128 query's in de toegewezen SQL-pool kunnen worden gegenereerd.
- U moet schalen tot een minimum van DWU6000 zodat alle query's kunnen worden uitgevoerd.
- Voor de TPC-DS-tabel
web_sales
zijn er bijvoorbeeld 163 query's verzonden naar de toegewezen SQL-pool. Op DWU6000 werden 128 query's uitgevoerd terwijl 35 query's in de wachtrij werden geplaatst. - Dynamische partitie selecteert automatisch de bereikpartitie. In dit geval is er een bereik van 11 dagen voor elke SELECT-query die is verzonden naar de toegewezen SQL-pool. Bijvoorbeeld:
WHERE [ws_sold_date_sk] > '2451069' AND [ws_sold_date_sk] <= '2451080') ... WHERE [ws_sold_date_sk] > '2451333' AND [ws_sold_date_sk] <= '2451344')
Aanbevolen gebruik
Voor feitentabellen is het raadzaam om Data Factory te gebruiken met partitioneringsoptie om de doorvoer te verhogen.
De toegenomen geparallelliseerde leesbewerkingen vereisen echter dat een toegewezen SQL-pool wordt geschaald naar een hogere DWU, zodat de extractquery's kunnen worden uitgevoerd. Door gebruik te maken van partitionering, wordt de snelheid 10x verbeterd ten opzichte van geen partitieoptie. U kunt de DWU verhogen om extra doorvoer te krijgen via rekenresources, maar de toegewezen SQL-pool heeft maximaal 128 actieve query's toegestaan.
Notitie
Voor meer informatie over Synapse DWU to Fabric-toewijzing raadpleegt u Blog: Toegewezen SQL-pools van Azure Synapse toewijzen aan fabric-datawarehouse-rekenkracht.
Optie 3. DDL-migratie - Wizard ForEach-kopieeractiviteit
De twee vorige opties zijn geweldige opties voor gegevensmigratie voor kleinere databases. Maar als u een hogere doorvoer nodig hebt, raden we een alternatieve optie aan:
- Pak de gegevens uit de toegewezen SQL-pool uit naar ADLS, waardoor de overhead van de faseprestaties wordt beperkt.
- Gebruik Data Factory of de opdracht COPY om de gegevens op te nemen in Fabric Warehouse.
Aanbevolen gebruik
U kunt Data Factory blijven gebruiken om uw schema (DDL) te converteren. Met de wizard Kopiëren kunt u de specifieke tabel of alle tabellen selecteren. Hiermee worden het schema en de gegevens in één stap gemigreerd, waarbij het schema zonder rijen wordt geëxtraheerd, met behulp van de onwaarvoorwaarde, TOP 0
in de query-instructie.
In het volgende codevoorbeeld wordt de schemamigratie (DDL) behandeld met Data Factory.
Codevoorbeeld: Schemamigratie (DDL) met Data Factory
U kunt Fabric Data Pipelines gebruiken om eenvoudig te migreren via uw DDL (schema's) voor tabelobjecten uit elke azure SQL Database-bron of toegewezen SQL-pool. Deze gegevenspijplijn wordt gemigreerd via het schema (DDL) voor de toegewezen SQL-brongroeptabellen naar Fabric Warehouse.
Pijplijnontwerp: parameters
Deze gegevenspijplijn accepteert een parameter SchemaName
, waarmee u kunt opgeven welke schema's moeten worden gemigreerd. Het dbo
schema is de standaardinstelling.
Voer in het veld Standaardwaarde een door komma's gescheiden lijst met tabelschema's in die aangeven welke schema's moeten worden gemigreerd: 'dbo','tpch'
om twee schema's op te geven, dbo
en tpch
.
Pijplijnontwerp: Opzoekactiviteit
Maak een opzoekactiviteit en stel de verbinding in zodat deze verwijst naar uw brondatabase.
Op het tabblad Instellingen :
Stel het gegevensarchieftype in op Extern.
Verbinding is uw toegewezen SQL-pool van Azure Synapse. Verbindingstype is Azure Synapse Analytics.
De query wordt ingesteld op Query.
Het queryveld moet worden gebouwd met behulp van een dynamische expressie, zodat de parameter SchemaName kan worden gebruikt in een query die een lijst met doelbrontabellen retourneert. Selecteer Query en selecteer Dynamische inhoud toevoegen.
Deze expressie in de LookUp-activiteit genereert een SQL-instructie om een query uit te voeren op de systeemweergaven om een lijst met schema's en tabellen op te halen. Verwijst naar de parameter SchemaName om filteren op SQL-schema's mogelijk te maken. De uitvoer hiervan is een matrix van SQL-schema en -tabellen die worden gebruikt als invoer in de ForEach-activiteit.
Gebruik de volgende code om een lijst met alle gebruikerstabellen met hun schemanaam te retourneren.
@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'),') ')
Pijplijnontwerp: ForEach-lus
Configureer voor de ForEach-lus de volgende opties op het tabblad Instellingen :
- Schakel sequentiële functie uit om meerdere iteraties gelijktijdig uit te voeren.
- Stel batchaantal in op
50
, waardoor het maximum aantal gelijktijdige iteraties wordt beperkt. - Het veld Items moet dynamische inhoud gebruiken om te verwijzen naar de uitvoer van de lookup-activiteit. Gebruik het volgende codefragment:
@activity('Get List of Source Objects').output.value
Pijplijnontwerp: Kopieeractiviteit binnen de ForEach-lus
Voeg in de ForEach-activiteit een kopieeractiviteit toe. Deze methode maakt gebruik van de dynamische expressietaal in gegevenspijplijnen om een SELECT TOP 0 * FROM <TABLE>
schema te maken dat alleen het schema zonder gegevens naar een Fabric Warehouse migreert.
Op het tabblad Bron :
- Stel het gegevensarchieftype in op Extern.
- Verbinding is uw toegewezen SQL-pool van Azure Synapse. Verbindingstype is Azure Synapse Analytics.
- Stel Query gebruiken in op Query.
- Plak in het veld Query de query voor dynamische inhoud en gebruik deze expressie die nul rijen retourneert, alleen het tabelschema:
@concat('SELECT TOP 0 * FROM ',item().SchemaName,'.',item().TableName)
Op het tabblad Bestemming :
- Stel het gegevensarchieftype in op Werkruimte.
- Het gegevensarchieftype Werkruimte is Data Warehouse en het datawarehouse is ingesteld op het fabricwarehouse .
- De schema- en tabelnaam van de doeltabel worden gedefinieerd met dynamische inhoud.
- Schema verwijst naar het veld van de huidige iteratie, SchemaName met het fragment:
@item().SchemaName
- Tabel verwijst naar TableName met het codefragment:
@item().TableName
- Schema verwijst naar het veld van de huidige iteratie, SchemaName met het fragment:
Pijplijnontwerp: Sink
Voor Sink wijst u uw magazijn aan en verwijst u naar de naam van het bronschema en de tabel.
Zodra u deze pijplijn hebt uitgevoerd, ziet u dat uw datawarehouse is gevuld met elke tabel in uw bron, met het juiste schema.
Migratie met behulp van opgeslagen procedures in toegewezen SQL-pool van Synapse
Deze optie maakt gebruik van opgeslagen procedures om de infrastructuurmigratie uit te voeren.
U kunt de codevoorbeelden ophalen bij microsoft/fabric-migratie op GitHub.com. Deze code wordt gedeeld als open source, dus u kunt gerust bijdragen aan samenwerking en de community helpen.
Wat opgeslagen migratieprocedures kunnen doen:
- Converteer het schema (DDL) naar de syntaxis van fabricwarehouse.
- Maak het schema (DDL) in Fabric Warehouse.
- Extraheer gegevens uit de toegewezen SQL-pool van Synapse naar ADLS.
- Markeer de niet-ondersteunde Infrastructuursyntaxis voor T-SQL-codes (opgeslagen procedures, functies, weergaven).
Aanbevolen gebruik
Dit is een uitstekende optie voor degenen die:
- Bekend met T-SQL.
- U wilt een geïntegreerde ontwikkelomgeving gebruiken, zoals SQL Server Management Studio (SSMS).
- Meer gedetailleerde controle over de taken waaraan ze willen werken.
U kunt de specifieke opgeslagen procedure uitvoeren voor de DDL-conversie (schema), gegevensextract of T-SQL-code-evaluatie.
Voor de gegevensmigratie moet u COPY INTO of Data Factory gebruiken om de gegevens op te nemen in Fabric Warehouse.
Migreren met behulp van SQL-databaseprojecten
Microsoft Fabric Data Warehouse wordt ondersteund in de SQL Database Projects-extensie die beschikbaar is in Azure Data Studio en Visual Studio Code.
Deze extensie is beschikbaar in Azure Data Studio en Visual Studio Code. Deze functie maakt mogelijkheden mogelijk voor broncodebeheer, databasetests en schemavalidatie.
Zie Broncodebeheer met Warehouse voor meer informatie over broncodebeheer voor magazijnen in Microsoft Fabric, waaronder Git-integratie- en implementatiepijplijnen.
Aanbevolen gebruik
Dit is een uitstekende optie voor degenen die liever SQL Database Project gebruiken voor hun implementatie. Met deze optie zijn de opgeslagen procedures voor infrastructuurmigratie in het SQL Database-project geïntegreerd om een naadloze migratie-ervaring te bieden.
Een SQL Database-project kan het volgende doen:
- Converteer het schema (DDL) naar de syntaxis van fabricwarehouse.
- Maak het schema (DDL) in Fabric Warehouse.
- Extraheer gegevens uit de toegewezen SQL-pool van Synapse naar ADLS.
- Markeer niet-ondersteunde syntaxis voor T-SQL-codes (opgeslagen procedures, functies, weergaven).
Voor de gegevensmigratie gebruikt u vervolgens COPY INTO of Data Factory om de gegevens op te nemen in Fabric Warehouse.
Het Microsoft Fabric CAT-team biedt een set PowerShell-scripts voor het afhandelen van de extractie, het maken en implementeren van schema (DDL) en databasecode (DML) via een SQL Database-project. Zie microsoft/fabric-migratie op GitHub.com voor een overzicht van het gebruik van het SQL Database-project met onze nuttige PowerShell-scripts.
Zie Aan de slag met de extensie SQL Database Projects en een project bouwen en publiceren voor meer informatie over SQL Database Projects.
Migratie van gegevens met CETAS
De opdracht T-SQL CREATE EXTERNAL TABLE AS SELECT (CETAS) biedt de meest rendabele en optimale methode voor het extraheren van gegevens uit toegewezen Synapse SQL-pools naar Azure Data Lake Storage (ADLS) Gen2.
Wat CETAS kan doen:
- Gegevens extraheren in ADLS.
- Voor deze optie moeten gebruikers het schema (DDL) in Fabric Warehouse maken voordat ze de gegevens opnemen. Bekijk de opties in dit artikel om het schema (DDL) te migreren.
De voordelen van deze optie zijn:
- Er wordt slechts één query per tabel verzonden op basis van de toegewezen SQL-brongroep van Synapse. Hiermee worden niet alle gelijktijdigheidssites gebruikt en worden dus geen gelijktijdige ETL/query's voor de productie van klanten geblokkeerd.
- Schalen naar DWU6000 is niet vereist, omdat er slechts één gelijktijdigheidssite wordt gebruikt voor elke tabel, zodat klanten lagere DWU's kunnen gebruiken.
- Het extract wordt parallel uitgevoerd op alle rekenknooppunten en dit is de sleutel tot verbetering van de prestaties.
Aanbevolen gebruik
Gebruik CETAS om de gegevens te extraheren naar ADLS als Parquet-bestanden. Parquet-bestanden bieden het voordeel van efficiënte gegevensopslag met kolomcompressie die minder bandbreedte in beslag neemt om over het netwerk te gaan. Omdat Fabric de gegevens opslaat als Delta Parquet-indeling, is gegevensopname bovendien 2,5 keer sneller in vergelijking met de bestandsindeling van tekst, omdat er tijdens de opname geen conversie naar de Delta-indeling is.
CeTAS-doorvoer verhogen:
- Voeg parallelle CETAS-bewerkingen toe, waardoor het gebruik van gelijktijdigheidssites wordt verhoogd, maar meer doorvoer wordt toegestaan.
- Schaal de DWU in de toegewezen SQL-pool van Synapse.
Migratie via dbt
In deze sectie bespreken we de dbt-optie voor klanten die al dbt gebruiken in hun huidige toegewezen SQL-poolomgeving van Synapse.
Wat dbt kan doen:
- Converteer het schema (DDL) naar de syntaxis van fabricwarehouse.
- Maak het schema (DDL) in Fabric Warehouse.
- Databasecode (DML) converteren naar infrastructuursyntaxis.
Het dbt-framework genereert DDL- en DML-scripts (SQL-scripts) op elk gewenst moment met elke uitvoering. Met modelbestanden die worden uitgedrukt in SELECT-instructies, kan de DDL/DML direct worden vertaald naar elk doelplatform door het profiel (verbindingsreeks) en het adaptertype te wijzigen.
Aanbevolen gebruik
Het dbt-framework is code-first aanpak. De gegevens moeten worden gemigreerd met behulp van opties die worden vermeld in dit document, zoals CETAS of COPY/Data Factory.
Met de dbt-adapter voor Microsoft Fabric Data Warehouse kunnen de bestaande dbt-projecten die zijn gericht op verschillende platforms, zoals toegewezen Synapse SQL-pools, Snowflake, Databricks, Google Big Query of Amazon Redshift, worden gemigreerd naar een Fabric Warehouse met een eenvoudige configuratiewijziging.
Zie Zelfstudie: Dbt instellen voor Fabric Data Warehouse om aan de slag te gaan met een dbt-project dat gericht is op Fabric Warehouse. Dit document bevat ook een optie om te schakelen tussen verschillende magazijnen/platforms.
Gegevensopname in Fabric Warehouse
Voor opname in Fabric Warehouse gebruikt u COPY INTO of Fabric Data Factory, afhankelijk van uw voorkeur. Beide methoden zijn de aanbevolen en best presterende opties, omdat ze een equivalente prestatiedoorvoer hebben, gezien de vereiste dat de bestanden al zijn geëxtraheerd naar Azure Data Lake Storage (ADLS) Gen2.
Verschillende factoren waarmee u rekening moet houden, zodat u uw proces kunt ontwerpen voor maximale prestaties:
- Met Fabric is er geen sprake van resourceconflicten bij het gelijktijdig laden van meerdere tabellen van ADLS naar Fabric Warehouse. Als gevolg hiervan is er geen prestatievermindering bij het laden van parallelle threads. De maximale opnamedoorvoer wordt alleen beperkt door de rekenkracht van uw Infrastructuurcapaciteit.
- Het beheer van infrastructuurworkloads biedt scheiding van resources die zijn toegewezen voor belasting en query's. Er is geen conflicten tussen resources terwijl query's en het laden van gegevens tegelijkertijd worden uitgevoerd.