Hybrid-ETL med Azure Data Factory

Blob Storage
Data Factory
Synapse Analytics

Organisationer som migrerar sina SQL Server-databaser till molnet kan få enorma kostnadsbesparingar, prestandaförbättringar, ökad flexibilitet och större skalbarhet. Att omarbeta befintliga ETL-processer (extrahering, transformering och laddning) som skapats med SSIS (SQL Server Integration Services) kan dock vara en hinderfaktor för migreringen. I andra fall kräver databelastningsprocessen komplex logik och/eller specifika dataverktygskomponenter som ännu inte stöds av Azure Data Factory v2. Vanliga SSIS-funktioner är fuzzy-sökning och fuzzy-grupperingsomvandlar, avbildning av ändringsdata (CDC), långsamt föränderliga dimensioner (SCD) och datakvalitetstjänster (DQS).

För att underlätta en lift and shift-migrering av en SQL databas kan en hybrid-ETL-metod vara det lämpligaste alternativet. En hybridmodell använder Data Factory som primär orkestreringsmotor, men fortsätter att utnyttja befintliga SSIS-paket för att rensa data och arbeta med lokala resurser. Den här metoden använder Data Factory SQL Server Integrated Runtime (IR) för att möjliggöra en lift and shift-migrering av befintliga databaser till molnet, samtidigt som befintlig kod och SSIS-paket används.

Det här exempelscenariot är relevant för organisationer som flyttar databaser till molnet och överväger att använda Data Factory som sin primära molnbaserade ETL-motor samtidigt som befintliga SSIS-paket införlivas i det nya arbetsflödet för molndata. Många organisationer har betydande investerat i att utveckla SSIS ETL-paket för specifika datauppgifter. Det kan vara svår att skriva om de här paketen. Dessutom har många befintliga kodpaket beroenden av lokala resurser, vilket förhindrar migrering till molnet.

Data Factory kan kunderna dra nytta av sina befintliga ETL-paket och samtidigt begränsa ytterligare investeringar i lokal ETL-utveckling. I det här exemplet beskrivs möjliga användningsfall för att utnyttja befintliga SSIS-paket som en del av ett nytt arbetsflöde för molndata med Azure Data Factory v2.

Potentiella användningsfall

Traditionellt har SSIS varit det ETL-verktyg som många användare SQL Server datatekniker för datatransformering och inläsning. Ibland har specifika SSIS-funktioner eller anslutna komponenter från tredje part använts för att påskynda utvecklingsarbetet. Ersättning eller nyutveckling av dessa paket kanske inte är ett alternativ som förhindrar kunder från att migrera sina databaser till molnet. Kunder letar efter metoder med låg påverkan för att migrera sina befintliga databaser till molnet och dra nytta av sina befintliga SSIS-paket.

Flera potentiella lokala användningsfall visas nedan:

  • Läsa in nätverksrouterloggar till en databas för analys.
  • Förbereda personalanställningsdata för analysrapportering.
  • Läsa in produkt- och försäljningsdata i ett informationslager för försäljningsprognoser.
  • Automatisera inläsning av driftdatalager eller informationslager för ekonomi och redovisning.

Arkitektur

Arkitekturöversikt över en ETL-hybridprocess med Azure Data Factory

  1. Data kommer från Blob Storage till Data Factory.
  2. Den Data Factory-pipelinen anropar en lagrad procedur för att köra ett SSIS-jobb som finns lokalt via den integrerade körningen.
  3. Datarensningsjobben körs för att förbereda data för nedströmsanvändning.
  4. När datarensningen har slutförts körs en kopieringsaktivitet för att läsa in rensade data i Azure.
  5. Rensade data läses sedan in i tabeller i Azure Synapse Analytics.

Komponenter

  • Blob Storage används för att lagra filer och som en källa för Data Factory hämta data.
  • SQL Server Integration Services innehåller de lokala ETL-paket som används för att köra uppgiftsspecifika arbetsbelastningar.
  • Azure Data Factory är molnorkestreringsmotorn som tar data från flera källor och kombinerar, orkestrerar och läser in data i ett informationslager.
  • Azure Synapse centraliserar data i molnet för enkel åtkomst med hjälp av vanliga ANSI SQL frågor.

Alternativ

Data Factory kan anropa procedurer för datarensning som implementeras med hjälp av andra tekniker, till exempel en Notebook-dator i Databricks, Python-skript eller en SSIS-instans som körs på en virtuell dator. Att installera betalda eller licensierade anpassade komponenter för Azure-SSIS Integration Runtime kan vara ett genomförbart alternativ till hybrid metoden.

Överväganden

Integrated Runtime (IR) stöder två modeller: IR med egen värd eller Azure-värdbaserade IR. Du måste först välja mellan dessa två alternativ. Egen värd är mer kostnadseffektivt men har mer omkostnader för underhåll och hantering. Mer information finns i IR med egen värd. Om du behöver hjälp med att avgöra vilken IR som ska användas kan du se Avgöra vilken IR som ska användas.

För azure-värdbaserade metoder bör du bestämma hur mycket kraft som krävs för att bearbeta dina data. Med den Azure-värdbaserade konfigurationen kan du välja VM-storlek som en del av konfigurationsstegen. Mer information om hur du väljer VM-storlekar finns i Prestandaöverväganden för virtuella datorer.

Beslutet är mycket enklare när du redan har befintliga SSIS-paket som har lokala beroenden, till exempel datakällor eller filer som inte är tillgängliga från Azure. I det här scenariot är det enda alternativet IR med egen värd. Den här metoden ger störst flexibilitet för att utnyttja molnet som orkestreringsmotor, utan att behöva skriva om befintliga paket.

Avsikten är i slutänden att flytta bearbetade data till molnet för ytterligare förfining eller kombination med andra data som lagras i molnet. Som en del av designprocessen kan du hålla reda på antalet aktiviteter som används i Data Factory pipelines. Mer information finns i Pipelines och aktiviteter i Azure Data Factory.

Prissättning

Data Factory är ett kostnadseffektivt sätt att samordna dataförflyttning i molnet. Kostnaden baseras på flera faktorer.

  • Antal pipelinekörningar
  • Antal entiteter/aktiviteter som används i pipelinen
  • Antal övervakningsåtgärder
  • Antal integreringskörningar (Azure-värdbaserade IR eller IR med egen värd)

Data Factory använder förbrukningsbaserad fakturering. Därför tillkommer bara kostnader under pipelinekörningar och övervakning. Körningen av en grundläggande pipeline skulle kosta så lite som 50 cent och övervakningen så lite som 25 cent. Azure-kostnadskalkylatorn kan användas för att skapa en mer exakt uppskattning baserat på din specifika arbetsbelastning.

När du kör en hybrid-ETL-arbetsbelastning måste du ta med kostnaden för den virtuella dator som används som värd för dina SSIS-paket. Kostnaden baseras på storleken på den virtuella datorn från en D1v2 (1 kärna, 3,5 GB RAM-minne, 50 GB disk) till E64V3 (64 kärnor, 432 GB RAM-minne, 1600 GB disk). Mer information om hur du väljer lämplig VM-storlek finns i Prestandaöverväganden för virtuella datorer.

Nästa steg