Ontketen de kracht van ETL-tools voor AWS

ETL staat voor Extract, Transform en Load. ETL-tools extraheren gegevens uit verschillende bronnen en transformeren deze naar een tussenliggend formaat dat geschikt is voor doelsystemen of de vereisten van het gegevensmodel. En ten slotte laden ze gegevens in een doeldatabase, datawarehouse of zelfs datalake.

Ik herinner me tijden van 15 tot 20 jaar geleden toen de term ETL iets was dat maar weinigen begrepen wat het is. Toen verschillende custom batch jobs hun hoogtepunt hadden op de on-premise hardware.

Veel projecten deden een vorm van ETL. Zelfs als ze het niet wisten, zouden ze het ETL moeten noemen. Gedurende die tijd, telkens als ik een ontwerp uitlegde waarbij ETL-processen betrokken waren, en ik ze op die manier noemde en beschreef, leek het bijna op een andere wereldtechnologie, iets heel zeldzaams.

Maar vandaag zijn de dingen anders. Migratie naar de cloud heeft de hoogste prioriteit. En ETL-tools zijn het zeer strategische onderdeel van de architectuur van de meeste projecten.

Uiteindelijk betekent migreren naar de cloud de gegevens van on-premise als bron nemen en deze transformeren in clouddatabases in een vorm die zo compatibel mogelijk is met de cloudarchitectuur. Precies de taak van de ETL-tool.

Geschiedenis van ETL en hoe het aansluit op het heden

Bron: aws.amazon.com

De belangrijkste functies van ETL waren altijd hetzelfde.

ETL-tools halen gegevens uit verschillende bronnen (zoals databases, platte bestanden, webservices of, de laatste tijd, cloudgebaseerde applicaties).

Het betekende meestal het nemen van bestanden op het Unix-bestandssysteem als invoer en voorverwerking, verwerking en nabewerking.

Je zou het herbruikbare patroon van mapnamen kunnen zien, zoals:

  • Invoer
  • Uitgang
  • Fout
  • Archief

Onder die mappen bestond ook een andere submappenstructuur, voornamelijk gebaseerd op datums.

Dit was gewoon de standaardmanier om binnenkomende gegevens te verwerken en voor te bereiden om in een soort database te laden.

Tegenwoordig zijn er geen Unix-bestandssystemen (niet op dezelfde manier als voorheen)—misschien zelfs geen bestanden. Nu zijn er API’s – interfaces voor applicatieprogrammering. Dat kan, maar u hoeft geen bestand als invoerformaat te hebben.

Het kan allemaal worden opgeslagen in het cachegeheugen. Het kan nog steeds een bestand zijn. Wat het ook is, het moet een gestructureerd formaat volgen. In de meeste gevallen betekent dit JSON- of XML-indeling. In sommige gevallen zal het oude, goede door komma’s gescheiden waarden (CSV)-formaat het ook doen.

U definieert het invoerformaat. Of het proces ook inhoudt dat u de geschiedenis van invoerbestanden maakt, is geheel aan u. Het is geen standaardstap meer.

Transformatie

ETL-tools zetten de geëxtraheerde gegevens om in een geschikt formaat voor analyse. Dit omvat het opschonen van gegevens, gegevensvalidatie, gegevensverrijking en gegevensaggregatie.

Zoals vroeger het geval was, gingen de gegevens door een aantal complexe aangepaste logica van Pro-C of PL/SQL procedurele gegevensstaging, gegevenstransformatie en opslagstappen voor gegevensdoelschema’s. Het was een vergelijkbaar verplicht standaardproces als het scheiden van de inkomende bestanden in submappen op basis van het stadium waarin het bestand was verwerkt.

Waarom was het zo natuurlijk als het tegelijkertijd ook fundamenteel verkeerd was? Door de inkomende gegevens direct te transformeren zonder permanente opslag, verloor u het grootste voordeel van onbewerkte gegevens: onveranderlijkheid. Projecten hebben dat gewoon weggegooid zonder enige kans op wederopbouw.

  Werkbladen groeperen in Excel

