Hybride ETL met Azure Data Factory

Blob Storage
Data Factory
Synapse Analytics

Organisaties die hun databases SQL Server naar de cloud kunnen enorme kostenbesparingen, prestatieverbeteringen, extra flexibiliteit en grotere schaalbaarheid realiseren. Het herwerken van bestaande ETL-processen (extract, transform en load) die zijn gebouwd met SQL Server Integration Services (SSIS) kan echter een obstakel voor migratie zijn. In andere gevallen vereist het laadproces complexe logica en/of specifieke onderdelen van het gegevenshulpprogramma die nog niet worden ondersteund door Azure Data Factory v2. Veelgebruikte SSIS-mogelijkheden zijn transformaties voor fuzzy opzoek- en fuzzy groepering, Change Data Capture (CDC), SCD (Slowly Changing Dimensions) en Data Quality Services (DQS).

Om een lift-and-shift-migratie van een bestaande SQL-database mogelijk te maken, is een hybride ETL-benadering mogelijk de meest geschikte optie. Een hybride benadering gebruikt Data Factory als de primaire orchestration-engine, maar blijft gebruikmaken van bestaande SSIS-pakketten om gegevens op te schonen en te werken met on-premises resources. Bij deze benadering wordt de Data Factory SQL Server Integrated Runtime (IR) gebruikt om een lift-and-shift-migratie van bestaande databases naar de cloud mogelijk te maken, terwijl bestaande code en SSIS-pakketten worden gebruikt.

Dit voorbeeldscenario is relevant voor organisaties die databases verplaatsen naar de cloud en overwegen Data Factory te gebruiken als primaire ETL-engine in de cloud tijdens het opnemen van bestaande SSIS-pakketten in hun nieuwe werkstroom voor cloudgegevens. Veel organisaties hebben aanzienlijk geïnvesteerd in het ontwikkelen van SSIS ETL-pakketten voor specifieke gegevenstaken. Het herschrijven van deze pakketten kan een hele uitdaging zijn. Daarnaast zijn veel bestaande codepakketten afhankelijk van lokale resources, waardoor migratie naar de cloud wordt voorkomen.

Data Factory kunnen klanten profiteren van hun bestaande ETL-pakketten en tegelijkertijd verdere investeringen in on-premises ETL-ontwikkeling beperken. In dit voorbeeld worden mogelijke gebruiksvoorbeelden besproken voor het gebruik van bestaande SSIS-pakketten als onderdeel van een nieuwe werkstroom voor cloudgegevens met behulp Azure Data Factory v2.

Potentiële gebruikscases

Van oudsher is SSIS het ETL-hulpprogramma van keuze voor veel SQL Server dataprofessionals voor gegevenstransformatie en -laden. Soms zijn er specifieke SSIS-functies of pluggingonderdelen van derden gebruikt om de ontwikkeling te versnellen. Vervanging of herontwikkeling van deze pakketten is mogelijk geen optie, waardoor klanten hun databases niet naar de cloud kunnen migreren. Klanten zijn op zoek naar benaderingen met lage impact om hun bestaande databases naar de cloud te migreren en te profiteren van hun bestaande SSIS-pakketten.

Hieronder vindt u verschillende mogelijke on-premises gebruiksgevallen:

  • Netwerkrouterlogboeken laden in een database voor analyse.
  • Arbeidsgegevens van human resources voorbereiden voor analytische rapportage.
  • Het laden van product- en verkoopgegevens in een datawarehouse voor verkoopprognoses.
  • Het automatiseren van het laden van operationele gegevensopslag of datawarehouses voor financiën en accounting.

Architectuur

Architectuuroverzicht van een hybride ETL-proces met behulp van Azure Data Factory

  1. Gegevens worden vanuit Blob Storage naar een Data Factory.
  2. De Data Factory-pijplijn roept een opgeslagen procedure aan om een SSIS-taak uit te voeren die on-premises wordt gehost via de Integrated Runtime.
  3. De taken voor het opschonen van gegevens worden uitgevoerd om de gegevens voor te bereiden op downstreamverbruik.
  4. Zodra de taak voor het opschonen van gegevens is voltooid, wordt er een kopieertaak uitgevoerd om de schone gegevens in Azure te laden.
  5. De schone gegevens worden vervolgens in tabellen in de Azure Synapse Analytics.

