facebook LinkedIN LinkedIN - follow
PříLOHA #1 3/2003

Co se skrývá pod zkratkou ETL?

Jak zpracovat informace uložené v různých podnikových systémech

Martin Schiller





Životní esencí každého podniku jsou informace. Tyto informace, podrobeny patřičné analýze, poskytují stěžejní pohled na fungování podniku - zda všechno běží optimálně, nebo jestli se naopak objevují známky snížené efektivity. Pomohou identifikovat nejlukrativnější zákazníky, oblasti, které přinášejí největší zisky, aktivity vedoucí ke snížení nákladů a další.

Předtím, než vůbec mohou být tyto otázky položeny, je nutné nějakým způsobem získat a zpracovat informace uložené v různých podnikových systémech. Tento proces není triviální, když si uvědomíme že data jsou v různých formátech, v různých aplikacích, na rozdílných platformách. Pro získání a integraci požadovaných informací je možné zvolit různé cesty, dlouhé a pracné, nebo rychlé a snadné - to v případě použijeme efektivní a účinnou technologii.

ETL označuje právě mechanizmus získávání dat z provozních systémů podniku (ekonomika, skladové hospodářství, výroba, odbyt atd.), jejich následné zpracování a poskytnutí aplikacím pro podporu rozhodování (decission support systémy, datové sklady, business intelligence). Tato problematika je poměrně komplikovaná a představuje nezanedbatelný podíl (někdy až 70 %) v nákladech na budování systémů pro podporu rozhodování - nákladů ať finančních, tak i časových a lidských. V řadě projektů takovýchto systémů bývá bohužel podceňována, zvláště v prvotních fázích vývoje a budování. Tento přístup se potom může negativně promítnout do rychlosti vývoje a uvedení řešení do provozu, schopnosti flexibilně reagovat na měnící se podmínky, a v neposlední řadě do celkových nákladů řešení.
Samotná zkratka ETL je tvořena počátečními písmeny třech slov - extrakce, transformace, load.


Grafické uživatelské prostředí ETL nástroje

Extrakce znamená získání dat z primárních systémů. V typickém podniku je takovýchto systémů, zajišťujících životně důležité operace, celá řada. Zpravidla byly nasazovány v různých časových etapách a využívají různé, někdy i vysoce proprietární a málo otevřené technologie. Získat data z těchto systémů někdy může být nesnadný úkol, zvláště když si uvědomíme, že se nejedná o jednorázovou akci ale o periodickou činnost, jejíž cílem je poskytovat čerstvá data pro další zpracování v systémech datových skladů.

Transformace představuje proces zpracování dat získaných z primárních systémů do formy, odpovídající požadavkům systémů datových skladů. Transformace zahrnuje celou škálu operací od konverzí, matematických operací, filtrování, normalizace a denormalizace, až po sofistikované metody vytváření multidimenzionálních struktur. Data přicházející z primárních systémů mohou být (a ve valné většině případů jsou) "znečištěna" různými typy chybných či nekompletních údajů. Součástí transformací proto bývá také mechanizmus kontroly kvality dat a čištění dat.

Výstupem transformačního procesu jsou korektní a konsolidovaná data, která mají maximální informační hodnotu.

Závěrečnou fází je load, neboli naplnění zpracovaných dat do cílového systému datového skladu. Zde jsou pro uložení dat často využívány specializované technologie, které předpokládají použití různých proprietárních mechanizmů pro rychlé a optimální vkládání dat.

Způsoby realizace ETL
Ve velkém množství projektů datových skladů jsou ETL procesy vyvíjeny a provozovány na bázi skriptů, tj. programů od základů vytvořených vývojovým týmem v některém z obecně používaných jazyků - SQL, C/C++, Perl a podobně. Výhodou tohoto přístupu je minimální prvotní investice, jelikož vývojáři jsou zpravidla schopni vyvíjet skripty bez nutnosti rozsáhlejšího zaškolení a příslušná infrastruktura je již k dispozici.

Velké riziko ovšem tkví v náročné správě a údržbě řešení založeného na skriptech a minimální flexibilitě. Psaní kódu je zdlouhavé, náchylné na chyby a klade vysoké nároky na vývojáře. To se promítne v relativně nízké produktivitě a rapidním zvyšování nákladů na ETL řešení.

