ETL-prosess (ekstrahere, transformere og laste inn) i datavarehus

Hva er ETL?

ETL er en prosess som trekker ut dataene fra forskjellige kildesystemer, deretter transformerer dataene (som å bruke beregninger, sammenkoblinger osv.) og til slutt laster dataene inn i Data Warehouse-systemet. Full form for ETL er Extract, Transform og Load.

Det er fristende å tro at det å lage et datavarehus ganske enkelt er å trekke ut data fra flere kilder og laste inn i databasen til et datavarehus. Dette er langt fra sannheten og krever en kompleks ETL-prosess. ETL-prosessen krever aktive innspill fra ulike interessenter, inkludert utviklere, analytikere, testere, toppledere og er teknisk utfordrende.

For å opprettholde verdien som et verktøy for beslutningstakere, må datavarehussystemet endres med endringer i virksomheten. ETL er en tilbakevendende aktivitet (daglig, ukentlig, månedlig) i et datavarehussystem og må være smidig, automatisert og godt dokumentert.

Hvorfor trenger du ETL?

Det er mange grunner til å ta i bruk ETL i organisasjonen:

  • Det hjelper bedrifter med å analysere forretningsdataene sine for å ta kritiske forretningsbeslutninger.
  • Transaksjonsdatabaser kan ikke svare på komplekse forretningsspørsmål som kan besvares med ETL-eksempel.
  • Et datavarehus gir et felles datalager
  • ETL gir en metode for å flytte data fra ulike kilder til et datavarehus.
  • Etter hvert som datakildene endres, oppdateres datavarehuset automatisk.
  • Godt utformet og dokumentert ETL-system er nesten avgjørende for suksessen til et datavarehusprosjekt.
  • Tillat verifisering av regler for datatransformasjon, aggregering og beregninger.
  • ETL-prosessen tillater sammenligning av eksempeldata mellom kilden og målsystemet.
  • ETL-prosessen kan utføre komplekse transformasjoner og krever det ekstra området for å lagre dataene.
  • ETL hjelper til med å migrere data til et datavarehus. Konverter til de ulike formatene og typene for å følge ett konsistent system.
  • ETL er en forhåndsdefinert prosess for å få tilgang til og manipulere kildedata inn i måldatabasen.
  • ETL i datavarehus tilbyr en dyp historisk kontekst for virksomheten.
  • Det bidrar til å forbedre produktiviteten fordi det kodifiserer og gjenbruker uten behov for tekniske ferdigheter.

ETL-prosess i datavarehus

ETL er en 3-trinns prosess

ETL-prosess
ETL-prosess

Trinn 1) Ekstraksjon

I dette trinnet av ETL-arkitektur trekkes data ut fra kildesystemet til iscenesettelsesområdet. Eventuelle transformasjoner utføres i oppstillingsområdet slik at ytelsen til kildesystemet ikke blir forringet. Hvis korrupte data kopieres direkte fra kilden til datavarehusdatabasen, vil tilbakerulling være en utfordring. Staging-området gir en mulighet til å validere ekstraherte data før de flyttes inn i datavarehuset.

Datavarehus må integrere systemer som har forskjellige

DBMS, maskinvare, Operatingsystemer og kommunikasjonsprotokoller. Kilder kan inkludere eldre applikasjoner som stormaskiner, tilpassede applikasjoner, kontaktpunkter som minibanker, anropsbrytere, tekstfiler, regneark, ERP, data fra leverandører, partnere blant andre.

Derfor trenger man et logisk datakart før data trekkes ut og lastes fysisk. Dette datakartet beskriver forholdet mellom kilder og måldata.

Tre metoder for datautvinning:

  1. Full utvinning
  2. Delvis utvinning - uten oppdateringsvarsel.
  3. Delvis utvinning - med oppdateringsvarsling

Uavhengig av metoden som brukes, bør utvinning ikke påvirke ytelsen og responstiden til kildesystemene. Disse kildesystemene er levende produksjonsdatabaser. Enhver senking eller låsing kan påvirke selskapets bunnlinje.

Noen valideringer utføres under utvinning:

  • Avstem poster med kildedata
  • Pass på at ingen spam/uønskede data er lastet inn
  • Datatypekontroll
  • Fjern alle typer dupliserte/fragmenterte data
  • Sjekk om alle nøklene er på plass eller ikke

Trinn 2) Transformasjon

Data hentet fra kildeserveren er rå og kan ikke brukes i sin opprinnelige form. Derfor må det renses, kartlegges og transformeres. Faktisk er dette nøkkeltrinnet der ETL-prosessen tilfører verdi og endrer data slik at innsiktsfulle BI-rapporter kan genereres.

Det er et av de viktige ETL-konseptene hvor du bruker et sett med funksjoner på ekstraherte data. Data som ikke krever noen transformasjon kalles som direkte trekk or sende gjennom data.

I transformasjonstrinnet kan du utføre tilpassede operasjoner på data. For eksempel hvis brukeren vil ha sum-of-sales inntekter som ikke er i databasen. Eller hvis fornavnet og etternavnet i en tabell er i forskjellige kolonner. Det er mulig å sette dem sammen før lasting.

Problemer med dataintegrering
Problemer med dataintegrering

