OLAP, OLTP, Warehousing, Data mining

(OnLine Analytical Procesing)

1.1 Úvod
Prebieha veľa diskusií na témy ako Data Warehousing, Online Analytical Processing a Data Mining. Rôzne projekty sa snažia o riešenie tejto problematiky. V podstate ide o sprístupnenie veľkeho množstva dát v použiteľnej podobe. Často ale nie je sprístupnenie informácií z týchto datových tokov jednoduché. Spomínané prístupy, spoločne nazývané OLAP, by mali pomôcť.

1.2 Čo je OLAP?

Pod názvom OLAP sú zahrnuté technológie, metódy a prostriedky, ktoré umožňujú ad-hoc analýzu multidimenzionálnych informácií. OLAP umožňuje užívateľovi pracovať s údajmi velmi flexibilne a analyzuje dáta podľa mnohých hľadísk.
OLAP (On-Line Analytical Processing) je druh softwarovej technológie dovoľujúcej analytikom, manažérom a riaditeľom porozumieť dátam pomocou rýchleho, konzistentného a
interaktívneho prístupu k širokému spektru možných pohľadov na informácie, ktoré boli transformované zo surových dát, aby odrážali skutočný rozmer podniku, tak ako je chápaný z pohľadu používateľa.

1.3 Čo je „Data Warehouse“?

. Je to databázový systém, kde sú ukladané dáta z rôznych operačných databázových systémov v určitej forme. Operačné systémy realizujú rôzne operácie, ako napríklad denné uchovávanie tržby a objednávok. Pre rôzne účely sú tieto dáta rozdelené do viacerých databáz, pričom pre OLAP využívame tieto informácie v usporiadanej podobe.

1.3.1 Dva pohľady na rovnaký proces

OLAP a Data Warehousing – Dva pohľady na rovnaký proces
S data warenhousing-om je často celý proces popísaný: od naplnenia databázy údajmi od operačných systémov až po ich použitie v aplikáciách pre spracovanie. Data warenhousing sa zameriava na problematiku uchovávania dát, kým OLAP poskytuje komponety pre ich správu. Aplikácie často používajú len časť údajov v data warenhouse, tieto údaje sú potom v takzvanom Data Mart pripravené.



















1.4 Čo je OLTP
systémy určené pre používateľov, ktorí pracujú s individuálnymi záznamami On Line
OLAP
určený pre alnalytikov a manažérov
optimalizované pre analýzy
OLAP DB je dávkovo updatovaná z rôznych zdrojov

Typ Obchodné operácie (OLTP) Analytické operácie (OLAP)
Transakcia Veľký objem malých transakcií Malý objem veľkých a zložitých dotazov
Zdroje dát Interné Veľa interných a externých
Časové obdobie Aktuálne Historické
Dotazy Predvídateľné periodické Nepredvídateľné, ad hoc
Činnosti Administratívne a prevádzkové Analytické, strategické


1.5 OLAP –podrobnejšie

Funkcionalita OLAP je charakterizovaná dynamickou multidimenzionálnou analýzou zjednotených podnikových dát, podporujúca analytické a navigačné aktivity koncového používateľa, ktoré zahrňujú:
• Kalkulácie a modelovanie naprieč dimenziami, skrz hierarchie a/alebo naprieč členmi (members)
• Analýza trendov počas postupných časových periód
• Rozdeľovanie podmnožín pre zobrazovanie
• Zostupovanie do nižších úrovní konsolidácie (drill-down)
• Prenikanie do príslušnej detailnej úrovne dát
• Rotácie pre porovnania v nových dimenziách príslušnej oblasti
OLAP je implementovaný vo viac-používateľskom klient/server prostredí a poskytuje
sústavne rýchlu odozvu na dotazy, bez ohľadu na veľkosť databázy a jej zložitosť.

Pravidlá pre OLAP:
1. Multidimenzionálny konceptuálny model
2. Transparentnosť
3. Dostupnosť dát
4. Stabilná výkonnosť
5. Architektúra klient/server
6. Generická dimenzionalita
7. Dynamická manipulácia s riedkymi maticami
8. Podpora viacerých používateľov
9. Neobmedzené operácie naprieč dimenziami
10. Intuitívna manipulácia s dátami
11. Flexibilné výstupy
12. Neobmedzené dimenzie a úrovne agregácií
Multidimenzionálny model dátovej kocky si môžeme najjednoduchšie predstaviť ako priestorovú kocku. každá kocka má niekoľko dimenzií. Na rozdiel od geometrickej kocky môže mať multidimenzionálny databázový model aj viac dimenzií ako tri. MS SQL Server 2000 umožňuje použitie až 64 dimenzií. Príkladom typického trojrozmerného modelu môže byť kocka s dimenziami:
čas
región
produkt