Negativní aspekty vývoje ETL procesů na bázi skriptů přinesly požadavek na zefektivnění tohoto procesu. Několik softwarových firem se úkolu ujalo a uvedly na trh specializované ETL nástroje, které výrazně zvyšují produktivitu vývoje, nabízejí potřebnou flexibilitu a ve výsledku redukují náklady na vývoj ETL systému.

ETL nástroje
Použití ETL nástroje přináší hlavně následující výhody:

. vysoká produktivita - V přehledném grafickém uživatelském prostředí je schopen vývojář navrhnout a odladit transformační proces ve zlomku času v porovnání s klasickým psaním kódu. Navíc je tento přístup méně náchylný na zanesení chyb, resp. případné chyby se snadno identifikují a odstraní.

. flexibilita - Díky objektovému přístupu je velice jednoduché procesy modifikovat, rozšiřovat a přizpůsobovat změnám požadavků a podmínek. Přehledná grafická reprezentace transformačního procesu a "samodokumentovatelnost" umožňuje i vývojáři, který se nepodílel na návrhu procesu, rychle proniknout do jeho logiky a provést požadované úpravy.

. výkon - Výkon je obecně jeden z klíčových požadavků na ETL systém. ETL nástroje jsou koncipovány tak, aby byly schopny optimálně využít hardwarových a systémových prostředků a dosáhnout maximálního výkonu. Ke způsobům, jak toho dosahují, patří vícevláknová architektura, důsledné využití paralelizmu, nativní přístup ke zdrojovým a cílovým systémům atd.

. otevřenost - ETL nástroje zahrnují technologie pro přístup k nejrůznějším typům podnikových systémů. Vývojář se nemusí starat o to, jaký protokol či jazyk konkrétní systém používá, jen použije odpovídající komponentu.

. podpora metadat - Většina ETL nástrojů pracuje intenzivně s metadaty - popisnými informacemi o zdrojových a cílových objektech, transformačních předpisech, statistikách provozu atd. Tato metadata dokumentují celý systém, navíc je možné je synchronizovat s ostatními aplikacemi datového skladu a zajistit popisnou konzistenci celého systému.

Typy ETL nástrojů
Dnes je na trhu několik ETL nástrojů, jejichž společným posláním je ulehčit a zefektivnit vývoj ETL procesů. Liší se rozsahem funkcionality, architekturou, mírou otevřenosti, výkonem a v neposlední řadě taky cenou.

Obecně se tyto produkty rozdělují do dvou skupin - ETL nástroje první generace, které na základě graficky navrženého transformačního předpisu vygenerují kód, který se kompiluje a spouští většinou na zdrojové platformě, a ETL nástroje druhé generace, jejichž jádrem je transformační engine realizující ETL procesy podle objektově definovaného předpisu uloženého v katalogu metadat a graficky navrženého vývojářem.

Výběr vhodného ETL nástroje závisí na požadavcích řešení, ale ať padne volba na ten či onen, vždy je to krok ke zvýšení produktivity, vnesení řádu do vývoje a snadné spravovatelnosti celého systému. Na základě zkušeností s používáním ETL nástrojů při budování a provozu datového skladu lze konstatovat, že je to cesta správným směrem a vynaložené náklady na pořízení ETL nástroje se bohatě vrátí v krátkém časovém horizontu.

Pozn. red.: Autor článku, Martin Schiller, působí jako konzultant ve společnosti Sybase ČR.

Chcete získat časopis IT Systems s tímto a mnoha dalšími články z oblasti informačních systémů a řízení podnikové informatiky? Objednejte si předplatné nebo konkrétní vydání časopisu IT Systems z našeho archivu.


Inzerce

ERP v cloudu

Je skutečně pro každou firmu?

Chcete držet krok s dobou a zvažujete přechod na cloudový ERP systém? Není divu. Cloudová řešení jsou bezpochyby trendem a umožňují firmám rychleji rea­go­vat na změny a nové výzvy, kterým musí v dynamickém a neustále se proměňujícím světě podnikání čelit.