Følgende er data Integrity Problemer:

  1. Ulik stavemåte av samme person som Jon, John, etc.
  2. Det er flere måter å angi firmanavn som Google, Google Inc.
  3. Bruk av forskjellige navn som Cleaveland, Cleveland.
  4. Det kan være tilfelle at ulike kontonummer genereres av ulike applikasjoner for samme kunde.
  5. I enkelte data forblir nødvendige filer tomme
  6. Ugyldig produkt samlet på POS som manuell inntasting kan føre til feil.

Valideringer gjøres i løpet av dette stadiet

  • Filtrering – Velg kun enkelte kolonner som skal lastes
  • Bruk av regler og oppslagstabeller for datastandardisering
  • Tegnsettkonvertering og håndtering av koding
  • Konvertering av måleenheter som dato- og klokkeslettkonvertering, valutakonverteringer, numeriske konverteringer, etc.
  • Kontroll av dataterskelvalidering. For eksempel kan alder ikke være mer enn to sifre.
  • Dataflytvalidering fra oppsamlingsområdet til mellomtabellene.
  • Obligatoriske felter skal ikke stå tomme.
  • Rengjøring (for eksempel kartlegge NULL til 0 eller Kjønn Mann til "M" og Kvinne til "F" osv.)
  • Del en kolonne i multipler og slå sammen flere kolonner til en enkelt kolonne.
  • Transponering av rader og kolonner,
  • Bruk oppslag for å slå sammen data
  • Ved å bruke kompleks datavalidering (f.eks. hvis de to første kolonnene i en rad er tomme, avviser den automatisk raden fra behandling)

Trinn 3) Lasting

Å laste data inn i måldatavarehusdatabasen er det siste trinnet i ETL-prosessen. I et typisk datavarehus må store datamengder lastes inn i løpet av en relativt kort periode (netter). Derfor bør lasteprosessen optimaliseres for ytelse.

I tilfelle lastfeil, bør gjenopprettingsmekanismene konfigureres til å starte på nytt fra feilpunktet uten tap av dataintegritet. Datavarehus-administratorer må overvåke, gjenoppta, kansellere belastninger i henhold til gjeldende serverytelse.

Typer lasting:

  • Innledende belastning — fyller ut alle datavarehustabellene
  • Inkrementell belastning — bruke løpende endringer etter behov med jevne mellomrom.
  • Full oppdatering – sletting av innholdet i en eller flere tabeller og lasting på nytt med ferske data.

Last bekreftelse

  • Sørg for at nøkkelfeltdataene verken mangler eller er null.
  • Test modelleringsvisninger basert på måltabellene.
  • Sjekk at kombinerte verdier og beregnede mål.
  • Datasjekker i dimensjonstabell samt historietabell.
  • Sjekk BI-rapportene på den innlastede fakta- og dimensjonstabellen.

ETL-verktøy

Det finnes mange ETL-verktøy er tilgjengelig på markedet. Her er noen av de mest fremtredende:

1. MarkLogic:

MarkLogic er en datavarehusløsning som gjør dataintegrasjon enklere og raskere ved å bruke en rekke bedriftsfunksjoner. Den kan søke etter forskjellige typer data som dokumenter, relasjoner og metadata.

https://www.marklogic.com/product/getting-started/


2. Oracle:

Oracle er den bransjeledende databasen. Det tilbyr et bredt utvalg av datavarehusløsninger for både lokalt og i skyen. Det bidrar til å optimalisere kundeopplevelsene ved å øke driftseffektiviteten.

https://www.oracle.com/index.html


3. Amazon RødShift:

Amazon Redshift er et datavarehusverktøy. Det er et enkelt og kostnadseffektivt verktøy for å analysere alle typer data ved hjelp av standard SQL og eksisterende BI-verktøy. Den tillater også å kjøre komplekse søk mot petabyte med strukturerte data.

https://aws.amazon.com/redshift/?nc2=h_m1

Her er en komplett liste over nyttige Datavarehusverktøy.

Beste praksis ETL-prosess

Følgende er de beste fremgangsmåtene for ETL-prosesstrinn:

Prøv aldri å rense alle dataene:

Hver organisasjon vil gjerne ha alle data rene, men de fleste av dem er ikke klare til å betale for å vente eller ikke klare til å vente. Å rense alt ville rett og slett ta for lang tid, så det er bedre å ikke prøve å rense alle dataene.

Rens aldri noe:

Planlegg alltid å rense noe fordi den største grunnen til å bygge datavarehuset er å tilby renere og mer pålitelige data.

Bestem kostnadene for å rense dataene:

Før du renser alle de skitne dataene, er det viktig for deg å bestemme rensekostnaden for hvert skitne dataelement.

For å øke hastigheten på spørringsbehandlingen, ha tilleggsvisninger og indekser:

For å redusere lagringskostnadene, lagre oppsummerte data på diskbånd. Det er også nødvendig med en avveining mellom mengden data som skal lagres og den detaljerte bruken. Avveining på nivået av detaljerte data for å redusere lagringskostnadene.

Sammendrag

  • ETL står for Extract, Transform and Load.
  • ETL gir en metode for å flytte data fra ulike kilder til en datalager.
  • I det første trinnet ekstraheres data fra kildesystemet til iscenesettelsesområdet.
  • I transformasjonstrinnet blir dataene som er hentet fra kilden renset og transformert .
  • Å laste data inn i måldatavarehuset er det siste trinnet i ETL-prosessen.