Údaje sa nachádzajú v prienikoch jednotlivých dimenzií. Môžeme analyzovať údaje len za určité obdobie, napríklad aby sme vyhodnotili výsledky reklamnej kampane, alebo sledovanosť webovej stránky za určité obdobie a podobne. Iným príkladom môžu byť údaje z určitého regiónu, ku ktorým má prístup regionálny riaditeľ, pre iné potreby rozhodovania, prípadne marketingové údaje pre jednotlivé produkty, alebo skupiny produktov môžu byť k dispozícií pre produktových manažérov.
Pre vytvorenie prakticky použiteľnej kocky potrebujeme dva typy tabuliek:
tabuľky faktov
tabuľky dimenzií
Tabuľky faktov – je hlavná tabuľka, na ktorú sú viazané tabuľky dimenzií. Uchováva veľké množstvo dát. Dáta sa nemenia často. Spravidla je len jedna tabuľka faktov pre jednu kocku.
Tabuľky dimenzií – obsahujú usporiadané údaje, sú naviazané na tabuľku faktov, alebo na inú tabuľku dimenzií. Sú spravidla menšie a dáta sa častejšie menia. Tabuľky dimenzií často používajú stromovú (hierarchickú) štruktúru napr:
Čas
◦ rok
◦◦ kvartál
◦◦◦ mesiac

1.5.1 Prečo je OLAP potrebný?

Príklad – e-vinotéka (1)
Predstavte si, že vlastnite „e-shop“, predajňu vína. Ponúkate rôzne druhy vína. Ako dôkaz úspechu firmy si uchovávate údaje o tržbách v tabuľke ako je na obrázku. Táto tabuľka vyjadruje tržbu v závislosti na druhu vína a období. Ďalej máte vína rozdelené do dvoch skupín, na biele a červené vína. Pričom sčítavate tržby pre obe skupiny vín. Taktiež zaznamenávate údaje o tržbe pre hierarchickú štruktúru: rok, štvrťrok, mesiac. Samozrejme nakoniec sčítavate aj celkovú tržbu.

Príklad – e-vinotéka (2)
Váš obchod sa pomaly presadzuje v Europe. Získali ste skúsenosti. Napríklad ste prišli na to, že červené víno sa lepšie predáva v Švajčiarsku než v ostatných krajinách. Na základe tohto zistenia optimalizujete logistiku predaja. Preto potrebujete ďalšiu tabuľku, ktorá vyjadruje tržby s ohľadom na krajinu (región). Nakoniec vás zaujíma aj celková tržba v regiónoch kde máte pobočky.


Príklad – e-vinotéka (3)
Teraz môžete upravovať logistiku podľa získaných informácií. Chcete taktiež vedieť ako boli dané objednávky uskutočnené a aké sú ich podiely na celkových tržbách. Preto rozdelíte tržby na kategórie: fax, telefón a internet. Na to vytvoríte nové tabuľky. V tomto momente je správa týchto tabuliek už dosť zložitá.


Prečo je OLAP potrebný?
- OLAP uľahčuje analýzu údajov pod rôznymi pohľadmi (hovoríme o dimenziách). Technológia OLAP umožňuje spomínané tabuľky získať ad-hoc z dotazovacieho procesu.
Takto môžete získať a analyzovať údaje z ohľadom na rôzne parametre. Môžete získať údaje s ohľadom na obdobie a produkt. Alebo s ohľadom na obdobie a región, či podľa skupiny obyvateľstva.
- Často sú potrebné aj iné údaje, ako napríklad zisk a náklady. Môžu vás aj zaujímať podiely jednotlivých produktov alebo období na zisku.
Získané údaje sú potom zobrazované graficky, vo forme napríklad koláčového diagramu.


