Proces ETL (Extract, Transform, and Load) v datovém skladu
Co je ETL?
ETL je proces, který extrahuje data z různých zdrojových systémů, poté data transformuje (jako je použití výpočtů, zřetězení atd.) a nakonec načte data do systému Data Warehouse. Plná forma ETL je Extrahovat, Transformovat a Načíst.
Je lákavé si myslet, že vytvoření datového skladu je jednoduše extrahování dat z více zdrojů a načítání do databáze datového skladu. To je daleko od pravdy a vyžaduje to složitý proces ETL. Proces ETL vyžaduje aktivní vstupy od různých zúčastněných stran včetně vývojářů, analytiků, testerů, vrcholových manažerů a je technicky náročný.
Aby si systém datového skladu udržel svou hodnotu jako nástroj pro rozhodovací pravomoci, musí se změnit s obchodními změnami. ETL je opakující se činnost (denně, týdně, měsíčně) systému datového skladu a musí být agilní, automatizovaná a dobře zdokumentovaná.
Proč potřebujete ETL?
Existuje mnoho důvodů pro přijetí ETL v organizaci:
- Pomáhá společnostem analyzovat jejich obchodní data pro přijímání zásadních obchodních rozhodnutí.
- Transakční databáze nemohou odpovědět na složité obchodní otázky, které lze zodpovědět příkladem ETL.
- Datový sklad poskytuje společné úložiště dat
- ETL poskytuje metodu přesunu dat z různých zdrojů do datového skladu.
- Při změně zdrojů dat se datový sklad automaticky aktualizuje.
- Dobře navržený a zdokumentovaný systém ETL je téměř nezbytný pro úspěch projektu Data Warehouse.
- Umožňuje ověření pravidel transformace, agregace a výpočtů dat.
- ETL proces umožňuje porovnání vzorových dat mezi zdrojovým a cílovým systémem.
- Proces ETL může provádět složité transformace a vyžaduje další oblast pro uložení dat.
- ETL pomáhá migrovat data do datového skladu. Převeďte na různé formáty a typy, abyste dodrželi jeden konzistentní systém.
- ETL je předdefinovaný proces pro přístup a manipulaci se zdrojovými daty do cílové databáze.
- ETL v datovém skladu nabízí hluboký historický kontext pro podnikání.
- Pomáhá zlepšit produktivitu, protože kodifikuje a znovu používá bez potřeby technických dovedností.
ETL proces v datových skladech
ETL je proces o 3 krocích
Krok 1) Extrakce
V tomto kroku architektury ETL jsou data extrahována ze zdrojového systému do pracovní oblasti. Transformace, pokud nějaké jsou, jsou prováděny v pracovní oblasti, aby nedocházelo ke snížení výkonu zdrojového systému. Pokud jsou poškozená data zkopírována přímo ze zdroje do databáze datového skladu, bude rollback problém. Pracovní oblast poskytuje příležitost ověřit extrahovaná data před jejich přesunem do datového skladu.
Datový sklad potřebuje integrovat systémy, které mají různé
DBMS, hardware, Operasystémy a komunikační protokoly. Zdroje mohou zahrnovat starší aplikace, jako jsou sálové počítače, přizpůsobené aplikace, kontaktní zařízení, jako je bankomat, přepínače hovorů, textové soubory, tabulky, ERP, data od dodavatelů a partnerů.
Před extrahováním a fyzickým načtením dat je proto zapotřebí logická mapa dat. Tato datová mapa popisuje vztah mezi zdroji a cílovými daty.
Tři způsoby extrakce dat:
- Úplná extrakce
- Částečná extrakce - bez upozornění na aktualizaci.
- Částečná extrakce - s upozorněním na aktualizaci
Bez ohledu na použitou metodu by extrakce neměla ovlivnit výkon a dobu odezvy zdrojových systémů. Tyto zdrojové systémy jsou živé produkční databáze. Jakékoli zpomalení nebo zablokování by mohlo ovlivnit hospodářský výsledek společnosti.
Během extrakce se provádějí některá ověření:
- Sladit záznamy se zdrojovými daty
- Ujistěte se, že není načten žádný spam/nežádoucí data
- Kontrola typu dat
- Odstraňte všechny typy duplicitních/fragmentovaných dat
- Zkontrolujte, zda jsou všechny klíče na svém místě nebo ne
Krok 2) Transformace
Data extrahovaná ze zdrojového serveru jsou nezpracovaná a nepoužitelná ve své původní podobě. Proto je třeba jej vyčistit, zmapovat a transformovat. Ve skutečnosti je to klíčový krok, kde proces ETL přidává hodnotu a mění data tak, že lze generovat přehledné BI reporty.
Je to jeden z důležitých konceptů ETL, kde aplikujete sadu funkcí na extrahovaná data. Data, která nevyžadují žádnou transformaci, se nazývají jako přímý pohyb or procházet daty.
V kroku transformace můžete provádět přizpůsobené operace s daty. Například, pokud uživatel chce celkový příjem z prodeje, který není v databázi. Nebo pokud jsou křestní jméno a příjmení v tabulce v různých sloupcích. Před načtením je možné je zřetězit.
Následují Data Integrity Problémy:
- Různé hláskování stejné osoby jako Jon, John atd.
- Existuje několik způsobů, jak označit název společnosti, jako je Google, Google Inc.
- Použití různých jmen jako Cleaveland, Cleveland.
- Může nastat případ, že pro stejného zákazníka jsou různými aplikacemi generována různá čísla účtů.
- U některých dat zůstávají požadované soubory prázdné
- Neplatný produkt shromážděný na POS jako ruční zadání může vést k chybám.
V této fázi se provádějí validace
- Filtrování – Vyberte k načtení pouze určité sloupce
- Použití pravidel a vyhledávacích tabulek pro standardizaci dat
- Převod znakové sady a manipulace s kódováním
- Převod měrných jednotek, jako je převod data a času, převod měn, numerický převod atd.
- Kontrola ověření datového prahu. Například věk nesmí být více než dvě číslice.
- Ověření datového toku z pracovní oblasti do pomocných tabulek.
- Povinná pole by neměla zůstat prázdná.
- Čištění (například mapování NULL na 0 nebo Pohlaví Muž na „M“ a Žena na „F“ atd.)
- Rozdělení sloupce na násobky a sloučení více sloupců do jednoho sloupce.
- Transponování řádků a sloupců,
- Ke sloučení dat použijte vyhledávání
- Použití jakékoli komplexní validace dat (např. pokud jsou první dva sloupce v řádku prázdné, pak se automaticky odmítne zpracování řádku)
Krok 3) Načítání
Načítání dat do cílové databáze datového skladu je posledním krokem procesu ETL. V typickém datovém skladu je potřeba načíst obrovský objem dat v relativně krátké době (noci). Proces načítání by proto měl být optimalizován pro výkon.
V případě selhání načítání by měly být mechanismy obnovy nakonfigurovány tak, aby se restartovaly od místa selhání bez ztráty integrity dat. Správci datového skladu potřebují monitorovat, obnovovat a rušit zatížení podle převládajícího výkonu serveru.
Typy načítání:
- Počáteční zatížení — vyplnění všech tabulek Data Warehouse
- Přírůstkové zatížení — pravidelné provádění průběžných změn podle potřeby.
- Úplné obnovení —vymazání obsahu jedné nebo více tabulek a opětovné načtení nových dat.
Ověření zatížení
- Ujistěte se, že data klíčového pole nechybí ani nejsou nulové.
- Testujte pohledy modelování na základě cílových tabulek.
- Zkontrolujte, zda jsou kombinované hodnoty a vypočtené míry.
- Kontroly dat v tabulce dimenzí i v tabulce historie.
- Zkontrolujte sestavy BI o načtené tabulce faktů a dimenzí.
ETL nástroje
Existuje mnoho ETL nástroje jsou dostupné na trhu. Zde jsou některé z nejvýznamnějších:
1. MarkLogic:
MarkLogic je řešení pro datové sklady, které usnadňuje a urychluje integraci dat pomocí řady podnikových funkcí. Může se dotazovat na různé typy dat, jako jsou dokumenty, vztahy a metadata.
https://www.marklogic.com/product/getting-started/
2. Oracle:
Oracle je špičková databáze. Nabízí širokou škálu řešení Data Warehouse jak pro místní, tak pro cloud. Pomáhá optimalizovat zkušenosti zákazníků zvýšením provozní efektivity.
https://www.oracle.com/index.html
3. Amazon červenáShift:
Amazon Redshift je nástroj Datawarehouse. Je to jednoduchý a cenově výhodný nástroj pro analýzu všech typů dat pomocí standardu SQL a stávající nástroje BI. Umožňuje také spouštění složitých dotazů na petabajty strukturovaných dat.
https://aws.amazon.com/redshift/?nc2=h_m1
Zde je kompletní seznam užitečných Nástroje datového skladu.
Nejlepší postupy ETL proces
Níže jsou uvedeny osvědčené postupy pro kroky procesu ETL:
Nikdy se nepokoušejte vyčistit všechna data:
Každá organizace by chtěla mít všechna data čistá, ale většina z nich není připravena platit za čekání nebo není připravena čekat. Vyčistit to všechno by prostě trvalo příliš dlouho, takže je lepší nepokoušet se vyčistit všechna data.
Nikdy nic nečistěte:
Vždy plánujte něco čistit, protože největším důvodem pro budování datového skladu je nabízet čistší a spolehlivější data.
Určete náklady na čištění dat:
Před čištěním všech špinavých dat je pro vás důležité určit náklady na čištění pro každý špinavý datový prvek.
Chcete-li urychlit zpracování dotazů, použijte pomocné pohledy a indexy:
Chcete-li snížit náklady na úložiště, ukládejte souhrnná data na diskové pásky. Vyžaduje se také kompromis mezi objemem dat, která mají být uložena, a jejich podrobným využitím. Kompromis na úrovni granularity dat pro snížení nákladů na úložiště.
Shrnutí
- ETL znamená extrahovat, transformovat a načítat.
- ETL poskytuje metodu přesunu dat z různých zdrojů do a datový sklad.
- V prvním kroku extrakce jsou data extrahována ze zdrojového systému do pracovní oblasti.
- V kroku transformace jsou data extrahovaná ze zdroje vyčištěna a transformována.
- Načítání dat do cílového datového skladu je posledním krokem procesu ETL.