Nou, raad eens. Hoe minder transformatie van onbewerkte gegevens u vandaag uitvoert, hoe beter. Voor de eerste gegevensopslag in het systeem, dat wil zeggen. Het kan zijn dat de volgende stap een serieuze dataverandering en datamodeltransformatie zal zijn, zeker. Maar u wilt de onbewerkte gegevens in een zoveel mogelijk ongewijzigde en atomaire structuur hebben opgeslagen. Een flinke verschuiving ten opzichte van de on-premise tijden, als je het mij vraagt.

Laden

ETL-tools laden de getransformeerde gegevens in een doeldatabase of datawarehouse. Dit omvat het maken van tabellen, het definiëren van relaties en het laden van gegevens in de juiste velden.

De laadstap is waarschijnlijk de enige die al eeuwenlang hetzelfde patroon volgt. Het enige verschil is een doeldatabase. Waar het voorheen meestal Oracle was, kan het nu alles zijn wat beschikbaar is in de AWS-cloud.

ETL in de hedendaagse cloudomgeving

Als je van plan bent om je data van on-premise naar de (AWS) cloud te brengen, heb je een ETL-tool nodig. Het kan niet zonder en daarom werd dit onderdeel van de cloudarchitectuur waarschijnlijk het belangrijkste stukje van de puzzel. Als deze stap verkeerd is, volgt er nog iets anders, overal dezelfde geur delend.

En hoewel er veel competities zijn, zou ik me nu concentreren op de drie waarmee ik de meeste persoonlijke ervaring heb:

  • Data Migration Service (DMS) – een native service van AWS.
  • Informatica ETL – waarschijnlijk de belangrijkste commerciële speler in de ETL-wereld, die zijn activiteiten met succes heeft getransformeerd van on-premise naar cloud.
  • Matillion voor AWS – een relatief nieuwe speler binnen cloudomgevingen. Niet native voor de AWS, maar native voor de cloud. Met niets zoals geschiedenis vergelijkbaar met Informatica.

AWS DMS als ETL

Bron: aws.amazon.com

AWS Data Migration Services (DMS) is een volledig beheerde service waarmee u gegevens uit verschillende bronnen naar AWS kunt migreren. Het ondersteunt meerdere migratiescenario’s.

  • Homogene migraties (bijv. Oracle naar Amazon RDS voor Oracle).
  • Heterogene migraties (bijv. Oracle naar Amazon Aurora).

DMS kan gegevens uit verschillende bronnen migreren, waaronder databases, datawarehouses en SaaS-applicaties, naar verschillende doelen, waaronder Amazon S3, Amazon Redshift en Amazon RDS.

AWS beschouwt de DMS-service als de ultieme tool om gegevens uit elke databasebron naar cloud-native doelen te brengen. Hoewel het hoofddoel van DMS alleen het kopiëren van gegevens naar de cloud is, kan het de gegevens onderweg ook goed transformeren.

U kunt DMS-taken in JSON-indeling definiëren om verschillende transformatietaken voor u te automatiseren terwijl u de gegevens van de bron naar het doel kopieert:

  • Voeg meerdere brontabellen of kolommen samen tot één waarde.
  • Bronwaarde splitsen in meerdere doelvelden.
  • Vervang brongegevens door een andere doelwaarde.
  • Verwijder onnodige gegevens of creëer volledig nieuwe gegevens op basis van de invoercontext.

Dat betekent – ​​ja, u kunt DMS zeker gebruiken als ETL-tool voor uw project. Misschien is het niet zo geavanceerd als de andere opties hieronder, maar het zal zijn werk doen als u het doel van tevoren duidelijk definieert.

Geschiktheidsfactor

