Skip to Content

Wat is ETL?

Extract, transform en load (ETL) is een belangrijk proces in data-warehousing wanneer bedrijven data uit meerdere bronnen moeten halen en deze op een gecentraliseerde locatie moeten opslaan. De proceslogica en het infrastructuurontwerp zijn afhankelijk van de bedrijfsvereisten, de data die worden opgeslagen en of het formaat gestructureerd of ongestructureerd is.

Wat is ETL?

Data uit verschillende bronnen moeten in een specifieke vorm worden opgeslagen om applicaties, machine learning, artificiële intelligentie en analytics ermee te laten werken. Het ETL-proces is een groep bedrijfsregels die de databronnen bepalen die worden gebruikt om data op te halen, deze om te zetten in een specifiek formaat en vervolgens in een database te laden. Data kunnen gestructureerd of ongestructureerd zijn, of beide.

Nadat het ETL-proces heeft plaatsgevonden, worden de data opgeslagen in een datawarehouse waar beheerders ze verder kunnen beheren. Beheerders die verantwoordelijk zijn voor de databases die ETL-data opslaan, beheren logging, auditing en back-ups. De logdata voor ETL-gebeurtenissen kunnen ook door hun eigen datapijplijn gaan voordat ze in een datawarehouse worden opgeslagen voor administratieve analyses.

Het ETL-proces

ETL heeft drie stappen: extraheren, transformeren en laden. Databasebeheerders, ontwikkelaars en cloudarchitecten ontwerpen het ETL-proces meestal met behulp van bedrijfsregels en applicatievereisten. Het ontwerp van een ETL-proces omvat de volgende drie stappen:

  • Extraheren: Ruwe data voor extractie kunnen afkomstig zijn van een of meerdere bronnen. Bronnen kunnen afkomstig zijn van een API, een website, een andere database, IoT-logboeken, bestanden, e-mail of een ander inslikbaar dataformaat. Omdat bronnen verschillende formaten kunnen hebben, haalt de eerste stap in ETL data uit een bron voor de volgende stap.
  • Transformeren: Bedrijfsregels en de bestemmingsopslaglocatie definiëren het transformatieontwerp. Data moeten worden geformatteerd, gefilterd en gevalideerd voordat ze naar het datawarehouse kunnen worden verzonden. Dubbele data kunnen analytische resultaten vertekenen, dus dubbele posten worden verwijderd voordat ze worden opgeslagen. Data worden geformatteerd zodat ze kunnen worden opgeslagen. Een telefoonnummer kan bijvoorbeeld worden opgeslagen met of zonder koppeltekens, dus het transformatieproces voegt koppeltekens toe of verwijdert ze voordat ze naar de opslag worden gestuurd.
  • Laden: Na transformatie worden data naar het datawarehouse gestuurd voor opslag. Data moeten worden bewaard en duplicaten moeten worden vermeden, dus bij de laadstap moet rekening worden gehouden met incrementele veranderingen telkens wanneer het ETL-proces wordt uitgevoerd. ETL draait vaak meerdere keren per dag voor grotere bedrijven, dus alleen nieuwe data worden toegevoegd zonder dat dit invloed heeft op de huidige applicatiedata die al in de database zijn opgeslagen.

Voordelen van ETL

Zodra een ETL-proces is ontworpen, draait het automatisch gedurende de dag. Sommige ETL-processen kunnen wekelijks of maandelijks plaatsvinden, en de meeste database-engines bieden een planner die op de server draait om taken op een bepaald tijdstip uit te voeren. Een goed ontworpen ETL-proces hoeft niet veel te worden gewijzigd en kan data uit verschillende bronnen importeren zonder handmatige interactie.

Ruwe data zonder enige transformatie is over het algemeen nutteloos voor analytics, vooral als uw bedrijf soortgelijke data uit verschillende bronnen gebruikt. Een bedrijf dat met verkeersanalyse werkt, kan bijvoorbeeld data uit verschillende overheidsbronnen halen. Het is zeer waarschijnlijk dat alle bronnen dubbele records creëren, maar een ETL-proces neemt de data op, verwijdert duplicaten en formatteert de data voor interne analytische toepassingen. Bedrijven konden data van tal van locaties halen en deze automatisch voorbereiden op interne analyses, wat ook toekomstige zakelijke beslissingen en productlanceringen mogelijk maakt.