1.5.2 Základné pravidlá a pojmy
Definícia 1. Bázová dimenzia je konečná diskrétna množina D s mohutnosťou > 1, prvkami ktorej sú atomické hodnoty nejakej veličiny ekonomického charakteru, dôležité z pohľadu používateľa.
Definícia 2. Prvky množiny D budeme nazývať členmi tejto dimenzie.
Definícia 3. Dimenziu nazývame ortogonálnu k inej dimenzii vtedy a len vtedy, ak pre každý člen jednej dimenzie môžu v reálnom svete existovať všetky členy druhej dimenzie a medzi členmi týchto dimenzií neexistuje funkčná závislosť.
Pravidlo1. V multidimenzionálnej databáze sú všetky bázové dimenzie vzájomne ortogonálne.
Pravidlo 2. Každý člen bázovej dimenzie je atomický, t.j. nesmie byť pre účely modelu rozložiteľný do podčastí.
Definícia 4. Merateľná dimenzia je špeciálny typ bázovej dimenzie, ktorej členy sú premenné, o hodnoty ktorých sa používateľ zaujíma. Členy merateľnej dimenzie nazývame meradlá.
Pravidlo 3. Multidimenzionálna databáza musí obsahovať páve jednu merateľnú dimenziu.
Definícia 5. Odvodené meradlo je také meradlo, ktoré môžeme vyjadriť ako funkciu jedného alebo viacerých meradiel.
Definícia 6. Základné meradlo je každé meradlo, ktoré nie je odvodené.
Definícia 7. Časová dimenzia je bázová dimenzia, ktorej členmi sú časové obdobia.
Pravidlo 4. Multidimenzionálna databáza môže obsahovať najviac jednu časovú dimenziu.
Pravidlo 5. Časové obdobia časovej dimenzie by mali byť vzájomne súvislé.
Definícia 8. Subdimenzia je množina disjunktných podmnožín členov bázovej dimenzie, ktoré majú nejakú spoločnú vlastnosť.
Definícia 9. Agregovaná dimenzia je subdimenziou, v ktorej zjednotenie členov je izomorfné s príslušnou bázovou dimenziou.
Definícia 10. Konsolidačná dimenzia je zoskupenie prvkov bázovej dimenzie, ktoré zhŕňa do jedného meradla alebo množiny meradiel pre bázovú dimenziu. Hierarchie môžu obsahovať niekoľko úrovní.
Definícia 11. Multidimenzionálna databáza je n-rozmerný priestor bázových dimenzií, z ktorých jedna musí byť merateľná dimenzia, a nad ktorým môžeme existovať m-rozmerný priestor agregovaných dimenzií (m>>n).
1.5.3 Dimenzie
OLAP Charakteristika – Dimenzie
Jednou z charakteristík OLAP sú dimenzie, ktoré charakterizujú dáta. Teda konkrétne prípady OLAP, budú vyjadrené kockou. V prípade , že hovoríme o troch dimenziách, nazývame tento prípad Hypercube.
Elementy sú členovia(members) niektorej dimenzie. Napríklad Schweiz je členom dimenzie Regióny. Údaje sa potom nachádzajú v bunkách.

OLAP Charakteristika –Agregovaná zostava
Môže byť vytvorená samostatná dimenzia pre agregačné funkcie. Kde uchovávame hodnoty ako zisk, tržba a pod. Bude tvoriť daľšiu dimenziu.

1.5.4 Hierarchie

OLAP Charakteristika - Hierarchie
Ako sme v predchádzajúcom príklade videli často sú dimenzie hierarchicky tvorené. Ako napríklad tržba za mesiac, štvrťrok, rok alebo tržba za produkt a skupinu produktov.
Údaje môžu byť na najnižšom stupni alebo na vyšších agregačných stupňoch Na tomto príklade vidieť ako rýchlo tieto dáta narastajú. Počítajúc len s najnižším stupňom je to 20 členov a 180 buniek. Keď prirátame vyššie agregačné stupne je to 29 členov a 544 buniek.

1.5.5 Schémy tabuliek dimenzií
Kocku vytvárame na základe dimenzionálneho modelu, ktorý môže byť dvoch typov:
hviezdicová schéma (star)
schéma snehovej vločky (snowflake)
1.5.5.1 Hviezdicová schéma
Hviezdicová schéma sa skladá z tabuľky faktov a ktorá obsahuje cudzie kľúče, ktoré sa vzťahujú k primárnym kľúčom v tabuľkách dimenzií. hviezdicová schéma nemá normalizované dimenzie ani relačné prepojenia medzi tabuľkami dimenzií.


