ETL-process (extrahera, transformera och ladda) i Data Warehouse

Vad är ETL?

ETL är en process som extraherar data från olika källsystem, sedan transformerar data (som att tillämpa beräkningar, sammanlänkningar, etc.) och slutligen laddar in data i Data Warehouse-systemet. Fullständig form av ETL är extrahera, transformera och ladda.

Det är frestande att tro att ett skapande av ett datalager helt enkelt är att extrahera data från flera källor och ladda in i databasen i ett datalager. Detta är långt ifrån sanningen och kräver en komplex ETL-process. ETL-processen kräver aktiv input från olika intressenter inklusive utvecklare, analytiker, testare, toppchefer och är tekniskt utmanande.

För att behålla sitt värde som ett verktyg för beslutsfattare måste datalagersystemet förändras med affärsförändringar. ETL är en återkommande aktivitet (dagligen, veckovis, månadsvis) i ett datalagersystem och måste vara smidigt, automatiserat och väldokumenterat.

Varför behöver du ETL?

Det finns många anledningar till att anta ETL i organisationen:

  • Det hjälper företag att analysera sina affärsdata för att fatta viktiga affärsbeslut.
  • Transaktionsdatabaser kan inte svara på komplexa affärsfrågor som kan besvaras med ETL-exempel.
  • Ett datalager tillhandahåller ett gemensamt datalager
  • ETL tillhandahåller en metod för att flytta data från olika källor till ett datalager.
  • När datakällor ändras uppdateras Data Warehouse automatiskt.
  • Väldesignat och dokumenterat ETL-system är nästan avgörande för framgången för ett Data Warehouse-projekt.
  • Tillåt verifiering av regler för datatransformation, aggregering och beräkningar.
  • ETL-processen möjliggör jämförelse av exempeldata mellan källan och målsystemet.
  • ETL-processen kan utföra komplexa transformationer och kräver det extra området för att lagra data.
  • ETL hjälper till att migrera data till ett datalager. Konvertera till olika format och typer för att följa ett enhetligt system.
  • ETL är en fördefinierad process för att komma åt och manipulera källdata till måldatabasen.
  • ETL i datalager erbjuder djupa historiska sammanhang för verksamheten.
  • Det hjälper till att förbättra produktiviteten eftersom det kodifierar och återanvänder utan behov av teknisk kompetens.

ETL-process i datalager

ETL är en 3-stegsprocess

ETL-process
ETL-process

Steg 1) Extraktion

I det här steget av ETL-arkitekturen extraheras data från källsystemet till iscensättningsområdet. Eventuella transformationer görs i mellanställningsområdet så att källsystemets prestanda inte försämras. Om skadad data kopieras direkt från källan till Data Warehouse-databasen kommer återställningen att vara en utmaning. Staging area ger en möjlighet att validera extraherade data innan de flyttas in i Data Warehouse.

Data warehouse måste integrera system som har olika

DBMS, hårdvara, Operatingssystem och kommunikationsprotokoll. Källor kan inkludera äldre applikationer som stordatorer, anpassade applikationer, kontaktpunkter som ATM, samtalsväxlar, textfiler, kalkylblad, ERP, data från leverantörer, partners bland annat.

Därför behöver man en logisk datakarta innan data extraheras och laddas fysiskt. Denna datakarta beskriver förhållandet mellan källor och måldata.

Tre dataextraktionsmetoder:

  1. Full extraktion
  2. Partiell extraktion - utan uppdateringsmeddelande.
  3. Partiell extraktion - med uppdateringsmeddelande

Oavsett vilken metod som används bör extraktion inte påverka källsystemens prestanda och svarstid. Dessa källsystem är liveproduktionsdatabaser. Varje sakning eller låsning kan påverka företagets resultat.

Vissa valideringar görs under extraktion:

  • Stämma av poster med källdata
  • Se till att ingen skräppost/oönskad data laddas
  • Kontroll av datatyp
  • Ta bort alla typer av duplicerade/fragmenterade data
  • Kontrollera om alla nycklar är på plats eller inte

Steg 2) Transformation

Data som extraherats från källservern är rå och kan inte användas i sin ursprungliga form. Därför behöver den renas, kartläggas och omvandlas. Faktum är att detta är nyckelsteget där ETL-processen tillför värde och ändrar data så att insiktsfulla BI-rapporter kan genereras.

Det är ett av de viktiga ETL-koncepten där du tillämpar en uppsättning funktioner på extraherade data. Data som inte kräver någon transformation kallas som direkt rörelse or passera igenom data.

I transformationssteget kan du utföra anpassade operationer på data. Till exempel om användaren vill ha intäkter från försäljningssumman som inte finns i databasen. Eller om förnamnet och efternamnet i en tabell finns i olika kolumner. Det är möjligt att sammanfoga dem innan de laddas.

Dataintegreringsproblem
Dataintegreringsproblem

