facebook LinkedIN LinkedIN - follow
PříLOHA 6/2002

Data warehousing a business intelligence

Jiří Löffelmann


Data a programy Vývoj počítačového zpracování informací provází jeden zásadní trend. Množství zpracovávaných dat se neustále zvětšuje, naproti tomu existuje jasná snaha sjednotit metodu přístupu k těmto datům. V první fázi vývoje zpracování dat byla potřebná data obsažena v jednom modulu s programovou logikou, která je zpracovávala. Data vznikala a zanikala současně s během programu. Dat bylo poměrně malé množství, ale programů, které je zpracovávaly bylo mnoho - prakticky každý program byl unikát co se týkalo generovaných dat i programové logiky. K zásadnímu předělu došlo v okamžiku oddělení programových a datových oblastí. Data se začala ukládat do speciálních datových struktur nezávislých na programovém kódu, který je zpracovával. Tyto datové struktury byly přímými předchůdci současných databází. Jejich principem byla předem stanovená struktura (přesný popis umístění v záznamu datové struktury, rozsah a typ). Další charakteristickou vlastností byla definovaná sada základních operací, které k těmto záznamům přistupovaly - vložení záznamu (APPEND nebo INSERT), změna obsahu záznamu (UPDATE), zrušení záznamu (DELETE), načtení záznamu (GET nebo SELECT). Tyto dále nedělitelné transakce, postupně doplněné o řadu dalších se staly základem pro on-line aktualizaci dat OLTP (on-line transaction processing). Dalším posunem byl vznik řady metod pro indexování podle určitých položek záznamu, které značně urychlovaly vyhledávání ve velkém množství záznamů. Vývoj databází postupně směřoval od hierarchických, síťových až k historicky zlomovým relačním databázím a dotazovacímu jazyku SQL. Ten byl ještě v roce 1989 považován za zajímavé cvičení z teorie množin, aby se během několika let stal zcela zásadním a nenahraditelným standardem v oblasti zpracování dat.


Data a zálohování
S dramaticky vzrůstajícím množstvím zpracovávaných dat se samozřejmě objevila nutnost jejich bezpečného uložení a zálohování. Pokud došlo kdysi dávno ke zhroucení počítače v okamžiku, kdy zpracovával program ve Fortranu, který si zároveň na začátku vytvářel svoje data, nic se nestalo. Program se načetl znovu a bylo po problému. V momentu oddělení dat a programů pro jejich zpracování okamžitě vyvstala potřeba bezpečného uložení datových struktur, potažmo databází. Data z informačních systémů se stala příliš cennými na to aby se s nimi jen tak hazardovalo. Metody zálohování se vyvíjely od klasických kopií na externí média jednou denně s rizikem ztráty aktuálního dne až po hot backup při nepřerušovaném běhu databáze, zrcadlení disků a speciální data storage. Data uložená v zálohovacích stojanech a archivech byla však velmi obtížně znovuvyužitelná a sloužila pouze k obnovení po havárii systému. Tento nedostatek se zřejmě projevil právě v tom okamžiku, kdy někoho napadlo vzít ty staré a trochu zaprášené magnetické pásky se stejně starými a na první pohled nepotřebnými daty a říci programátorům: "Hej, mládenci, nezjistili byste mi kolik vysavačů značky LUX jsme prodali v červnu předminulého roku?"

Jak funguje datový sklad
Na první pohled se tedy může zdát, že datový sklad se příliš neliší od běžného informačního systému, snad jen co se týká možnosti ukládat velké objemy dat. Mezi klasickým informačním systémem a datovým skladem však existují zcela zásadní rozdíly.

Z výše uvedeného vyplývá, že klasické informační systémy slouží k momentálnímu zpracování a vyhodnocení jednotlivých transakcí a k základnímu sběru dat a tím pádem i k vytváření momentálního obrazu sledované reality. Datový sklad je naopak dlouhodobým úložištěm, kam data shromážděná klasickými informačními systémy přibývají periodicky po jednotlivých dávkách (loadech). Odezvy na dotazy nemusí být okamžité, což se naopak vyžaduje u klasického informačního systému. V datovém skladu se připouští i určitá redundantnost (vícenásobné uložení stejných dat) a také nižší detail uchovávaných dat. Data z datového skladu se nikdy nelikvidují. I v datovém skladu se ale mohou dělat souhrnné agregace některých údajů a zálohy na externí média. Další charakteristickou vlastností datového skladu je to, že jeho zdroje mohou být různorodé. Je běžné, že vznikne požadavek na sjednocení a vytěžování informací z řady datových zdrojů, ale tyto zdroje jsou naprosto nekonzistentní - tzn. jsou uloženy ve zcela odlišných strukturách, formátech, některé mohou být i zcela nestrukturované (běžný text, e-maily), mají odlišnou filozofii záznamu, jsou uloženy na různých médiích atd. K tomuto může dojít nejenom v rozsáhlých projektech například ve státní správě, ale i v jediném podniku s řadou poboček a právě zde by měl projekt datového skladu prokázat svoji schopnost tato data z jednotlivých zdrojů vytěžit a pomoci využít jejich informační hodnotu. V souvislosti s touto problematikou se objevuje termín ETL. Je to zkratka, která se skládá z prvních tří písmen slov Extraction, Transformation, Load. Tato tři slova definují jednotlivé fáze aktivního procesu v datovém skladu. Jejich jednoslovný překlad do češtiny rozhodně není vypovídající, a proto se u nich zastavíme podrobněji.