1.5.5.2 Schéma snehovej vločky
Schéma snehovej vločky oproti hviezdicovej schému obsahuje niektoré dimenzie zložené z viacerých relačne spojených tabuliek.


1.5.6 Základné problémy riešené pomocou OLAP
1.5.6.1 Vyhľadávanie problematickej hodnoty

Dostávame sa k problému, ako v rozsiahlejších výstupoch nájsť hodnotu vybočujúcu z obvyklých hraníc. Pokiaľ si zobrazíte v nejakej väčšej kocke môže mať výsledná tabuľka opäť veľké množstvo riadkov. Tým dostávame ďalší problém v takomto výstupe je veľmi zložité nájsť hodnoty signalizujúce prípadné problémy.
Nástroje pre viacrozmernú analýzu nám ponúkajú tri základné postupy, ktoré umožňujú ľahko nájsť vo veľkom množstve dát problematické údaje. Prvou je top-ten analýza. Výsledok dotazu je zotriedený podľa veľkosti a je zobrazené iba definované množstvo záznamov (napr. 10% najmenších, 5% najväčších alebo napríklad tie ktoré sa odlišujú od najväčšieho o viac než 4%)
Ďalšou variantu predstavujú tzv. triggery (spúšťače) Nastavením triggeru na istú hodnotu dosiahneme zvýraznenie hodnôt, ktoré sú mimo určený interval.
Treťou zvýrazňujúcou funkciou je medzi-štvrťročná analýza. Tá nám umožňuje zobraziť dva fakty v jednom poličku a slúži napríklad k porovnaniu predaja oproti rovnakému obdobiu v minulom roku.
1.5.6.2 Zisťovanie odchýlky problematickej hodnoty

V minulom odstavci sme si ukázali cestu, ako nájsť hodnotu, ktorá sa odchyľuje od normálu. Ale ako zistíme dôvod prečo sa tak deje? K tomu slúži funkcia hierarchického rozpadu drill-down, ktorá zobrazí dáta podľa jemnejšej dimenzie (napríklad denné hodnoty pre problémový mesiac). Takže napríklad pri analýze predaja obuvi za rok 2000 sme zistili veľké zníženie predaja v marci v Prešovskom okrese. K určeniu príčiny by sme radi vedeli, koľko výrobkov bolo predaných v jednotlivých dňoch. Prevedieme preto rozpad (drill-down) na úroveň dní, v ktorom môžeme objaviť, že objem predaja sa náhle znížil dňa 11.3.2000. A teraz máme možnosť pokúsiť sa zistiť, čí sa v danej dobe neprejavili dopady úspešnej reklamy konkurencie a podobne.
1.5.6.3 Hľadanie dôvodov zmeny parametrov sledovanej hodnoty

V prípade zložitejších modelov nie je hľadanie dôvodov zmien hodnôt jednoduché ani vtedy ak máme k dispozícii systém vybavený predchádzajúcimi funkciami, pretože nedokážeme odhaliť všetky parametre, na ktorých sledovaná hodnota záleží. Pokiaľ máme veľké množstvo dimenzií a získavame vždy mnoho záznamov, môžu nám pomôcť programy pre dolovanie v dátach takzvané dáta mining. Tomuto programu zadáme požadovaný výsledok a systém automaticky vyhľadá parametre, na ktorých hodnota najviac záleží a rozdelí položky do skupín. Potom možno lepšie zamerať marketingové úsilie.
1.5.6.4 Flexibilita
OLAP Charakteristika – Rozpad
OLAP zabezpečuje Online Analytical Processing. To znamená že užívateľ môže pre ad-hoc spracovanie používať priamo dáta. OLAP podporuje flexibilnú navigáciu v údajoch a viac dimenzionálne operácie. Jednou z týchto OLAP-operácií je Drill-down a Roll-up – detailný a stlačený pohľad v rámci jednej dimenzie.

1.5.6.5 OLAP Charakteristika –Rez kockou(Slice)
Slice znamená ľubovoľnú kombináciu dimenzií a členov v jednom reze kockou.


1.5.6.6 OLAP Charakteristika – Rez kockou(Dice)
Dice – predstavuje rozdelenie na menšie kocky, teda zmenu osí.