Följande är Data Integrity Problem:

  1. Olika stavningar av samma person som Jon, John, etc.
  2. Det finns flera sätt att beteckna företagsnamn som Google, Google Inc.
  3. Användning av olika namn som Cleaveland, Cleveland.
  4. Det kan finnas ett fall att olika kontonummer genereras av olika applikationer för samma kund.
  5. I vissa data förblir nödvändiga filer tomma
  6. Ogiltig produkt som samlas in på POS eftersom manuell inmatning kan leda till misstag.

Valideringar görs under detta skede

  • Filtrering – Välj bara vissa kolumner att ladda
  • Använda regler och uppslagstabeller för datastandardisering
  • Character Set Conversion och kodningshantering
  • Konvertering av måttenheter som datum- och tidskonvertering, valutaomvandlingar, numeriska omvandlingar, etc.
  • Kontroll av datatröskelvalidering. Till exempel kan ålder inte vara mer än två siffror.
  • Dataflödesvalidering från mellanlagringsområdet till mellantabellerna.
  • Obligatoriska fält ska inte lämnas tomma.
  • Rengöring (till exempel mappa NULL till 0 eller Gender Man till "M" och Female till "F" etc.)
  • Dela en kolumn i multiplar och slå samman flera kolumner till en enda kolumn.
  • Transponera rader och kolumner,
  • Använd uppslagningar för att slå samman data
  • Använda någon komplex datavalidering (t.ex. om de två första kolumnerna i en rad är tomma, avvisar den automatiskt raden från bearbetning)

Steg 3) Laddar

Att ladda data till målet datawarehouse-databasen är det sista steget i ETL-processen. I ett typiskt datalager behöver enorma mängder data laddas på en relativt kort period (nätter). Därför bör laddningsprocessen optimeras för prestanda.

I händelse av belastningsfel bör återställningsmekanismerna konfigureras för att starta om från felpunkten utan att dataintegriteten går förlorad. Data Warehouse-administratörer måste övervaka, återuppta, avbryta laddningar enligt rådande serverprestanda.

Typer av laddning:

  • Initial belastning — fylla i alla Data Warehouse-tabeller
  • Inkrementell belastning — tillämpa pågående förändringar när det behövs med jämna mellanrum.
  • Fullständig uppdatering — radera innehållet i en eller flera tabeller och ladda om med färska data.

Ladda verifiering

  • Se till att nyckelfältsdata varken saknas eller är null.
  • Testa modelleringsvyer baserat på måltabellerna.
  • Kontrollera att kombinerade värden och beräknade mått.
  • Datakontroller i dimensionstabell samt historiktabell.
  • Kontrollera BI-rapporterna på den inlästa fakta- och dimensionstabellen.

ETL-verktyg

Det finns många ETL-verktyg finns på marknaden. Här är några av de mest framträdande:

1. MarkLogic:

MarkLogic är en datalagerlösning som gör dataintegration enklare och snabbare med hjälp av en rad företagsfunktioner. Det kan fråga olika typer av data som dokument, relationer och metadata.

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


2. Oracle:

Oracle är den branschledande databasen. Det erbjuder ett brett utbud av datavaruhuslösningar för både lokalt och i molnet. Det hjälper till att optimera kundupplevelsen genom att öka den operativa effektiviteten.

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


3. Amazon RötShift:

Amazon Redshift är ett Datawarehouse-verktyg. Det är ett enkelt och kostnadseffektivt verktyg för att analysera alla typer av data med hjälp av standard SQL och befintliga BI-verktyg. Det tillåter också att köra komplexa frågor mot petabyte av strukturerad data.

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

Här är en komplett lista med användbara Datalagerverktyg.

Bästa praxis ETL-process

Följande är de bästa metoderna för ETL-processsteg:

Försök aldrig rensa all data:

Varje organisation skulle vilja ha all data ren, men de flesta av dem är inte redo att betala för att vänta eller inte redo att vänta. Att rensa allt skulle helt enkelt ta för lång tid, så det är bättre att inte försöka rensa all data.

Rengör aldrig något:

Planera alltid att rensa något eftersom den största anledningen till att bygga Data Warehouse är att erbjuda renare och mer tillförlitlig data.

Bestäm kostnaden för att rensa data:

Innan du rengör alla smutsiga data är det viktigt för dig att bestämma rengöringskostnaden för varje smutsigt dataelement.

För att påskynda frågebehandlingen, ha hjälpvyer och index:

För att minska lagringskostnaderna, lagra sammanfattade data på diskband. Dessutom krävs en avvägning mellan mängden data som ska lagras och dess detaljerade användning. Avvägning på nivån av granularitet för data för att minska lagringskostnaderna.

Sammanfattning

  • ETL står för extrahera, transformera och ladda.
  • ETL tillhandahåller en metod för att flytta data från olika källor till en datalagret.
  • I det första steget extraheras data från källsystemet till iscensättningsområdet.
  • I transformationssteget rensas och transformeras data som extraheras från källan.
  • Att ladda data till måldatavaruhuset är det sista steget i ETL-processen.