1. Extraction - extrakce
Datová extrakce je prvním a zároveň nejkritičtějším krokem ke správnému a informační hodnotu přinášejícímu využití datového skladu. Jedná se o schopnost převzít data z co nejširšího spektra datových zdrojů nejrůznějšího charakteru, mezi které se řadí nesčetné databázové standardy, nedatabázové strukturované formáty, textové soubory, standardy elektronické pošty apod. Pro přístup k databázím, které jsou v současnosti základem většiny informačních systémů se využívá řada standardizovaných rozhraní jako je např. ODBC apod. V současnosti je obvyklé, že kvalitní datové sklady mají předem definovanou konektivitu nejenom na databázové standardy, ale i přímo na konkrétní standardy z oblasti ERP - například SAP, BaaN, Oracle. Dalším z nepřehlédnutelných zdrojů informací se stávají webovské logovací soubory a protokoly, které zaznamenávají každé kliknutí na internetových stránkách na celém světě. Je zřejmé, že tady dříme obrovský potenciál informací o chování uživatelů a tedy i potenciálních zákazníků. Konektivita na tyto protokoly tedy musí dnes být běžnou výbavou každého kvalitního datového skladu. Souhrnně tedy můžeme extrakci chápat jako tu pracovní etapu, kdy usilujeme o přesné, rychlé, bezpečné, lehce kontrolovatelné a dobře řiditelné načtení dat z co nejvíce externích datových zdrojů. Tato fáze se opakuje s periodicitou, která souvisí s využíváním daných informací. Po jejím skončení budou potřebná data načtena přímo do připravených zdrojových struktur pro extrahovaná data.

2. Transformation - transformace
Transformace je postupná řada operací, které extrahovaná data připraví pro vlastní načtení do datového skladu. Drtivá většina informací získaných extrakcí totiž ještě není zdaleka připravena vydat svoje skryté bohatství. Mezi důvody, proč tomu tak není patří zejména nesoulad mezi daty z jednotlivých zdrojů a jejich neúplnost - viz následující příklady:

. různé názvy stejných položek,
. stejné názvy různých položek,
. hodnoty uložené v různých formátech - například číslo jako text ,
. různě interpretované hodnoty (muž, žena; M, F; a, b),
. různé číselné, datové a logické formáty (pravda, nepravda; T, F; TRUE, FALSE; 1, 0),
. položky vyplněné mezerami versus položky null,
. časový nesoulad uložených dat.

Základem transformace je vytvoření programové logiky, která provede převod mezi zdrojovými strukturami naplněnými syrovými daty a cílovými strukturami, které jsou zdrojem pro pozdější vytěžování dat. Definice zdrojových a cílových struktur celého procesu transformace a pravidel, která zkontrolují, doplní nebo změní data, pokud nejsou korektní, je velmi náročným a pro každý projekt specifickým úkolem. Sjednocení dat, jejich převod na stejné formáty, odstranění nekonzistence dat z jednotlivých datových zdrojů - teprve poté lze využít základní výhody a sílu prostředků jako je například SQL. Další nedílnou součástí transformace je validace, tzn. ověření správnosti extrahovaných dat, případně odhalení rozporů v těchto datech. Transformace je tedy chápána jako proces získání co nejkvalitnějších dat, protože informace jsou jen tak dobré, jak dobrá je kvalita dat. Tak, jak je kvalitní každý jednotlivý záznam, je kvalitní i datový sklad. Kvalita dat je kritickým faktorem pro úspěch celého projektu datového skladu. Pokud jsou data chybná, i odpovědi na dotazy budou chybné. V této souvislosti se začíná vžívat výraz ETL Quality.

3. Load - natažení
Load je poslední částí celého procesu, kdy jsou transformovaná data natažena do vlastního fyzického prostoru datového skladu a jsou přístupna pro vytěžování - pokládání dotazů. Data mohou být natahována ve stejném tvaru jaký mají cílové struktury, nebo mohou být natažena v předzpracovaném tvaru do takzvaných multidimenzionálních tabulek (kostek), které obsahují předpřipravené podklady pro rychlé odezvy na dotazy zpracované podle jednotlivých dimenzí (hran kostky). Load je rovněž jako obě dvě předchozí fáze periodický.

Nástroje pro tvorbu datového skladu
Vlastnosti, které by měl mít nástroj pro tvorbu kvalitního datového skladu, jsou zároveň logicky vlastnostmi, které zajistí co nejlepší průběh všech tří etap ETL.

Extraction:
" možnost připojení co nejširšího spektra formátů datových zdrojů,
" možnost připojení ERP systémů, webovských logů a formátů elektronické pošty,
" maximální využívání současných a modulární doplnění nových standardů,
" kvalitní a výkonné úložiště dat.