1.5.6.7 OLAP Charakteristika – Agregačné funkcie (1)
Multidimenzionalita nám umožňuje vytvárať vzťahy ako vidieť na príklade. Napríklad vedľa celkovej tržby môže byť aj percentuálny podiel na tržbe celej skupiny produktov. V spreadsheet-e musí byť definovaný vzorec pre každú bunku osobitne.

1.5.6.8 OLAP Charakteristika – Agregačné funkcie (2)
Jednej bunke môže prislúchať viac vzťahov.V tomto prípade prirodzene vznikajú postupnosti, ktoré musia byť pri výpočte dodržané.
1.5.7 Z čoho sa skladá OLAP
Vrstva získavania informácií







Vrstva uloženia informácií









Vrstva sprístupnenia informácií








1.5.7.1 Vrstva získavania informácií:
V dátovom sklade sa dáta nevytvárajú, ale sú do neho pravidelne prenášané z produkčných systémov klient/server. Tento proces je realizovaný pomocou softvérových komponentov, ktoré sa nazývajú dátové pumpy.
Postup analýzy dát a získavania znalostí sa označuje ako data-mining (dolovanie dát). Jeho podstatou je hľadanie zákonitostí ukrytých v množstve údajov. Data-mining vhodne doplňuje postupy vyhodnocovania dát ako napríklad štatistická analýza, podpora rozhodovania, viacrozmerná analýza. Pre data-mining sa používajú postupy umelej inteligencie, neurónových sietí a fuzzy logiky. Celý proces získavania dát je riadený pomocou metadát. Metadáta sú technického rázu, sú vytvorené administrátorom alebo sú importované z mnohých zdrojov metadát. Tvoria databázu informácií o dátových štruktúrach v dátovom sklade, datamartoch, procesoch extrakcie dát a pod.
1.5.7.2 Vrstva uloženia informácií:
V tejto vrstve sú dáta skutočne uložené. Fyzické uloženie je vhodné voliť čo najbližšie dátovému modelu. Štruktúra dát musí byť vytvorená tak aby vyhovovala požiadavkám používaných nástrojov MIS (Management Information System). Údaje z tejto vrstvy sa stanú údajmi pre ďalšiu vrstvu - sprístupnenia informácii.

1.5.7.3 Vrstva sprístupnenia informácií:
Táto vrstva sa opiera o spoločný súbor prezentačných a analytických nástrojov. Cieľom je nájdenie odpovede na otázky, hľadanie otázok. Táto vrstva môže obsahovať aj menšie DW, tzv. dátové trhy (data mart), ktoré adresujú iba určité oddelenie podniku (marketing, management, …).

1.6 Iné technologie

MOLAP
Multidimenzionálny OLAP je technológia, ktorá na implementáciu multidimenzionálneho modelu využíva špeciálne pre tento účel vyvinutý OLAP server s vnútornou architektúrou databázy optimalizovanou pre multidimenzionálne dáta.

ROLAP
Relačný OLAP je technológia, ktorú vyvinuli komerční tvorcovia RSRBD, aby dodali do svojich stávajúcich relačných systémov vrstvu pre multidimenzionálny pohľad a analýzu dát. táto vrstva je väčšinou implementovaná vo forme aplikačného servera, nazývaného ROLAP server.
- dôsledok úspechu relačných databáz
- snaha o prispôsobenie relačnej DB pre DW
- trojvrstvová architektúra klient/server
- pre modelovanie štruktúry DW nad relačnou DB sa využíva "snowflake" schéma
- databáza nie je normalizovaná
- viacrozmerný pohľad riešený indexáciou a duplikáciou tabuliek
- čas vedený len ako pevný dátum

MD-OLAP
dvojvrstvová architektúra klient/server
dáta ukladané do MDBMS v n-dimenzionálnom priestore
pred uložením dát na disk potreba alokácie priestoru
veľká rýchlosť spracovania dotazov
potrebná stála rekompilácia
možnosť použitia kombinácie MD-OLAP/ROLAP

HOLAP
Hybridný OLAP kombinuje technológie MOLAP a ROLAP. Snaží sa využiť výhody z každej technológie v určitej oblasti. Základnou podmienkou je transparentné použitie MOLAP pre dáta s vyšším stupňom agregácie a ROLAP zas pre prácu s dátami na detailnejšej úrovni.