Hoewel DMS enkele ETL-mogelijkheden biedt, gaat het vooral om datamigratiescenario’s. Er zijn enkele scenario’s waarin het misschien beter is om DMS te gebruiken in plaats van ETL-tools zoals Informatica of Matillion:

  • DMS kan homogene migraties aan waarbij de bron- en doeldatabases hetzelfde zijn. Dit kan een voordeel zijn als het doel is om gegevens te migreren tussen databases van hetzelfde type, zoals Oracle naar Oracle of MySQL naar MySQL.
  • DMS biedt enkele basismogelijkheden voor gegevenstransformatie en aanpassing, maar is in dat opzicht misschien niet supervolwassen. Dit kan nog steeds een voordeel zijn als u beperkte behoeften aan gegevenstransformatie heeft.
  • Gegevenskwaliteit en governance-behoeften zijn over het algemeen vrij beperkt met DMS. Maar dat zijn gebieden die in latere fasen van het project kunnen worden verbeterd met andere tools, meer bepaald voor dat doel. Mogelijk wilt u dat het ETL-gedeelte zo eenvoudig mogelijk wordt uitgevoerd. Dan is DMS een perfecte keuze.
  • DMS kan een meer kosteneffectieve optie zijn voor organisaties met beperkte budgetten. DMS heeft een eenvoudiger prijsmodel dan ETL-tools zoals Informatica of Matillion, waardoor het voor organisaties gemakkelijker kan worden om hun kosten te voorspellen en te beheren.
  •   Hoe de vaak bezochte startpagina van Safari op iPhone, iPad en Mac uit te schakelen

    Matillion ETL

    Bron: matillion.com

    is een cloud-native oplossing en u kunt deze gebruiken om gegevens uit verschillende bronnen te integreren, waaronder databases, SaaS-applicaties en bestandssystemen. Het biedt een visuele interface voor het bouwen van ETL-pijplijnen en ondersteunt verschillende AWS-services, waaronder Amazon S3, Amazon Redshift en Amazon RDS.

    Matillion is gebruiksvriendelijk en kan een goede keuze zijn voor organisaties die nieuw zijn met ETL-tools of met minder complexe behoeften op het gebied van gegevensintegratie.

    Aan de andere kant is Matillion een soort tabula rasa. Het heeft een aantal vooraf gedefinieerde potentiële functionaliteiten, maar u moet het op maat coderen om het tot leven te brengen. Je kunt niet van Matillion verwachten dat hij het werk kant-en-klaar voor je doet, ook al is de mogelijkheid er per definitie.

    Matillion beschreef zichzelf ook vaak als ELT in plaats van een ETL-tool. Dat betekent dat het voor Matillion natuurlijker is om vóór de transformatie een lading te doen.

    Geschiktheidsfactor

    Met andere woorden, Matillion is effectiever in het transformeren van de gegevens als ze al in de database zijn opgeslagen dan voorheen. De belangrijkste reden daarvoor is de reeds genoemde custom scripting verplichting. Aangezien eerst alle bijzondere functionaliteit moet worden gecodeerd, zal de effectiviteit dan sterk afhangen van de effectiviteit van de aangepaste code.

    Het is niet meer dan normaal om te verwachten dat dit beter zal worden afgehandeld in het doeldatabasesysteem en dat er op Matillion slechts een eenvoudige 1:1 laadtaak overblijft – veel minder mogelijkheden om het hier met aangepaste code te vernietigen.

    Hoewel Matillion een reeks functies voor gegevensintegratie biedt, biedt het mogelijk niet hetzelfde niveau van gegevenskwaliteit en beheerfuncties als sommige andere ETL-tools.

    Matillion kan omhoog of omlaag worden geschaald op basis van de behoeften van de organisatie, maar is mogelijk niet zo effectief voor het verwerken van zeer grote hoeveelheden gegevens. De parallelle verwerking is vrij beperkt. In dit opzicht is Informatica zeker een betere keuze, omdat het geavanceerder en tegelijkertijd rijker aan functies is.

    Voor veel organisaties kan Matillion voor AWS echter voldoende schaalbaarheid en parallelle verwerkingsmogelijkheden bieden om aan hun behoeften te voldoen.

    Informatica ETL

    Bron: informatica.com

    Informatica voor AWS is een cloudgebaseerde ETL-tool die is ontworpen om te helpen bij het integreren en beheren van gegevens uit verschillende bronnen en doelen in AWS. Het is een volledig beheerde service die een scala aan functies en mogelijkheden biedt voor gegevensintegratie, waaronder gegevensprofilering, gegevenskwaliteit en gegevensbeheer.

    Enkele van de belangrijkste kenmerken van Informatica voor AWS zijn:

      NVIDIA's RTX 3000-serie GPU's: dit is wat er nieuw is
  • Informatica is ontworpen om op of af te schalen op basis van de werkelijke behoeften. Het kan grote hoeveelheden gegevens verwerken en kan worden gebruikt om gegevens uit verschillende bronnen te integreren, waaronder databases, datawarehouses en SaaS-applicaties.
  • Informatica biedt een scala aan beveiligingsfuncties, waaronder codering, toegangscontrole en audittrails. Het voldoet aan verschillende industrienormen, waaronder HIPAA, PCI DSS en SOC 2.
  • Informatica biedt een visuele interface voor het bouwen van ETL-pijplijnen, waardoor het voor gebruikers gemakkelijk wordt om workflows voor gegevensintegratie te creëren en te beheren. Het biedt ook een reeks vooraf gebouwde connectoren en sjablonen die kunnen worden gebruikt om de systemen te verbinden en het integratieproces mogelijk te maken.
  • Informatica kan worden geïntegreerd met verschillende AWS-services, waaronder Amazon S3, Amazon Redshift en Amazon RDS. Dit maakt het eenvoudig om gegevens te integreren tussen verschillende AWS-services.
  • Geschiktheidsfactor

    Het is duidelijk dat Informatica de ETL-tool met de meeste functies op de lijst is. Het kan echter duurder en complexer zijn om te gebruiken dan sommige andere ETL-tools die beschikbaar zijn in AWS.

    Informatica kan duur zijn, vooral voor kleine en middelgrote organisaties. Het prijsmodel is gebaseerd op gebruik, wat betekent dat organisaties mogelijk meer moeten betalen naarmate hun gebruik toeneemt.

    Het kan ook complex zijn om in te stellen en te configureren, vooral voor degenen die nieuw zijn bij ETL-tools. Dit kan een aanzienlijke investering in tijd en middelen vergen.

    Dat leidt ons ook tot iets dat we een “complexe leercurve” kunnen noemen. Dit kan een nadeel zijn voor degenen die snel gegevens moeten integreren of beperkte middelen hebben voor training en onboarding.

    Ook is Informatica mogelijk niet zo effectief voor het integreren van gegevens uit niet-AWS-bronnen. In dit opzicht zou DMS of Matillion een betere optie kunnen zijn.

    Ten slotte is Informatica in hoge mate een gesloten systeem. Er is slechts een beperkte mogelijkheid om het aan te passen aan de specifieke behoeften van het project. Je moet gewoon leven met de setup die het out of the box biedt. Dat beperkt dus op de een of andere manier de flexibiliteit van de oplossingen.

    laatste woorden

    Zoals het in veel andere gevallen gebeurt, is er geen universele oplossing, zelfs niet zoiets als de ETL-tool in AWS.

    U kunt bij Informatica kiezen voor de meest complexe, uitgebreide en dure oplossing. Maar het is zinvol om het meeste te doen als:

    • Het project is vrij groot en u weet zeker dat de hele toekomstige oplossing en gegevensbronnen ook op Informatica zijn aangesloten.
    • U kunt het zich veroorloven om een ​​team van bekwame Informatica-ontwikkelaars en -configurators mee te nemen.
    • U kunt het robuuste ondersteuningsteam achter u waarderen en daar goed voor betalen.

    Als er iets van bovenaf niet klopt, kun je het een kans geven bij Matillion:

    • Als de behoeften van het project over het algemeen niet zo complex zijn.
    • Als u enkele zeer aangepaste stappen in de verwerking moet opnemen, is flexibiliteit een belangrijke vereiste.
    • Als je het niet erg vindt om de meeste functies helemaal opnieuw te bouwen met het team.

    Voor alles wat nog minder gecompliceerd is, is de voor de hand liggende keuze de DMS voor AWS als een native service, die waarschijnlijk goed voor uw doel kan dienen.

    Bekijk vervolgens tools voor gegevenstransformatie om uw gegevens beter te beheren.