ETL versnelt data-updates, dus het komt bedrijven ten goede die met huidige of realtime data moeten werken. Traditioneel werd de data-import in batches ingevoerd en was ETL traag. Bedrijven zien misschien enkele uren geen veranderingen in data, maar de huidige ETL-technologie biedt updates aan data, zodat analyses recente veranderingen in trends kunnen weerspiegelen.

ETL-tools en -technologieën

Voor grote datapipelines gebruiken de meeste organisaties aangepaste tools en scripts voor ETL. Database-engines worden vaak geleverd met hun eigen ETL-functies, zodat bedrijven data kunnen importeren. De manier waarop u data opslaat hangt af van of u ongestructureerde of gestructureerde data nodig hebt. Gestructureerde data vereisen meer formattering dan ongestructureerde data, dus alle out-of-the-box tools moeten worden geïntegreerd met het door u gekozen databaseplatform.

Een paar tools voor ETL:

  • Talend: Biedt een open source GUI voor integratie van datapipeline op basis van slepen en neerzetten
  • Informatica PowerCenter: Geeft eindgebruikers de tools om data te importeren en hun eigen datapipelines voor bedrijfsprojecten te ontwerpen
  • AWS-lijm: Stelt u in staat om ETL te ontwerpen van ongestructureerde en gestructureerde data om op S3-buckets op te slaan
  • Google Cloud Dataflow: Stelt u in staat serverloze ETL-processen te creëren om data op te slaan op het Google Cloud Platform (GCP)

Best practices voor ETL-implementatie

De sleutel tot een goed ETL-ontwerp is prestaties en nauwkeurigheid. Prestaties zijn vaak afhankelijk van de onderliggende infrastructuur, dus het is belangrijk om een datawarehouse te hebben dat kan schalen en de toenemende belasting kan bijhouden. Gestructureerde data nemen vaak meer tijd in beslag om te transformeren vanwege de vele tabelbeperkingen, maar oplossingen zoals FlashArray ™ zijn gebouwd voor het importeren van grote data en zorgen ervoor dat on-premise pijpleidingen snel blijven draaien.

Ontwerp ETL-processen altijd op schaal en het onbekende. Het is zeer mogelijk dat u uiteindelijk een record importeert dat niet kan worden getransformeerd. Eventuele fouten moeten worden geregistreerd en records moeten worden opgeslagen voor verdere beoordeling. Het kan betekenen dat er een bug in uw ETL zit of dat het ontwerp een edge case mist die kan worden verholpen met wijzigingen in de ETL-code.

Niet alle ETL-processen werken met fysieke servers, dus oplossingen zoals Portworx ® verwerken gevirtualiseerde en gecontaineriseerde databases en analyses. Gecontaineriseerde diensten moeten schalen naarmate meer data worden geïmporteerd en werken met gemeenschappelijke orkestratietools. Portworx integreert met orkestratietools, waaronder Kubernetes, voor dynamische en consistent bijgewerkte pijpleidingen.

Uitdagingen en oplossingen in ETL

Omdat databronnen en bedrijfsvereisten voortdurend veranderen, hebben beheerders die verantwoordelijk zijn voor het ontwerpen van ETL uitdagingen in verband met schaal, updates en kwaliteitscontrole. Schaaluitdagingen komen meestal voort uit beperkte opslagruimte, zodat beheerders dit probleem kunnen verhelpen met opslag die schaalbaar is met een toename van de vereisten voor dataopslag.

Uitdagingen met veranderende bedrijfsvereisten vallen vaak onder onderhoud. Een databron kan de manier waarop data worden opgeslagen veranderen, of ontwikkelaars kunnen wijzigingen aanbrengen in een applicatie die wijzigingen in transformatie- of belastingsstructuren vereisen. Zonder documentatie van databronnen van derden om beheerders te waarschuwen, worden wijzigingen in dataopslag of laadvereisten pas doorgevoerd wanneer er fouten in het ETL-proces optreden. Logging en waarschuwingen helpen beheerders problemen vroegtijdig te identificeren, zodat ze wijzigingen kunnen aanbrengen in ETL-codering. Vroege veranderingen verminderen de impact van fouten op de productiviteit en omzet van het bedrijf.

