ETL-proces (Extract, Transform and Load) i datavarehus
Hvad er ETL?
ETL er en proces, der udtrækker dataene fra forskellige kildesystemer, derefter transformerer dataene (som anvendelse af beregninger, sammenkædninger osv.) og til sidst indlæser dataene i Data Warehouse-systemet. Fuld form for ETL er Extract, Transform og Load.
Det er fristende at tro, at oprettelse af et datavarehus simpelthen er at udtrække data fra flere kilder og indlæse i databasen i et datavarehus. Dette er langt fra sandheden og kræver en kompleks ETL-proces. ETL-processen kræver aktive input fra forskellige interessenter, herunder udviklere, analytikere, testere, topledere og er teknisk udfordrende.
For at bevare sin værdi som et værktøj for beslutningstagere, skal datavarehussystemet ændre sig i takt med forretningsændringer. ETL er en tilbagevendende aktivitet (daglig, ugentlig, månedlig) i et datavarehussystem og skal være agil, automatiseret og veldokumenteret.
Hvorfor har du brug for ETL?
Der er mange grunde til at indføre ETL i organisationen:
- Det hjælper virksomheder med at analysere deres forretningsdata for at tage kritiske forretningsbeslutninger.
- Transaktionsdatabaser kan ikke besvare komplekse forretningsspørgsmål, der kan besvares med ETL-eksempler.
- Et datavarehus giver et fælles datalager
- ETL giver en metode til at flytte data fra forskellige kilder til et datavarehus.
- Efterhånden som datakilderne ændres, opdateres datavarehuset automatisk.
- Veldesignet og dokumenteret ETL-system er næsten afgørende for succesen af et Data Warehouse-projekt.
- Tillad verifikation af regler for datatransformation, aggregering og beregninger.
- ETL-processen tillader sammenligning af prøvedata mellem kilden og målsystemet.
- ETL-processen kan udføre komplekse transformationer og kræver det ekstra område til at gemme dataene.
- ETL hjælper med at migrere data til et datavarehus. Konverter til de forskellige formater og typer for at overholde ét ensartet system.
- ETL er en foruddefineret proces til at få adgang til og manipulere kildedata til måldatabasen.
- ETL i data warehouse tilbyder dyb historisk kontekst for virksomheden.
- Det hjælper med at forbedre produktiviteten, fordi det kodificerer og genbruger uden behov for tekniske færdigheder.
ETL-proces i datavarehuse
ETL er en 3-trins proces
Trin 1) Ekstraktion
I dette trin af ETL-arkitekturen udtrækkes data fra kildesystemet til iscenesættelsesområdet. Eventuelle transformationer udføres i iscenesættelsesområdet, så kildesystemets ydeevne ikke forringes. Hvis korrupte data kopieres direkte fra kilden til datavarehusdatabasen, vil tilbagerulning være en udfordring. Staging-området giver mulighed for at validere udtrukne data, før de flytter ind i datavarehuset.
Data warehouse skal integrere systemer, der har forskellige
DBMS, hardware, Operatingsystemer og kommunikationsprotokoller. Kilder kan omfatte ældre applikationer som Mainframes, tilpassede applikationer, Point of contact-enheder som ATM, Call Switches, tekstfiler, regneark, ERP, data fra leverandører, partnere blandt andre.
Derfor har man brug for et logisk datakort, før data udtrækkes og indlæses fysisk. Dette datakort beskriver forholdet mellem kilder og måldata.
Tre dataudtræksmetoder:
- Fuld udvinding
- Delvis ekstraktion - uden opdateringsmeddelelse.
- Delvis udvinding - med opdateringsmeddelelse
Uanset hvilken metode der anvendes, bør ekstraktion ikke påvirke ydeevne og responstid for kildesystemerne. Disse kildesystemer er live produktionsdatabaser. Enhver opbremsning eller låsning kan påvirke virksomhedens bundlinje.
Nogle valideringer udføres under ekstraktion:
- Afstem poster med kildedata
- Sørg for, at der ikke er indlæst spam/uønskede data
- Datatypekontrol
- Fjern alle typer duplikerede/fragmenterede data
- Tjek, om alle nøgler er på plads eller ej
Trin 2) Transformation
Data udtrukket fra kildeserveren er rå og kan ikke bruges i sin oprindelige form. Derfor skal det renses, kortlægges og transformeres. Faktisk er dette nøgletrinet, hvor ETL-processen tilføjer værdi og ændrer data, således at indsigtsfulde BI-rapporter kan genereres.
Det er et af de vigtige ETL-koncepter, hvor du anvender et sæt funktioner på udtrukne data. Data, der ikke kræver nogen transformation, kaldes som direkte bevægelse or passere data igennem.
I transformationstrin kan du udføre tilpassede operationer på data. For eksempel, hvis brugeren ønsker sum-of-sales indtægter, som ikke er i databasen. Eller hvis fornavnet og efternavnet i en tabel er i forskellige kolonner. Det er muligt at sammenkæde dem før indlæsning.
Følgende er data Integrity Problemer:
- Forskellige stavemåder af samme person som Jon, John osv.
- Der er flere måder at angive virksomhedsnavn som Google, Google Inc.
- Brug af forskellige navne som Cleaveland, Cleveland.
- Der kan være tilfældet, at forskellige kontonumre genereres af forskellige applikationer for den samme kunde.
- I nogle data forbliver nødvendige filer tomme
- Ugyldigt produkt indsamlet på POS som manuel indtastning kan føre til fejl.
Valideringer udføres i denne fase
- Filtrering – Vælg kun bestemte kolonner, der skal indlæses
- Brug af regler og opslagstabeller til datastandardisering
- Tegnsætkonvertering og kodningshåndtering
- Konvertering af måleenheder som Dato Tidskonvertering, valutaomregninger, numeriske omregninger osv.
- Kontrol af datatærskelvalidering. For eksempel kan alder ikke være mere end to cifre.
- Validering af dataflow fra iscenesættelsesområdet til de mellemliggende tabeller.
- Påkrævede felter må ikke efterlades tomme.
- Rengøring (f.eks. kortlægning af NULL til 0 eller Køn Mand til "M" og Kvinde til "F" osv.)
- Opdel en kolonne i multipler og flet flere kolonner til en enkelt kolonne.
- Transponering af rækker og kolonner,
- Brug opslag til at flette data
- Brug af kompleks datavalidering (f.eks. hvis de første to kolonner i en række er tomme, afviser den automatisk rækken fra behandling)
Trin 3) Indlæsning
Indlæsning af data i måldatawarehouse-databasen er det sidste trin i ETL-processen. I et typisk datavarehus skal enorme mængder data indlæses på relativt kort tid (nætter). Derfor bør belastningsprocessen optimeres til ydeevne.
I tilfælde af belastningssvigt skal gendannelsesmekanismerne konfigureres til at genstarte fra fejlpunktet uden tab af dataintegritet. Data Warehouse-administratorer skal overvåge, genoptage, annullere belastninger i henhold til gældende serverydelse.
Typer af indlæsning:
- Indledende belastning — udfylde alle Data Warehouse-tabellerne
- Inkrementel belastning — regelmæssigt at anvende løbende ændringer efter behov.
- Fuld opdatering —sletning af indholdet af en eller flere tabeller og genindlæsning med nye data.
Indlæs bekræftelse
- Sørg for, at nøglefeltdataene hverken mangler eller er null.
- Test modelleringsvisninger baseret på måltabellerne.
- Kontroller, at kombinerede værdier og beregnede mål.
- Datatjek i dimensionstabel samt historietabel.
- Tjek BI-rapporterne på den indlæste fakta- og dimensionstabel.
ETL værktøjer
Der er mange ETL værktøjer er tilgængelige på markedet. Her er nogle af de mest fremtrædende:
1. MarkLogic:
MarkLogic er en data warehousing-løsning, som gør dataintegration nemmere og hurtigere ved hjælp af en række virksomhedsfunktioner. Det kan forespørge på forskellige typer data som dokumenter, relationer og metadata.
https://www.marklogic.com/product/getting-started/
2. Oracle:
Oracle er den brancheførende database. Det tilbyder en bred vifte af udvalg af Data Warehouse-løsninger til både on-premises og i skyen. Det er med til at optimere kundeoplevelsen ved at øge den operationelle effektivitet.
https://www.oracle.com/index.html
3. Amazon RødShift:
Amazon Redshift er Datawarehouse-værktøj. Det er et enkelt og omkostningseffektivt værktøj til at analysere alle typer data ved hjælp af standard SQL og eksisterende BI-værktøjer. Det tillader også at køre komplekse forespørgsler mod petabytes af strukturerede data.
https://aws.amazon.com/redshift/?nc2=h_m1
Her er en komplet liste over nyttige Data warehouse værktøjer.
Bedste praktiserer ETL-processen
Følgende er den bedste praksis for ETL-procestrin:
Forsøg aldrig at rense alle data:
Enhver organisation vil gerne have alle data rene, men de fleste af dem er ikke klar til at betale for at vente eller ikke klar til at vente. At rense det hele ville simpelthen tage for lang tid, så det er bedre ikke at forsøge at rense alle data.
Rens aldrig noget:
Planlæg altid at rense noget, fordi den største grund til at bygge datavarehuset er at tilbyde renere og mere pålidelige data.
Bestem omkostningerne ved at rense dataene:
Før du renser alle de beskidte data, er det vigtigt for dig at bestemme rengøringsomkostningerne for hvert beskidte dataelement.
For at fremskynde forespørgselsbehandlingen skal du have ekstra visninger og indekser:
For at reducere lageromkostningerne skal du gemme opsummerede data på diskbånd. Også afvejningen mellem mængden af data, der skal lagres, og dens detaljerede brug er påkrævet. Afvejning på niveauet af detaljeret data for at reducere lageromkostningerne.
Resumé
- ETL står for Extract, Transform and Load.
- ETL giver en metode til at flytte data fra forskellige kilder til en datalager.
- I det første trin ekstraheres data fra kildesystemet til iscenesættelsesområdet.
- I transformationstrinnet renses og transformeres de data, der er udtrukket fra kilden.
- Indlæsning af data i måldatavarehuset er det sidste trin i ETL-processen.