Wat is ETL?
ETL is een proces dat de gegevens uit verschillende bronsystemen extraheert, de gegevens vervolgens transformeert (zoals berekeningen toepassen, aaneenschakelingen, enz.) En de gegevens uiteindelijk in het Data Warehouse-systeem laadt. De volledige vorm van ETL is Extract, Transform en Load.
Het is verleidelijk om te denken dat het maken van een datawarehouse simpelweg het extraheren van gegevens uit meerdere bronnen is en het laden in de database van een datawarehouse. Dit is verre van waar en vereist een complex ETL-proces. Het ETL-proces vereist actieve input van verschillende belanghebbenden, waaronder ontwikkelaars, analisten, testers, topmanagers, en is technisch uitdagend.
Om zijn waarde als hulpmiddel voor besluitvormers te behouden, moet het datawarehouse-systeem veranderen met zakelijke veranderingen. ETL is een terugkerende activiteit (dagelijks, wekelijks, maandelijks) van een datawarehouse-systeem en moet flexibel, geautomatiseerd en goed gedocumenteerd zijn.
In deze ETL-zelfstudie leert u:
- Wat is ETL?
- Waarom heb je ETL nodig?
- ETL-proces in datawarehouses
- Stap 1) Extractie
- Stap 2) Transformatie
- Stap 3) Laden
- ETL-hulpmiddelen
- Best practices ETL-proces
Waarom heb je ETL nodig?
Er zijn veel redenen om ETL in de organisatie te adopteren:
- Het helpt bedrijven om hun bedrijfsgegevens te analyseren voor het nemen van cruciale zakelijke beslissingen.
- Transactiedatabases kunnen geen antwoord geven op complexe zakelijke vragen die kunnen worden beantwoord met ETL-voorbeelden.
- Een datawarehouse biedt een gemeenschappelijke gegevensopslagplaats
- ETL biedt een methode om de gegevens uit verschillende bronnen naar een datawarehouse te verplaatsen.
- Als gegevensbronnen veranderen, wordt het datawarehouse automatisch bijgewerkt.
- Een goed ontworpen en gedocumenteerd ETL-systeem is bijna essentieel voor het succes van een datawarehouse-project.
- Laat verificatie toe van datatransformatie-, aggregatie- en berekeningsregels.
- ETL-proces maakt vergelijking van voorbeeldgegevens tussen het bron- en het doelsysteem mogelijk.
- ETL-proces kan complexe transformaties uitvoeren en vereist het extra gebied om de gegevens op te slaan.
- ETL helpt bij het migreren van gegevens naar een datawarehouse. Converteer naar de verschillende formaten en typen om te voldoen aan één consistent systeem.
- ETL is een vooraf gedefinieerd proces voor toegang tot en manipulatie van brongegevens in de doeldatabase.
- ETL in datawarehouse biedt diepe historische context voor het bedrijf.
- Het helpt de productiviteit te verbeteren omdat het codificeert en hergebruikt zonder dat technische vaardigheden nodig zijn.
ETL-proces in datawarehouses
ETL is een proces in drie stappen
Stap 1) Extractie
In deze stap van ETL-architectuur worden gegevens uit het bronsysteem geëxtraheerd naar het verzamelgebied. Eventuele transformaties worden uitgevoerd in het staging-gebied, zodat de prestaties van het bronsysteem niet verslechteren. Als beschadigde gegevens rechtstreeks van de bron naar de Data Warehouse-database worden gekopieerd, wordt het terugdraaien een uitdaging. Staging-gebied biedt de mogelijkheid om geëxtraheerde gegevens te valideren voordat deze naar het datawarehouse worden verplaatst.
Datawarehouse moet systemen integreren die verschillende hebben
DBMS, hardware, besturingssystemen en communicatieprotocollen. Bronnen kunnen bestaan uit legacy-applicaties zoals mainframes, aangepaste applicaties, point-of-contact-apparaten zoals geldautomaten, oproepschakelaars, tekstbestanden, spreadsheets, ERP, gegevens van leveranciers en partners.
Daarom heeft men een logische gegevenskaart nodig voordat gegevens worden geëxtraheerd en fysiek worden geladen. Deze datakaart beschrijft de relatie tussen bronnen en doelgegevens.
Drie methoden voor gegevensextractie:
- Volledige extractie
- Gedeeltelijke extractie - zonder updatemelding.
- Gedeeltelijke extractie - met updatemelding
Ongeacht de gebruikte methode, mag extractie geen invloed hebben op de prestaties en responstijd van de bronsystemen. Deze bronsystemen zijn live productiedatabases. Elke vertraging of blokkering kan van invloed zijn op de bedrijfsresultaten.
Sommige validaties worden gedaan tijdens extractie:
- Verzoen records met de brongegevens
- Zorg ervoor dat er geen spam / ongewenste gegevens worden geladen
- Gegevenstype controleren
- Verwijder alle soorten dubbele / gefragmenteerde gegevens
- Controleer of alle sleutels aanwezig zijn of niet
Stap 2) Transformatie
Gegevens die van de bronserver worden geëxtraheerd, zijn onbewerkt en kunnen in de oorspronkelijke vorm niet worden gebruikt. Daarom moet het worden gereinigd, in kaart gebracht en getransformeerd. In feite is dit de belangrijkste stap waar het ETL-proces waarde toevoegt en gegevens zodanig verandert dat inzichtelijke BI-rapporten kunnen worden gegenereerd.
Het is een van de belangrijke ETL-concepten waarbij u een reeks functies toepast op geëxtraheerde gegevens. Gegevens die geen transformatie vereisen, worden directe verplaatsing of pass-through-gegevens genoemd .
In de transformatiestap kunt u aangepaste bewerkingen op gegevens uitvoeren. Bijvoorbeeld als de gebruiker een som van de verkoopopbrengsten wil die niet in de database staan. Of als de voornaam en achternaam in een tabel in verschillende kolommen staan. Het is mogelijk om ze samen te voegen voordat ze worden geladen.
Hieronder volgen problemen met de gegevensintegriteit:
- Verschillende spelling van dezelfde persoon, zoals Jon, John, etc.
- Er zijn meerdere manieren om een bedrijfsnaam aan te duiden, zoals Google, Google Inc.
- Gebruik van verschillende namen zoals Cleaveland, Cleveland.
- Het kan voorkomen dat verschillende rekeningnummers worden gegenereerd door verschillende applicaties voor dezelfde klant.
- In sommige gegevens blijven vereiste bestanden blanco
- Ongeldig product verzameld op POS, omdat handmatige invoer tot fouten kan leiden.
Validaties worden gedaan tijdens deze fase
- Filteren - Selecteer alleen bepaalde kolommen om te laden
- Regels en opzoektabellen gebruiken voor gegevensstandaardisatie
- Tekensetconversie en afhandeling van codering
- Conversie van meeteenheden zoals datum / tijd-conversie, valutaconversies, numerieke conversies, enz.
- Validatiecontrole van datadrempels. Leeftijd kan bijvoorbeeld niet meer zijn dan twee cijfers.
- Validatie van de gegevensstroom van de verzamelplaats naar de tussenliggende tabellen.
- Verplichte velden mogen niet leeg worden gelaten.
- Opschonen (bijvoorbeeld NULL toewijzen aan 0 of Geslacht Man aan "M" en Vrouw aan "F" enz.)
- Splits een kolom in veelvouden en voeg meerdere kolommen samen in één kolom.
- Rijen en kolommen omzetten,
- Gebruik zoekopdrachten om gegevens samen te voegen
- Met behulp van complexe gegevensvalidatie (bijv. Als de eerste twee kolommen in een rij leeg zijn, wordt de rij automatisch afgewezen voor verwerking)
Stap 3) Laden
Het laden van gegevens in de doeldatawarehouse-database is de laatste stap van het ETL-proces. In een typisch datawarehouse moet een enorme hoeveelheid gegevens worden geladen in een relatief korte periode (nachten). Daarom moet het laadproces worden geoptimaliseerd voor prestaties.
In het geval van een laadstoring, moeten herstelmechanismen worden geconfigureerd om opnieuw te starten vanaf het punt van storing zonder verlies van de gegevensintegriteit. Datawarehouse-beheerders moeten ladingen controleren, hervatten en annuleren volgens de heersende serverprestaties.
Soorten ladingen:
- Initial Load - het vullen van alle Data Warehouse-tabellen
- Incrementele belasting - doorlopende wijzigingen toepassen wanneer dat nodig is.
- Volledig vernieuwen - de inhoud van een of meer tabellen wissen en opnieuw laden met nieuwe gegevens.
Laad verificatie
- Zorg ervoor dat de sleutelveldgegevens niet ontbreken of leeg zijn.
- Test modelweergaven op basis van de doeltabellen.
- Controleer of gecombineerde waarden en berekende maatregelen.
- Gegevenscontroles in dimensietabel en historietabel.
- Controleer de BI-rapporten op de geladen feiten- en dimensietabel.
ETL-hulpmiddelen
Er zijn veel tools voor datawarehousing op de markt. Hier zijn enkele van de meest prominente:
1. MarkLogic:
MarkLogic is een datawarehousing-oplossing die gegevensintegratie eenvoudiger en sneller maakt met behulp van een reeks zakelijke functies. Het kan verschillende soorten gegevens opvragen, zoals documenten, relaties en metagegevens.
https://www.marklogic.com/product/getting-started/
2. Oracle:
Oracle is de toonaangevende database. Het biedt een breed scala aan datawarehouse-oplossingen voor zowel on-premise als in de cloud. Het helpt de klantervaringen te optimaliseren door de operationele efficiëntie te verhogen.
https://www.oracle.com/index.html
3. Amazon RedShift:
Amazon Redshift is een Datawarehouse-tool. Het is een eenvoudige en kosteneffectieve tool om alle soorten gegevens te analyseren met behulp van standaard SQL en bestaande BI-tools. Het maakt het ook mogelijk om complexe zoekopdrachten uit te voeren op petabytes aan gestructureerde gegevens.
https://aws.amazon.com/redshift/?nc2=h_m1
Hier is een complete lijst met handige datawarehouse-tools.
Best practices ETL-proces
Hieronder volgen de best practices voor ETL-processtappen:
Probeer nooit alle gegevens op te schonen:
Elke organisatie wil alle data schoon hebben, maar de meesten zijn niet bereid om te betalen om te wachten of niet om te wachten. Alles opschonen zou gewoon te lang duren, dus het is beter om niet te proberen alle gegevens op te schonen.
Nooit iets reinigen:
Plan altijd om iets op te schonen, want de grootste reden voor het bouwen van het datawarehouse is om schonere en betrouwbaardere gegevens aan te bieden.
Bepaal de kosten voor het opschonen van de gegevens:
Voordat u alle vervuilde gegevens opschoont, is het belangrijk dat u de opschoningskosten voor elk vuil gegevenselement bepaalt.
Zorg voor extra weergaven en indexen om de verwerking van zoekopdrachten te versnellen:
Sla samengevatte gegevens op schijftapes op om de opslagkosten te verlagen. Ook is de afweging tussen de hoeveelheid gegevens die moet worden opgeslagen en het gedetailleerde gebruik ervan vereist. Afweging op het niveau van granulariteit van gegevens om de opslagkosten te verlagen.
Overzicht:
- ETL staat voor Extract, Transform en Load.
- ETL biedt een methode om de gegevens uit verschillende bronnen naar een datawarehouse te verplaatsen.
- In de eerste stap-extractie worden gegevens uit het bronsysteem geëxtraheerd naar het verzamelgebied.
- In de transformatiestap worden de gegevens die uit de bron zijn geëxtraheerd, opgeschoond en getransformeerd.
- Het laden van gegevens in het beoogde datawarehouse is de laatste stap van het ETL-proces.