Het ontwerp van een ETL-proces is een van de moeilijkste taken, maar het kan gemakkelijker zijn wanneer beheerders met belanghebbenden spreken en ervoor zorgen dat bedrijfsregels worden opgenomen. Het opnieuw ontwerpen en refactoren van een ETL-ontwerp kan de implementatie vertragen en onnodige overhead toevoegen. Documenteer alle bedrijfsregels, zodat elk geval kan worden opgenomen in een ETL-ontwerp om buitensporige herschrijven te voorkomen.

Houd verschillende ETL-processen gescheiden en onafhankelijk van elkaar. Deze oplossing zorgt ervoor dat het gehele ETL-proces niet faalt als één onderdeel faalt. Als bijvoorbeeld een externe API crasht, wordt de extractie van data uit alle andere bronnen nog steeds voltooid totdat de API weer beschikbaar is. Het is ook mogelijk om indien nodig meerdere ETL-schema's te maken. Als u met meerdere cloudplatforms werkt, ondersteunt Pure Storage cloudopslag AWS ,Azure, GCP en andere belangrijke platforms.

ETL vs. ELT 

Het is belangrijk op te merken dat ETL resource-intensief kan zijn en enige latency in de beschikbaarheid van data kan veroorzaken, vooral bij het omgaan met grote datasets. Als realtime of bijna realtime dataverwerking een cruciale vereiste is, kunnen andere data-integratiemethoden zoals change data capture (CDC) of streaming datapipelines geschikter zijn.

Bovendien is ELT (extract, load, transform) de afgelopen jaren een populair alternatief geworden voor ETL, vooral in cloudgebaseerde dataomgevingen waar datatransformatie kan worden uitgevoerd binnen het doeldataopslagsysteem. ELT kan voor sommige gebruikssituaties kosteneffectiever en schaalbaarder zijn, maar de keuze tussen ETL en ELT hangt af van uw specifieke vereisten en de technologieën die u gebruikt.

Conclusie

Het ontwerpen van een ETL-oplossing kost tijd, maar vergeet niet een systeem te bouwen dat schaalbaar is met toenemende dataopslag. Een van de gemakkelijkste uitdagingen om op te lossen is dataopslagcapaciteit, en Pure Storage-oplossingen zijn gebouwd voor datawarehousing voor ongestructureerde en gestructureerde data.

Andere uitdagingen kunnen worden opgelost met goede ontwerpnormen, documentatie en kwaliteitsborgingstests. U zult merken dat sommige tools kunnen helpen bij het ontwerp, maar ETL wordt vaak aangepast voor het bedrijf. Test een klein aantal data in een staging-omgeving en verwacht dat de ETL-codering voortdurend wordt gehandhaafd naarmate nieuwe bedrijfsvereisten worden geïntroduceerd.

11/2024
Pure Storage FlashArray//C | Data Sheet
FlashArray//C lets you consolidate workloads with consistent all-flash NVMe performance at a lower TCO than hybrid storage.
Datasheet
4 pagina's
NEEM CONTACT MET ONS OP
Vragen, opmerkingen?

Hebt u een vraag of opmerking over Pure-producten of certificeringen?  Wij zijn er om te helpen.

Een demo inplannen

Plan een livedemo in en zie zelf hoe Pure kan helpen om jouw data in krachtige resultaten om te zetten. 

Bel ons: 31 (0) 20-201-49-65

Media: pr@purestorage.com

 

Pure Storage

Herikerbergweg 292

1101 CT . Amsterdam Zuidoost

The Netherlands

info@purestorage.com

Sluiten
Uw browser wordt niet langer ondersteund!

Oudere browsers vormen vaak een veiligheidsrisico. Om de best mogelijke ervaring te bieden bij het gebruik van onze site, dient u te updaten naar een van deze nieuwste browsers.