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.