Vad är ETL?
ETL är en process som extraherar data från olika källsystem, sedan transformerar data (som att använda beräkningar, sammankopplingar etc.) och slutligen laddar in data i Data Warehouse-systemet. Full form av ETL är Extract, Transform and Load.
Det är frestande att tänka att skapa ett datalager helt enkelt extraherar data från flera källor och laddas in i databasen för ett datalager. Detta är långt ifrån sanningen och kräver en komplex ETL-process. ETL-processen kräver aktiva insatser från olika intressenter inklusive utvecklare, analytiker, testare, toppledare och är tekniskt utmanande.
För att bibehå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, vecka, månad) i ett datalagersystem och måste vara smidig, automatiserad och väldokumenterad.
I denna ETL-handledning lär du dig-
- Vad är ETL?
- Varför behöver du ETL?
- ETL-process i datalager
- Steg 1) Extraktion
- Steg 2) Transformation
- Steg 3) Laddar
- ETL-verktyg
- Bästa praxis ETL-processen
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 kritiska 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ällorna ändras uppdateras datalagret automatiskt.
- Välutformat och dokumenterat ETL-system är nästan nödvändigt för framgången för ett Data Warehouse-projekt.
- Tillåt verifiering av datatransformations-, aggregerings- och beräkningsregler.
- 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 åtkomst och manipulering av källdata till måldatabasen.
- ETL i datalager erbjuder djupt historiskt sammanhang för verksamheten.
- Det hjälper till att förbättra produktiviteten eftersom den kodifierar och återanvänds utan behov av tekniska färdigheter.
ETL-process i datalager
ETL är en 3-stegsprocess

Steg 1) Extraktion
I detta steg av ETL-arkitekturen extraheras data från källsystemet till iscensättningsområdet. Transformationer om någon görs i iscensättningsområdet så att källsystemets prestanda inte försämras. Om skadad data kopieras direkt från källan till datalagerdatabasen är återställning också en utmaning. Staging-området ger möjlighet att validera extraherad data innan den flyttar in i datalagret.
Datalager måste integrera system som har olika
DBMS, hårdvara, operativsystem och kommunikationsprotokoll. Källor kan inkludera äldre applikationer som Mainframes, anpassade applikationer, kontaktpunkter som ATM, samtalsomkopplare, textfiler, kalkylark, ERP, data från leverantörer, bland andra partners.
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:
- Full extraktion
- Partiell utvinning - utan uppdateringsmeddelande.
- Partiell utvinning - med uppdateringsmeddelande
Oavsett vilken metod som används bör extraktion inte påverka källsystemens prestanda och responstid. Dessa källsystem är levande produktionsdatabaser. Varje avmattning eller låsning kan påverka företagets resultat.
Vissa valideringar görs under extraktion:
- Förena poster med källdata
- Se till att inga skräppost / oönskade data laddas
- Datatypskontroll
- Ta bort alla typer av dubbletter / fragmenterade data
- Kontrollera om alla nycklar är på plats eller inte
Steg 2) Transformation
Data som extraheras från källservern är rå och kan inte användas i sin ursprungliga form. Därför måste den rengöras, kartläggas och transformeras. I själva verket är detta 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 använder en uppsättning funktioner på extraherad data. Data som inte kräver någon transformation kallas för direktflyttning eller förmedling av data .
I transformationssteg kan du utföra anpassade operationer på data. Till exempel om användaren vill ha summan av försäljningsintäkter 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.