Onderdelen

  • Blob Storage wordt gebruikt om bestanden op te slaan en als bron voor Data Factory om gegevens op te halen.
  • SQL Server Integration Services bevat de on-premises ETL-pakketten die worden gebruikt om taakspecifieke workloads uit te voeren.
  • Azure Data Factory is de cloud-orchestration-engine die gegevens uit meerdere bronnen opeenvoudigt, in een datawarehouse combineert, in orchestrateert en laadt.
  • Azure Synapse centraliseert gegevens in de cloud voor eenvoudige toegang met behulp van standaard ANSI SQL query's.

Alternatieven

Data Factory kunnen procedures voor het opschonen van gegevens aanroepen die zijn geïmplementeerd met andere technologieën, zoals een Databricks-notebook, Python-script of SSIS-exemplaar dat wordt uitgevoerd op een virtuele machine. Het installeren van betaalde of gelicentieerde aangepaste onderdelen voor de Azure-SSIS Integration Runtime kan een geschikt alternatief zijn voor de hybride benadering.

Overwegingen

De Integrated Runtime (IR) ondersteunt twee modellen: zelf-hostende IR of door Azure gehoste IR. U moet eerst kiezen tussen deze twee opties. Zelfhosting is rendabeler, maar heeft meer overhead voor onderhoud en beheer. Zie Zelf-hostende IR voor meer informatie. Zie Bepalen welke IR u wilt gebruiken als u hulp nodig hebt bij het bepalen welke IR u moet gebruiken.

Voor de door Azure gehoste benadering moet u bepalen hoeveel energie er nodig is om uw gegevens te verwerken. Met de door Azure gehoste configuratie kunt u de VM-grootte selecteren als onderdeel van de configuratiestappen. Zie Prestatieoverwegingen voor VM's voor meer informatie over het selecteren van VM-grootten.

De beslissing is veel eenvoudiger wanneer u al bestaande SSIS-pakketten hebt die on-premises afhankelijkheden hebben, zoals gegevensbronnen of bestanden die niet toegankelijk zijn vanuit Azure. In dit scenario is de enige optie de zelf-hostende IR. Deze aanpak biedt de meeste flexibiliteit om gebruik te maken van de cloud als de orchestration-engine, zonder dat u bestaande pakketten opnieuw moet schrijven.

Uiteindelijk is het de bedoeling om de verwerkte gegevens naar de cloud te verplaatsen voor verdere verfijning of om ze te combineren met andere gegevens die zijn opgeslagen in de cloud. Houd als onderdeel van het ontwerpproces het aantal activiteiten bij dat wordt gebruikt in de Data Factory pijplijnen. Zie Pijplijnen en activiteiten in Azure Data Factory voor meer Azure Data Factory.

Prijzen

Data Factory is een rendabele manier om de verplaatsing van gegevens in de cloud te orkestreren. De kosten zijn gebaseerd op de verschillende factoren.

  • Aantal pijplijnuitvoeringen
  • Aantal entiteiten/activiteiten dat in de pijplijn wordt gebruikt
  • Aantal bewakingsbewerkingen
  • Aantal integratie-runs (door Azure gehoste IR of zelf-hostende IR)

Data Factory maakt gebruik van facturering op basis van verbruik. Daarom worden kosten alleen gemaakt tijdens pijplijnuitvoeringen en -bewaking. De uitvoering van een basispijplijn zou maar 50 cent kosten en de bewaking tot 25 cent. De Azure-kostencalculator kan worden gebruikt om een nauwkeurigere schatting te maken op basis van uw specifieke workload.

Bij het uitvoeren van een hybride ETL-workload moet u rekening houden met de kosten van de virtuele machine die wordt gebruikt voor het hosten van uw SSIS-pakketten. Deze kosten zijn gebaseerd op de grootte van de VM, variërend van een D1v2 (1 kern, 3,5 GB RAM, 50 GB schijf) tot E64V3 (64 kernen, 432 GB RAM, 1600 GB schijf). Zie Prestatieoverwegingen voor VM's als u meer informatie nodig hebt over het selecteren van de juiste VM-grootte.

Volgende stappen