Transformation:
" kvalitní a uživatelsky příjemný nástroj na výstavbu zdrojových a cílových struktur a jejich vzájemné mapování (tvorba datového slovníku, repository metadat),
" automatická tvorba datových struktur ze známých standardů,
" kvalitní a výkonné programové prostředky pro tvorbu transformační logiky,
" škálovatelnost, verzování, technologie drag and drop.

Load:
" kvalitní uživatelské prostředí pro dotazování nad datovým skladem,
" předdefinované pohledy, dotazy a reporty (business objects, business components).

Mezi nejvýznamnější dodavatele nástrojů pro tvorbu datových skladů patří společnosti SAS, Informatica a Adastra.

Business Intelligence
V předchozích odstavcích o datových skladech jsou permanentně používány pojmy data a informace. Pokud bychom tyto dva výrazy graficky vyjádřili ve tvaru pyramidy (obr. 2), zjistíme, že data tvoří její základnu a informace, které můžeme z těchto dat vydolovat jsou již kvalitativně o stupeň výše - informace totiž snižují naši neurčitost při řešení vzniklého problému. Zcela na vrcholu této pomyslné pyramidy se nacházejí znalosti, které by se daly definovat jako schopnost problémům předcházet. A právě business intelligence je schopna na základě informací odhalovat skryté a obtížně předvídatelné souvislosti a trendy, které mohou mít klíčový význam pro řízení našeho businessu. Je tedy zřejmé, že primárním úkolem business intelligence je podpora rozhodování, a jako taková je určena převážně pro management (top i střední). Softwarové nástroje, které přitom využívá, jsou přímo napojeny na výše popsaný datový sklad (mohou být přímo součástí datového skladu nebo nezávislé) a využívají řadu předdefinovaných pohledů, sestav a grafů. Tvorba nových komponent by měla být zajištěna pomocí intuitivních a jednoduchých prostředků, tak aby manažer mohl s nástrojem pracovat sám. Rutinní používání aplikace business intelligence pak spočívá ve sledování trendů příslušných ukazatelů, nebo případně jen ve sledování odchylek od předem stanovených mezí (tzv. princip budíku se zeleným a červeným polem). Problematiku business intelligence ve spojení s datovými sklady je možné chápat v celé řadě souvislostí a pohledů. Z tohoto důvodu existuje i široká škála individuálních softwarových řešení, například:

. společnost Crystal Decisions v současnosti představuje produkty Crystal Report - celosvětový standard pro reporting se schopností importu a exportu pro řadu formátů, Crystal Analysis Professional - prostředí a metodiku pro anylýzu a rozhodování a Crystal Enterprise Framevork - webovské řešení pro business intelligence,

. společnost Cognos nabízí produkty stejného jména pro analyzování dat z transakčních informačních systémů, které obsahují řadu předdefinovaných analytických oblastí, pohledů, klíčových ukazatelů a reportů,

. produkt MEDIA firmy SPEEDWARE se prezentuje jako software pro podporu manažerského rozhodování, je považován za typickou aplikaci MIS, je jedním z nejrozšířenějších řešení v ČR,

. produkt RAMSES české firmy CCA Group - řešení business intelligence pro komplexní podporu rozhodování, založené na technologii Oracle.

Závěr
Vzpomínám si, že když se poprvé objevili v odborném tisku termíny data warehousing, data mining a později business intelligence, trochu rozpačitě jsme tehdy s kolegy přemítali v jakých regálech se ta data budou asi skladovat a jakým nářadím se poté budou dolovat. Dnes jsou tato odvětví jednou z nejrychleji rostoucích oblastí informačních systémů a zpracování dat obecně. Shromažďovat a uchovávat gigantické datové objemy dnes není z technického hlediska žádný problém. Konkurenční schopností je ale z těchto dat získat smysluplné informace a znalosti, které pak tvoří základ pro strategické, střednědobé i operativní rozhodování. Dobře shromážděná, zpracovaná a vyhodnocená data budou do budoucna tvořit stále významnější složku úspěšnosti komerčních i nekomerčních subjektů.

Použitá literatura
. doc. Ing. Milena Tvrdíková, CSc.: EIS - Nezbytná součást Business Intelligence,
. Vladimír Kyjonka - Úvod do architektury DW (seminář o produktech firmy Informatica)
. ADASTRA - Data Warehouse Experts : Propagační materiál společnosti
. Vladimí Plecháč, Ladislav Semetkovský : Klient/server ODBC
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

Modernizace IS je příležitost přehodnotit způsob práce

IT Systems 4/2025V aktuálním vydání IT Systems bych chtěl upozornit především na přílohu věnovanou kybernetické bezpečnosti. Jde o problematiku, které se věnujeme prakticky v každém vydání. Neustále se totiž vyvíjí a rozšiřuje. Tematická příloha Cyber Security je příležitostí podívat se podrobněji, jakým kybernetickým hrozbám dnes musíme čelit a jak se před nimi můžeme chránit. Kromě kybernetické bezpečnosti jsme se zaměřili také na digitalizaci průmyslu.