Följande är dataintegritetsproblem:
- Olika stavningar av samma person som Jon, John, etc.
- Det finns flera sätt att beteckna företagsnamn som Google, Google Inc.
- Användning av olika namn som Cleaveland, Cleveland.
- Det kan hända att olika kontonummer genereras av olika applikationer för samma kund.
- I vissa data är filer som krävs tomma
- Ogiltig produkt som samlats in på POS som manuell inmatning kan leda till misstag.
Valideringar görs under detta skede
- Filtrering - Välj bara vissa kolumner som ska laddas
- Använda regler och uppslagstabeller för datastandardisering
- Teckenuppsättning Konvertering och kodningshantering
- Konvertering av måttenheter som datumkonvertering, valutakonvertering, numeriska omvandlingar etc.
- Valideringskontroll för datatröskel. Ålder kan till exempel inte vara mer än två siffror.
- Validering av dataflöde från mellanstationer till mellanliggande tabeller.
- Obligatoriska fält bör inte lämnas tomma.
- Rengöring (till exempel att mappa NULL till 0 eller Könhane till "M" och Hona till "F" etc.)
- Dela en kolumn i multiplar och slå samman flera kolumner i en enda kolumn.
- Transportera rader och kolumner,
- Använd sökningar för att slå samman data
- Med valfri komplex datavalidering (t.ex. om de två första kolumnerna i en rad är tomma avvisas den automatiskt från bearbetning)
Steg 3) Laddar
Att ladda data till måldatabaserad databas är det sista steget i ETL-processen. I ett typiskt datalager måste enorma datamängder laddas under en relativt kort period (nätter). Därför bör belastningsprocessen optimeras för prestanda.
I händelse av belastningsfel bör återställningsmekanismer konfigureras för att starta om från felpunkten utan dataintegritetsförlust. Data Warehouse-administratörer måste övervaka, återuppta, avbryta laddningar enligt rådande serverprestanda.
Typer av lastning:
- Initial Load - fyller i alla datalagertabeller
- Inkrementell belastning - tillämpa pågående förändringar efter behov regelbundet.
- Fullständig uppdatering - att använda innehållet i en eller flera tabeller och ladda om med ny data.
Ladda verifiering
- Se till att nyckelfältets data varken saknas eller är null.
- Testa modelleringsvyer baserat på måltabellerna.
- Kontrollera att kombinerade värden och beräknade mått.
- Datakontroller i dimensionstabellen samt historiktabellen.
- Kontrollera BI-rapporterna i den laddade fakta- och dimensionstabellen.
ETL-verktyg
Det finns många datalagringsverktyg tillgängliga på marknaden. Här är några av de mest framträdande:
1. MarkLogic:
MarkLogic är en datalagringslösning som gör dataintegrering enklare och snabbare med 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 Data Warehouse-lösningar för både lokalt och i molnet. Det hjälper till att optimera kundupplevelser genom att öka operativ effektivitet.
https://www.oracle.com/index.html
3. Amazon RedShift:
Amazon Redshift är 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 gör det också möjligt att köra komplexa frågor mot petabytes med strukturerad data.
https://aws.amazon.com/redshift/?nc2=h_m1
Här är en komplett lista över användbara datalagerverktyg.
Bästa praxis ETL-processen
Följande är de bästa metoderna för ETL-processsteg:
Försök aldrig att rensa all information:
Varje organisation skulle vilja ha all information ren, men de flesta av dem är inte redo att betala för att vänta eller inte redo att vänta. Att rengöra 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ågonting:
Planera alltid att rengöra något eftersom den största anledningen till att bygga datalagret är att erbjuda renare och mer tillförlitlig data.
Bestäm kostnaden för att rengöra data:
Innan du rensar alla smutsiga data är det viktigt för dig att bestämma rengöringskostnaden för varje smutsigt dataelement.
För att påskynda bearbetningen av frågor, ha hjälpvyer och index:
För att minska lagringskostnaderna, lagra sammanfattad data på diskband. Det krävs också en avvägning mellan datamängden som ska lagras och dess detaljerade användning. Avvägning på dataens granularitet 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 ett datalager.
- I det första steget extraheras, extraheras data från källsystemet till iscensättningsområdet.
- I transformationssteget rensas och transformeras den data som extraheras från källan.
- Att ladda in data i måldatahuset är det sista steget i ETL-processen.