of 117 /117
Simon Ivanuša ANALIZA IN PRIMERJAVA OLAP-ORODIJ Diplomsko delo Maribor, avgust 2012

ANALIZA IN PRIMERJAVA OLAP-ORODIJ

  • Author
    others

  • View
    3

  • Download
    0

Embed Size (px)

Text of ANALIZA IN PRIMERJAVA OLAP-ORODIJ

Informatika in tehnologije komuniciranja
Smer: Sistemska podpora informatiki in tehnologijam komuniciranja
Mentor: doc. dr. Marko Hölbl, univ. dipl. in. ra. in inf.
Somentor: asist. Andrej Sevnikar, univ. dipl. in. ra. in inf.
Lektorica: Maja Antosiewicz Škraba, univ. dipl. slov.
ii
iii
ZAHVALA
in somentorju asist. Andreju Sevnikarju za
usmerjanje in strokovno pomo pri vodenju in
izdelavi diplomskega dela.
mi omogoili študij in mi vedno stali ob strani.
iv
modeliranje, analiza, primerjava.
Diplomsko delo je namenjeno analizi in primerjavi proizvajalcev orodij OLAP, splošnemu
razumevanju in predstavitvi tehnologije sprotne analitine obdelave podatkov.
Predstavljeni so zametki razvoja podatkovnih skladiš in vedimenzionalnega
podatkovnega modela, prikazani so gradniki in elementi dimenzijskega modeliranja ter
funkcije, ki jih opravljajo in ponujajo.
V sklopu dela predstavljamo tudi analizo konkurennih proizvajalcev orodij OLAP.
Predstavljena je arhitektura posameznega proizvajalca orodij OLAP in analiza uporabe
posameznega orodja OLAP na testnem podatkovnem skladišu in v naprej nartovanem
vedimenzionalnem podatkovnem modelu. Prikazani so kljuni rezultati primerjav na
podlagi raziskav, analiz in ugotovitev.
v
Key words: OLAP, data cube, data warehouse, dimensional modelling, analysis,
comparison
Abstract
The thesis aims to analyse and compare the manufacturers of OLAP tools, contribute to
the understanding of the matter and present the online analytical processing technology. It
provides insight into the origins of the development of data warehouses and
multidimensional data models and illustrates both basic components and elements of
dimensional modelling and the functions they perform and offer.
In addition, the thesis involves an analysis of the competing manufacturers of OLAP tools,
thus presenting the architecture of individual manufacturers of OLAP tools and analysing
the use of individual OLAP tools on a test data warehouse and in a predetermined
multidimensional data model. It also shows the key results of comparisons based on
research, analyses and findings.
2.2 OPREDELITEV POJMA PODRONO PODATKOVNO SKLADIŠE .................................... 5
2.3 ARHITEKTURA PODATKOVNIH SKLADIŠ ................................................................. 6
2.3.1 Centralizirana arhitektura ali pristop od zgoraj navzdol ..................................... 7
2.3.2 Distribuirana arhitektura ali pristop od spodaj navzgor ...................................... 9
2.3.3 Federativna arhitektura ali hibridni pristop ....................................................... 10
2.4 ETL PROCESI IN KAKOVOST PODATKOV ................................................................. 12
2.4.1 Zajemanje podatkov .......................................................................................... 14
2.4.2 Preoblikovanje podatkov ................................................................................... 14
3 TEHNOLOGIJA SPROTNE ANALITINE OBDELAVE PODATKOV .......... 17
3.1 PRIMERJAVA Z OLTP SISTEMI................................................................................ 19
3.2.2 Shema podatkovne kocke .................................................................................. 28
3.3 IZVAJANJE MERITEV ............................................................................................... 31
4 PRIMERJAVA IN ANALIZA ORODIJ OLAP ..................................................... 41
4.1 ANALIZA ZAHTEV IN NARTOVANJE DIMENZIJSKEGA MODELA .............................. 42
4.2 IZGRADNJA TESTNIH PODATKOVNIH SKLADIŠ ...................................................... 44
4.2.1 Podatkovno skladiše v Microsoft SQL Server 2012 ....................................... 44
4.2.2 Podatkovno skladiše v Oracle Database 11g Release 2 .................................. 46
4.2.3 Podatkovno skladiše v MySQL Database 5.5 ................................................. 47
4.3 ANALIZA IN PRIKAZ UPORABE ORODIJ RAZLINIH DISTRIBUCIJ .............................. 48
vii
4.3.2 Analiza tehnologije Microsoft SQL Server Analysis Services 2012 ................ 51
4.3.3 Arhitektura tehnologije Oracle Database OLAP Option................................... 59
4.3.4 Analiza tehnologije Oracle Database OLAP Option 11g R2 ............................ 61
4.3.5 Arhitektura tehnologije Pentaho Analysis Services .......................................... 70
4.3.6 Analiza tehnologije Pentaho Analysis Services 3.4 .......................................... 72
4.4 PRIMERJAVA IN RAZLIKE MED PROIZVAJALCI ORODIJ OLAP ................................. 79
4.4.1 Primerjava arhitektur proizvajalcev orodij OLAP ............................................ 81
4.4.2 Primerjava tehnologije shranjevanja podatkov ................................................. 87
4.4.3 Primerjava podpore operacijam OLAP ............................................................. 88
4.4.4 Primerjava podpore poizvedovalnim in programskim jezikom ........................ 89
4.4.5 Primerjava varnosti in zašite podatkov............................................................ 90
4.4.6 Primerjava podpore operacijskim sistemom ..................................................... 92
5 SKLEP ......................................................................................................................... 95
6 VIRI ............................................................................................................................. 97
7 PRILOGE ................................................................................................................. 101
Slika 3.1: Porazdelitev med transakcijskimi in analitinimi sistemi [8] ............................. 19
Slika 3.2: Podatkovna kocka OLAP [5]; [36] ..................................................................... 23
Slika 3.3: Vehierarhina asovna dimenzija [5] ................................................................ 27
Slika 3.4: Zvezdna shema kocke ......................................................................................... 29
Slika 3.5: Sneinkasta shema kocke .................................................................................... 30
Slika 3.6: Operacija OLAP vrtanja v globino in zvijanja navzgor [35] .............................. 34
Slika 3.7: Operacija OLAP rezanja [35] .............................................................................. 35
Slika 3.8: Operacija OLAP vrtenja [35] .............................................................................. 36
Slika 3.9: Operacija OLAP vrtanja skozi [35] ..................................................................... 36
Slika 3.10: Operacija OLAP vrtanja ez [35] ...................................................................... 37
Slika 4.1: Dimenzijski model spletne prodaje ..................................................................... 43
Slika 4.2: Predvidena struktura vedimenzionalnega modela ............................................. 49
Slika 4.3: SSAS 2012 analitini model [12] ........................................................................ 50
Slika 4.4: SSAS arhitektura strenik-odjemalec [20] .......................................................... 51
Slika 4.5: Zgradba SSAS 2012 v MS Visual Studio 2010 .................................................. 52
Slika 4.6: SSAS: Brskalnik podatkov kocke ....................................................................... 57
Slika 4.7: SSAS: Pregled podatkov v MS Excel ................................................................. 58
Slika 4.8: Arhitektura Oracle Database OLAP Option [36] ................................................ 59
Slika 4.9: Zgradba AWM orodja in vzpostavitev povezave z O.D. OLAP Option ............ 62
Slika 4.10: O. D. OLAP Option: Tipi nivojsko orientiranih hierarhij [22] ......................... 64
Slika 4.11: O. D. OLAP Option: Upravljanje relacij med hierarhijami [22] ...................... 65
Slika 4.12: O. D. OLAP Option: Vrednostno orientirane hierarhije [22] ........................... 65
Slika 4.13: O. D. OLAP Option: Pregledovalnik meritev kocke ........................................ 69
Slika 4.14: Pentaho Analysis Services arhitektura [26] ...................................................... 71
Slika 4.15: Zgradba Schema Workbench in povezava z MySQL bazo............................... 73
Slika 4.16: Pentaho Analysis Services: Pregledovalnik podatkov kocke ............................ 78
ix
Tabela 3.1: Razlike med sistemi OLTP in OLAP [8].......................................................... 21
Tabela 4.1: Ocenjevalna lestvica prioritete pomembnosti uporabe ..................................... 79
Tabela 4.2: Ocenjevalna lestvica prioritete intuitivnosti uporabe ....................................... 79
Tabela 4.3: Ovrednostenje obstoja funkcionalnosti oz. lastnosti ........................................ 80
Tabela 4.4: Osnovne informacije strenikov OLAP [31]; [24] ........................................... 82
Tabela 4.5: Podpora in intuitivnost uporabe funkcij v strenikih OLAP [31] .................... 84
Tabela 4.6: Podpora tehnologij shranjevanja podatkov v strenikih OLAP [31] ................ 87
Tabela 4.7: Podpora strenikov OLAP, operacijam OLAP................................................. 88
Tabela 4.8: Podpora strenikov OLAP, API in poizvedovalnim jezikom [31] ................... 90
Tabela 4.9: Podpora strenikov OLAP, varnosti in zašiti [31]; [25] ................................. 91
Tabela 4.10: Podpora strenikov OLAP, operacijskim sistemom [31] ............................... 93
KAZALO GRAFOV
x
MOLAP – Multidimensional Online Analytical Processing
ROLAP – Relational Online Analytical Processing
HOLAP – Hybrid Online Analytical Processing
WOLAP – Web Online Analytical Processing
DOLAP – Desktop Online Analytical Processing
RTOLAP – Real-Time Online Analytical Processing
SSAS – Microsoft SQL Server Analysis Services
T-SQL – Transact Structured Query Language
xi
DMX – Data Mining Expressions
XML – Extensible Markup Language
DAX – Data Analysis Expressions
KPI – Key Performance Indicators
URL – Uniform Resource Locator
API – Application Programming Interface
AWM – Analytic Workspace Manager
JDBC – Java Database Connectivity
JSP – Java Server Pages
CSV – Comma Separated Values
EPL – Eclipse Public License
RAM – Random Access Memory
IWA – Integrated Windows Authentication
CAS – Code Access Security
AES – Advanced Encryption Standard
1
1 UVOD
V današnjem asu je zaradi vse veje konkurennosti med podjetji kljunega pomena
pravoasno in pravilno poslovno odloanje. Za doseen cilj potrebujemo hitre in ustrezne
informacije kot rezultat raznovrstnih analiz, ki jih opravljajo poslovni analitiki v podjetjih.
Za dobro analizo so bistvenega pomena podatki. Poslovni podatki so praviloma shranjeni v
transakcijskih bazah ali podatkovnih skladiših. Zaradi velikega števila beleenih
transakcij v podatkovnih bazah postaja le ta ogromna in okorna ter obsega le podatke
omejenega asovnega obdobja. Vse te znailnosti pa onemogoajo, da bi poslovni analitik
opravljal analize v transakcijski podatkovni bazi.
Analize veinoma temeljijo na daljšem asovnem obdobju, saj je tako mo ugotoviti razna
nihanja in odstopanja v poslovanju. V ta namen je bil razvit sistem za sprotno analitino
obdelavo podatkov (OLAP, angl. On-line Analytical Processing), ki nam omogoa hiter in
zanesljiv vpogled v podatke iz razlinih zornih kotov, ki nudi konnemu uporabniku
podporo pri analizi in odloanju. Za shranjevanje podatkov, namenjenih analizi, se
uporablja t. i. verazsenostna podatkovna baza (podatkovna skladiša).
Na podroju tehnologije sprotne analitine obdelave podatkov imamo na trgu kar nekaj
proizvajalcev orodij OLAP, katerih namen je izdelava vedimenzionalnega podatkovnega
modela (podatkovne kocke) in predstava verazsenostnih podatkov. Pri tem se orodja
OLAP proizvajalcev med seboj razlikujejo predvsem po naboru funkcij, odzivnosti, nazoru
predstavljenih podatkov, kvaliteti, uporabniški izkušnji ter drugih pomembnih znailnostih,
ki jih bomo tekom diplomskega dela podrobneje predstavili.
Cilj diplomskega dela je primarno predstaviti orodja OLAP proizvajalcev Microsoft,
Oracle in Pentaho ter izpostaviti razlike med njimi. Eden od ciljev je tudi preuiti
tehnologijo OLAP, njeno zgradbo, orodja, prednosti in slabosti podatkovnih skladiš v
primerjavi s transakcijskimi operativnimi sistemi.
V sklopu diplomskega dela bomo predstavili temelje tehnologije OLAP in tehnologijo
samo. Podrobneje se bomo posvetili analizi in prikazu uporabe orodij OLAP omenjenih
proizvajalcev. Predhodno si bomo pripravili testna podatkovna skladiša, v katerih bomo
UM FERI Analiza in primerjava OLAP- orodij
2
shranjevali podatke, ter jih z orodji posameznega proizvajalca preuili in na podlagi le-tega
v odvisnosti od njegovih zmonosti nazorno prikazali njegove funkcije, lastnosti
uporabljenih tehnologij in nazor prikaza vedimenzionalnih podatkov. Na podlagi
opravljenih analiz, ugotovitev in raziskav bomo posamezne funkcionalnosti in lastnosti
ovrednotili in podali kljune primerjave in razlike med njimi. Da pa bodo rezultati
natannejši in bolj primerljivi, se bomo omejili predvsem na proizvode zadnjih izdanih
razliic OLAP analitinih orodij in podatkovnih baz.
Analiza in primerjava OLAP- orodij UM FERI
3
2 PODATKOVNO SKLADIŠENJE
Zaetek razvoja podatkovnih skladiš in sistemov za podporo odloanju sega v zgodnja
šestdeseta leta, kjer so bile razvite prve aplikacije za ustvarjanje raznoraznih poroil,
spisanih v zgodnjih programskih jezikih. Za shranjevanje podatkov so se takrat uporabljali
magnetni trakovi, ki so sicer omogoali shranjevanje dokaj velikih kapacitet podatkov,
vendar so imeli teave z dostopom do podatkov, saj je tehnologija magnetnih trakov
omogoala le zaporedni dostop do podatkov. Kar je pomenilo, da je bilo v vsakem primeru
treba prebrati celoten magnetni trak, kar pa je bilo asovno zelo potratno.
V sedemdesetih letih so prišle na dan nove tehnologije za shranjevanje in dostop do
podatkov. Priel se je razvoj t. i. diskov z direktnim dostopom do podatkov. Dostop do
podatkov je potekal neposredno prek naslovov. Sledil je razvoj nove programske opreme
za upravljanje podatkovnih zbirk (DBMS), ki je nudila podporo sortiranju in naslavljanju
podatkov. Dostopni asi so se s pojavom tehnologije sistemov za sprotno obdelavo
podatkov (OLTP) še izboljšali, in tako omogoili nov pogled na obdelavo podatkov.
Razvijati so se prieli banni sistemi, sistemi za nadzor proizvodnje in podobni, ki do tedaj
tehnološko še niso bili izvedljivi.
V osemdesetih letih so se razvili osebni raunalniki in višje nivojski programski jeziki, ki
so omogoali neposredni dostop do podatkov tudi uporabnikom in ne le programju.
Pojavili so se tudi prvi informacijski sistemi MIS, ki so omogoali izvedbo analiz na
operativnih informacijskih sistemih. Po masovnem razvoju OLTP sistemov so se razvili
programi, ki so na podlagi izbiranja in iskanja prenesli podatke v drugo podatkovno bazo,
kar je postalo zelo priljubljeno iz naslednjih dveh razlogov:
Ker so bili podatki preneseni iz operativnih sistemov v loene podatkovne baze,
med njimi ni prihajalo do motenj ob izvajanju analiz.
Pri prenosu podatkov iz operativnih sistemov je konni uporabnik tako dobil
nadzor nad podatki, ki so bili prej v domeni le-tega.
Na trgu so se v blinji preteklosti pojavile štiri kljune tehnologije za izdelovanje sistemov
za podporo odloanju, med njimi tudi skladišenje podatkov, ki predstavlja prvo izmed
UM FERI Analiza in primerjava OLAP- orodij
4
tehnologij. Naslednji dve, ki sta sledili in sta nadgradili prvo, sta OLAP in podatkovno
rudarjenje. etrta je spletna tehnologija, ki je doivela velik razcvet v zadnjem desetletju,
še veji odmev pa bo imela v prihodnosti [30].
2.1 Opredelitev pojma podatkovno skladiše
V današnjem asu si podatkovno skladiše lahko predstavljamo kot v naprej dogovorjeno
in urejeno mnoico podatkov. Podatki se v doloenih asovnih intervalih prenašajo iz
operativnih podatkovnih baz in se lahko v primeru neuspelega prenosa ponovno prenesejo.
Podatki v podatkovnih skladiših se ne uporabljajo za tekoe pregledovanje stanja
transakcij ali poslovanja, ampak za daljša pretekla asovna obdobja. V veini primerov se
podatki iz relacijskih podatkovnih baz prenašajo v veernih urah oz. takrat, kadar je za
poslovanje proces najmanj obremenljiv in upoasnljiv. S pomojo tehnologij analitinih
orodij lahko izvajamo na podatkovnih skladiših najrazlinejše analize in poizvedbe nad
podatki, ne da bi pri tem ovirali trenutno delovanje sistema operativnih baz in s tem tekoe
poslovanje podjetja [9].
Glede natannega izraza "podatkovno skladiše" je v preteklosti bilo e veliko razlinih
mnenj. V veini primerov je izraz skladiše oznaka za raunalniški sistem, namenjen
shranjevanju, pregledovanju in upravljanju velikih koliin podatkov poljubne vrste, v
katerih so po navadi zapleteni mehanizmi za stiskanje in zapisovanje, hitro izvajanje
poizvedb ter uporabo zahtevnih filtrov. V splošnem pa je podatkovno skladiše zbirka
podatkovnih baz, povezana in prirejena tako, da im bolje podpira vodstveni kader pri
odloitvah. Podatkovno skladiše torej sestoji iz podatkov, ki so primerno integrirani in
preišeni v enega od arhitekturnih tipov podatkovnih skladiš, ter s tem omogoa jedrnat
izpis informacij, ki jih je uporabnik zahteval v doloenem trenutku.
Ker so podatki po navadi razpršeni na razlinih sistemih, ki delujejo na razlinih osnovah
in niso vedno povezljivi, se v ta namen uporabljajo podatkovna skladiša, ki na podlagi
preišenih in integriranih podatkov v procesu migracije omogoa tistim, ki odloajo in
skrbijo za razvoj podjetja, celovit pogled nad podatki posameznega dela organizacije.
Podatki se shranjujejo v operativnih sistemih, iz katerih jih nato prenašamo v podatkovna
Analiza in primerjava OLAP- orodij UM FERI
5
skladiša, na katerih potem izvajamo analize. Podatki sami po sebi ne predstavljajo
informacij, ampak to doseemo šele z njihovo organizacijo. Podatkovno skladiše je kopija
preoblikovanih in preišenih podatkov iz ene ali ve baz operativnih sistemov. Je torej
temelj za podporo odloanju, izvajanju analiz preteklega poslovanja ter napovedovanju
prihodnosti.
integriranost -– podatkovna skladiša polnimo iz razlinih virov podatkov;
zgodovina – v podatkovnem skladišu se hranijo podatki preteklih let;
statinost – podatki v podatkovnem skladišu so namenjeni poizvedovanju;
podrona usmerjenost – podatkovno skladiše hrani podatke o najpomembnejših
podrojih poslovanja, ki so skupni za celotno organizacijo.
Podatkovna skladiša temeljijo na relacijski podatkovni bazi in so odvisna od izbire
arhitekture, ki je skupek dimenzij in dejstev, katere na podlagi atributov in meritev
opisujejo posamezen poslovni proces [3].
2.2 Opredelitev pojma podrono podatkovno skladiše
Podrono podatkovno skladiše ali informacijska trnica (ang. data mart) se glede na
predstavnike razlinih arhitektur (Kimball in Inmon) razlino definirajo. Ve o sami
arhitekturi lahko izvemo v naslednjih poglavjih, v splošnem pa pojem podrono skladiše
predstavlja skladiše zgodovinskih in v naprej preraunanih, sumiranih podatkov, zbranih
iz operativnih sistemov in drugih izvorov, ki slui doloeni skupini uporabnikov tako, da
izpolnjuje zahteve glede prikazovanja, vsebine in naina uporabe podatkov. Uporabniki
priakujejo, da bodo podatki predstavljeni na nain, ki ga sami najbolj priakujejo in
razumejo, pri emer je poudarek na analizi uporabnikovih potreb [11].
V praksi se izraza podrono skladiše in podatkovno skladiše vekrat "zdruujeta".
Vendar se veina avtorjev v osnovi strinja, da pri izdelavi podronega podatkovnega
skladiša nartovalci izhajajo iz analize potreb uporabnikov, pri izdelavi podatkovnih
skladiš pa iz analize podatkov, ki e obstajajo, in naina, kako se ti podatki lahko
UM FERI Analiza in primerjava OLAP- orodij
6
pridobijo za uporabo v podatkovnem skladišu. Torej je slednja, centralizirana baza
podatkov, ki je lahko fizino razdeljena in strateško usmerjena, medtem ko je podrono
podatkovno skladiše baza podatkov, ki v veini primerov izhaja iz centraliziranih, in je
taktino usmerjena. Bill Inmon kot zagovornik pristopa "od zgoraj navzdol", kjer se
podatki iz loenih podronih skladiš prenesejo v podatkovno skladiše. Medtem pa Ralph
Kimball zagovarja pristop "od spodaj navzgor", kjer je podatkovno skladiše organizirano
v obliki podatkovnega vodila med seboj povezanih podronih skladiš [7].
Za podrono podatkovno skladiše se analitiki odloijo, kadar podatkovno skladiše
vsebuje enormne koliine podatkov, ki v procesu organizacije predstavljajo oblikovne
teave, in je namenjena podpori v poslovnem odloanju. Podrona podatkovna skladiša si
lahko predstavljamo kot podenote podatkovnih skladiš, ki po navadi obsegajo rezultat
dejavnosti enega poslovnega podroja (prirejena za tono doloen poslovni proces), ki
skupaj z vsemi preostalimi tvorijo celotni poslovni proces, pri emer so podrona
podatkovna skladiša podrono neodvisna in zato tudi hitrejša. Prednost podronega
skladiša je predvsem v odzivnosti, saj se podatkovno skladiše s asom zapolni z velikim
številom podatkov, kar pa vpliva na njegovo odzivnost in organiziranost podatkov [27].
2.3 Arhitektura podatkovnih skladiš
Arhitektura podatkovnih skladiš se nenehno spreminja, saj se pojavljajo nove rešitve, ki
so posledica napredka v strojni in programski opremi. Za nartovalce podatkovnih skladiš
je zelo pomembna pravilna odloitev pri izbiri arhitekture, saj le ta doloa podatkovni
model, vlogo podronih skladiš ter sosledje korakov v razvojnem ciklu.
Obstajajo trije osnovni principi izgradnje podatkovnih skladiš [15]:
Centralizirana arhitektura ali pristop od zgoraj navzdol.
Distribuirana arhitektura ali pristop od spodaj navzgor.
Federativna arhitektura ali hibridni pristop.
Analiza in primerjava OLAP- orodij UM FERI
7
William Inmon kot zagovornik centralizirane arhitekture (Slika 2.1) opisuje, da je središe
centralizirane arhitekture podatkovno skladiše zakljuenega organiziranega sistema, ki
"hrani" podrona skladiša, polni pa se iz operativnih podatkovnih baz ter operativnega
podatkovnega skladiša. V predstavljeni arhitekturi so podrona skladiša odvisna
struktura, saj so podatki pridobljeni izkljuno iz podatkovnega skladiša organizacije.
Slika 2.1: Centralizirana arhitektura podatkovnih skladiš [19]
Na Sliki 2.1 je predstavljena centralizirana arhitektura z osrednjim podatkovnim
skladišem in z mnoico podronih skladiš, ki se polnijo izkljuno iz osrednjega. Osnovni
uporabljeni podatkovni model je ER model. Struktura podatkovnega skladiša je v veini
primerov normalizirana in v maloštevilnih primerih tudi denormalizirana.
UM FERI Analiza in primerjava OLAP- orodij
8
Denormaliziranost se po navadi uvede v naslednjih primerih:
Kjer je znano, da se bodo redundantni podatki redno uporabljali skupaj z drugimi.
Kjer so izraunani podatki vekrat uporabljeni.
Kadar se gre za podatke, ki bodo pogosto uporabljeni skupaj.
Kadar je verjetnost dostopa do posameznih elementov pri uporabi razlina in se
izvede loitev podatkov.
ODS oz. operativna podatkovna hramba, ki je vsebovana na Sliki 2.1, je eden iz med
podatkovnih virov podatkovnega skladiša ter hrani trenutne, aktualne in podrobne
podatke, ki so namenjeni dnevnim analizam. Je hibridna struktura, ki izpolnjuje tako
operativne kot tudi analitine zahteve, saj nudi majhen transakcijski odzivni as, hkrati pa
je tudi prostor integriranih podatkov.
Glede na arhitekturo centraliziranega podatkovnega skladiša je osrednje podatkovno
skladiše edini vir podatkov za podrono skladiše. Podrono skladiše ne louje med
podatki, ki so prišli v podatkovno skladiše neposredno iz operativnega ali prek operativne
podatkovne shrambe, in se od podatkovnega razlikuje po naslednjih znailnostih:
Podatkovno skladiše vsebuje veliko koliino zelo podrobnih podatkov iz daljšega
asovnega obdobja, podrono skladiše pa le agregirane in sumarizirane podatke
omejene zgodovine zapletenih struktur.
Strukture podronega skladiša so za razliko od podatkovnega skladiša za
specifine in znane namene.
Podrona skladiša so manjša in omejena samo na specifino podroje.
Podatkovna skladiša vsebujejo granularne in sumarizirane podatke poslovanja
celotne organizacije.
podatkov s centraliziranimi pravili in kontrolo ter korporativnim naborom podatkov.
Slabost centralizirane arhitekture je v tem, da potrebujemo zelo velika vlaganja v takšen
dolgotrajen projekt. Zlasti primerna je za zelo velika podjetja, ki so finanno dovolj
zmona, da si lahko privošijo sam razvoj projekta, saj zagotavlja rezultate šele ob koncu
izgradnje [15].
9
Ralph Kimball kot zagovornik distribuirane arhitekture (Slika 2.2) opisuje arhitekturo, za
katero je znailna dokaj hitra izgradnja prvega podronega podatkovnega skladiša, ki ga
laje implementiramo kot pa celovit sistem v primeru centralizirane arhitekture. Podrono
skladiše je v tem primeru podmnoica podatkovnega skladiša doloene organizacije,
medtem pa je podatkovno skladiše le unija podronih skladiš. Slednje ima v veini
primerov vlogo oddelnega, krajevnega ali funkcionalnega podatkovnega skladiša in
podpira eno ali ve specifinih podroij.
Slika 2.2: Distribuirana arhitektura podatkovnih skladiš [19]
Kot je razvidno iz Slike 2.2, je struktura distribuiranih podatkovnih skladiš sestavljena iz
mnoice povezanih, a samostojnih podronih shramb, ki tvorijo podatkovno skladiše.
Osnovni uporabljeni model je dimenzijski, ki mora biti znotraj enotnega podatkovnega
UM FERI Analiza in primerjava OLAP- orodij
10
skladiša skladen. Skladna dimenzija je dimenzija, za katero je znailno, da ima enolien
pomen, ne glede na to, s katero tabelo dejstev jo poveemo, in zagotavlja, da je vsak
podatek predstavljen le enkrat. Ob nartovanju podatkovnega skladiša distribuirane
arhitekture je treba zagotoviti vzpostavitev, objavo in vzdrevanje skladnih dimenzij, saj v
nasprotnem primeru podatkovno skladiše ne more delovati kot integrirana celota.
Struktura podronih skladiš je denormalizirana in v nekaterih primerih le delno
normalizirana. Kot osnovna tehnika modeliranja se uporablja dimenzijsko modeliranje.
Prednosti predstavljene tehnike je predvsem hitrejša in laja implementacija posameznih
podronih skladiš in manjša izpostavljenost tveganjem glede napak. Slabosti pa, ker ima
lahko podatkovno skladiše lasten pogled na podatke, omogoa redundantnost podatkov v
vsakem podronem podatkovnem skladišu, in ker omogoa neskladnost podatkov [15].
2.3.3 Federativna arhitektura ali hibridni pristop
Federativna arhitektura (Slika 2.3) temelji na najboljših rešitvah med centralizirano in
distribuirano arhitekturo. Zagotavlja minimalne stroške in hitro povrnitev vloenih sredstev
z uporabo neodvisnih podronih skladiš, kjer kasnejša podatkovna integracija ni potrebna.
Analiza in primerjava OLAP- orodij UM FERI
11
Slika 2.3: Federativna arhitektura podatkovnih skladiš [19]
Kot je razvidno iz Slike 2.3, federativni pristop podpira iterativni razvoj podatkovnega
skladiša, ki vsebuje neodvisna podrona skladiša in centralizirano podatkovno skladiše
s podrejenimi podronimi skladiši. Kljuni element podatkovne integracije je skupni
model poslovnih informacij, hranjen in upravljan s strani podatkovnega skladiša. Izdelava
skupnega poslovnega modela zagotavlja konsistenco pri uporabi imen podatkov in
poslovnih definicij v vseh procesih podatkovnega skladiša. Skupni poslovni model se
aurira vsaki, ko se zgradi novo podrono skladiše, in kadar obstojei podatki v
operativnih sistemih narekujejo nartovanje podronih skladiš, uporabimo skupni
poslovni model vzporedno z razvojem podatkovnih modelov, podrejenih podronih
skladiš.
12
Ob vsakem na novo zgrajenem podatkovnem skladišu se praviloma ustvari nova garnitura
aplikacij za zajem in transformacijo, ki pa so le redko integrirana z aplikacijami za gradnjo
ostalih podronih skladiš. Vendar uporaba neodvisnih podronih skladiš povea tudi
število programskih rutin za zajem in transformacijo. Vzdrevanje tovrstnih rutin je
izjemno kompleksno in cenovno neugodno. Prav tako je treba zagotoviti izvajanje teh
rutin, in to v asu, ko je operativna baza obremenjena z rednim procesom. Rešitev teave
predstavlja razbitje procesov na ve korakov, kar vkljuuje razvoj mnoice rutin, ki
zajemajo podatke in z njimi polnijo podroje priprave. Podroje priprave se nato uporablja
za polnjenje neodvisnih podronih skladiš s pomojo razlinih tehnik za zajem in prenos
podatkov, kot so na primer ETL (Extract, Transform, Load) orodja [15].
2.4 ETL procesi in kakovost podatkov
Preden lahko s pomojo orodij OLAP prinemo z analiziranjem podatkov, je treba
podatkovno skladiše ustrezno pripraviti. Pri tem je zelo pomembna kakovost podatkov,
saj se sicer ne moremo zanesti na pravilne ali vsaj uinkovite analize. Pri išenju
podatkov je treba le-te dodobra razumeti oz. se nanje spoznati v tolikšni meri, da vemo, v
kakšni obliki naj jih priakujemo na izvoru. Zato velja pravilo, da je treba podatke, še
preden jih uporabimo, temeljito preveriti in analizirati. V ta namen je bila razvita tehnika
zajemanja preoblikovanja in polnjenja podatkov oz. s kratico ETL procesi [9]; [11].
ETL (zajemanje, preoblikovanje in polnjenje podatkov oz. angl. Extract, Transform and
Load) procesi predstavljajo ene najpomembnejših procesov, ki skupaj s podatkovnim
skladišem tvorijo srce vsakega sistema za poslovno obvešanje. Razvoj ETL procesa nam
vzame veino vsega asa, namenjenega za gradnjo podatkovnih skladiš. Proces je
kljunega pomena zaradi poznejše uporabe tehnologije OLAP, saj se nad podatki, ki se v
tem procesu prenašajo iz OLTP baz v podatkovno skladiše, izvajajo analize, in torej na
tem mestu doloimo, katere podatke bomo analizirali pozneje z orodji OLAP, saj podatke,
ki jih ne prenesemo s pomojo ETL, ne moremo vkljuiti v analize.
ETL procesi vsebujejo funkcije, ki preoblikujejo primerne podatke iz izvornih sistemov v
uporabne informacije, ki bodo shranjene v podatkovnem skladišu. Brez teh funkcij ne bi
Analiza in primerjava OLAP- orodij UM FERI
13
dobili potrebnih podatkov v podatkovnem skladišu, ki nam predstavljajo osnovo pri
pridobivanju strateških informacij za podjetje. V primeru, da izvorni podatki niso pravilno
zajeti, preoblikovani in naloeni, je tudi vzpostavitev podatkovnega skladiša nemogoa.
Proces ETL vkljuuje [2]; [19]:
pridobivanje podatkov iz zunanjih virov (angl. Extract),
preoblikovanje podatkov v skladu s poslovnimi potrebami (angl. Transform),
nalaganje podatkov v podatkovno skladiše (angl. Load).
Podatke torej najprej zajamemo iz izvornih sistemov, jih ustrezno preoblikujemo
(preverjanje kakovosti podatkov, išenje podatkov, integracija), nakar jih prenesemo oz.
naloimo v podatkovno skladiše. Kadar je skladiše podatkov e v produkcijski rabi, so
postopki ETL po navadi izvedeni kot avtomatizirani postopki, ki se periodino proijo na
podatkovni bazi in poskrbijo, da se podatki iz operativnih sistemov napolnijo v skladiše
podatkov.
Procesi ETL so zahtevni predvsem zaradi narave izvornih sistemov. Eden najvejih izzivov
procesa ETL nam predstavlja ravno zajemanje podatkov, ki so povrh vsega še v veini
primerov razpršeni po razlinih transakcijskih sistemih.
ETL proces obsega kar nekaj razlogov za teavnost:
raznolikost in neskladnost izvornih sistemov;
izvorni sistemi se lahko nahajajo na razlinih platformah in operacijskih sistemih;
veina izvornih sistemov je zapušina starih aplikacij, ki teejo na zastarelih
podatkovnih tehnologijah;
izvorni sistemi ne hranijo zgodovinskih podatkov o spremembah vrednosti;
kvaliteta podatkov je vprašljiva v sistemih, ki so se razvijali skozi as;
zaradi novih poslovnih zahtev se spreminja struktura izvornih sistemov, pri tem pa
moramo ustrezno prilagoditi tudi e delujoe ETL procese;
nekonsistenca podatkov v izvornih sistemih.
UM FERI Analiza in primerjava OLAP- orodij
14
Zajemanje podatkov iz razlinih sistemskih virov predstavlja prvo fazo ETL procesa, pri
emer ne smemo pozabiti tudi na vmesna polnjenja. Sistemski viri so po navadi loeni, kjer
pa vsak lahko operira nad razlino strukturo in formatom podatkov. V veini primerov so v
uporabi relacijske podatkovne baze in nepovezane datoteke. Proces se v veini primerov
izvršuje vsakodnevno, pri tem pa moramo paziti, da ne preobremenimo izvornega sistema
v asu, ko je ta e tako preobremenjen z izvajanjem tekoih poslov [2]; [19].
2.4.2 Preoblikovanje podatkov
Veina pridobljenih podatkov iz izvornih sistemov še ni primernih za nalaganje v
podatkovno skladiše. Zajeti podatki morajo biti preoblikovani na tak nain, da ustrezajo
poslovnim zahtevam in zahtevam skladiša. Nekatere podatke je treba pred uporabo v
podatkovnem skladišu oplemenititi, saj je kvaliteta teh podatkov v starejših sistemih zelo
vprašljiva. Kar pomeni, da morajo pred uporabo podatki v podatkovnem skladišu skozi
številne transformacije, kjer nam najve dela povzroi proces izboljšanja kvalitete
podatkov. Posledice dobre oz. slabe kvalitete podatkov so vidne predvsem pri kasnejših
analizah in posledino sprejetih dobrih oz. slabih poslovnih odloitvah. Podjetja se morajo
zato zavedati kompleksnosti in zahtevnosti išenja in nasploh transformacije podatkov.
Osnovne naloge preoblikovanja podatkov so [2]; [19]:
selekcija,
15
V fazi polnjenja naloimo preoblikovane in oišene podatke v podatkovno skladiše.
Obseg procesa je odvisen od velikosti podjetja ali organizacije. Polnjenje v veini
primerov zahteva ogromno asa, treba pa je tudi uskladiti asovne termine, saj mora biti
med samim polnjenjem podatkov v skladiše le-to nedostopno za ostale uporabnike. Zaradi
asovno zamudnega postopka je tako treba dobro razmisliti o uskladitvi procesa. Polnjenje
se lahko izvaja paralelno tako, da v podatkovno skladiše pošiljamo ve manjših paketov
podatkov. Zraven tega lahko del podatkovnega skladiša, ki je e napolnjen, uporabljamo,
medtem pa se nad ostalim vrši proces polnjenja, in je takrat nedostopno [2]; [19].
UM FERI Analiza in primerjava OLAP- orodij
16
17
PODATKOV
Zaradi vse veje konkurennosti med podjetji je kljunega pomena pravoasno in pravilno
poslovno odloanje. Za pravoasno in pravilno odloanje pa potrebuje odloitveni sloj
hitre in ustrezne informacije. Te informacije so rezultat raznovrstnih analiz, ki jih
opravljajo poslovni analitiki v podjetjih. Podjetja opravljajo razline poslovne analize, za
katere so bistvenega pomena podatki. To so lahko podatki o strankah, partnerjih,
dobaviteljih, njihovih terjatvah, artiklih, zalogah v skladiših in drugi. Vendar podatki sami
po sebi ne predstavljajo temeljnih informacij, e niso dostopni v doloenih trenutkih ali e
niso realni in primerljivi. Prav tako današnji nain poslovanja zahteva rešitve, ki bodo
zmanjšale razpon med znanjem in odloitvami ter omogoile takojšnje in kakovostne
informacije [10].
V ta namen je bil razvit sistem za sprotno analitino obdelavo podatkov, krajše OLAP
(angl. Online Analytical Processing). OLAP je programska oprema in tehnologija, ki se
uporablja za vedimenzionalno analiziranje ogromne koliine podatkov preteklega
poslovanja v podatkovnih skladiših, s katero ugotavljamo pešanje oz. odstopanje
poslovanja v doloenih segmentih. Orodja OLAP ponujajo logino, hierarhino in
strukturirano pregledovanje podatkov in omogoajo zanesljiv vpogled v podatke glede na
asovno dimenzijo, agregate in v nekaterih primerih tudi v transakcijske podatke iz
razlinih zornih kotov. OLAP v veini primerov omogoa tudi kompleksnejša
preraunavanja in napovedovanja, predstavljena z intitivnimi grafinimi vmesniki. OLAP
orodja omogoajo tudi skupno rabo podatkov znotraj skupine uporabnikov, ki te podatke
potrebujejo, pri tem pa morajo zagotavljati tudi ustrezno mero varnosti [34]; [4].
Preden lahko prinemo z implementacijo tehnologije OLAP, potrebujemo predhodno
pripravljeno podatkovno skladiše, v katerem skladišimo analitine podatke. Orodja
OLAP nam omogoajo izgradnjo kock, v katerih organiziramo, agregiramo in
preraunavamo podatke na nain, ki omogoa im uinkovitejše analitine poizvedbe brez
predhodnega znanja stukturiranega povpraševalnega jezika oz. SQL (Structured Query
Language).
18
podatkov, pridobljenih iz podatkovnega skladiša, ki nudi konnemu uporabniku podporo
pri analizi in odloanju, ki vsebuje naslednje aktivnosti [29]:
modeliranje in kalkulacije prek ve dimenzij ali ve hierarhinih nivojev;
analiza trendov v razlinih asovnih obdobjih;
prikaz poljubnega dela podatkov;
Za orodja OLAP so znailne naslednje funkcionalnosti [19]:
Vedimenzionalnost: zmonost pregleda razlinih kazalnikov poslovne uspešnosti
podjetja, primerjanje podatkov s podatki iz preteklosti ali napovedanimi podatki za
prihodnost po posameznih dimenzijah in njihovih hierarhijah. Potrebna je
predhodno pripravljena podatkovna struktura, kamor se zapišejo agregirani podatki,
ki sluijo uporabnikom pri razlinih analizah.
Hitrost: enostavno poizvedovanje, pri emer ni treba pisati zapletenih SQL stavkov.
Odzivni asi so konstantni ne glede na vrsto opravljenih poizvedb. Boljše odzivne
ase se skuša dosei z razlinimi metodami, kot so vedimenzionalne baze,
predsumirane tabele, ustrezno indeksiranje ipd.
Mone analitine sposobnosti: zraven osnovnih matematinih funkcij orodja
ponujajo tudi doloene naprednejše funkcije, ki temeljijo na MDX (angl.
Multidimensional Expresions) poizvedbah.
prikaz podatkov neodvisen od podatkovne strukture), pronost definicij
(popravljanje in definiranje formul, formatiranje števil itd.), pronost analiz ter
prilagodljiv, intuitiven in uporabniku prijazen vmesnik (kar je uporabno za
poslovnee, ki nimajo asa za dolgotrajno uvajanje, temve veino svojega asa
namenijo analizi in vsebini problema, ki ga morajo rešiti).
Analiza in primerjava OLAP- orodij UM FERI
19
Veuporabniški dostop: veina sistemov OLAP je tipa odjemalec/strenik, kar
pomeni, da do podatkov lahko dostopa ve uporabnikov hkrati. Pri tem se pojavlja
tudi monost dostopa do podatkov in opravljanja analiz prek svetovnega spleta, saj
uporabniki na tak nain niso omejeni s fizino postavitvijo delovne postaje oz.
strenika.
V sklopu diplomskega dela bomo nekatere funkcionalnosti in lastnosti podrobneje
predstavili ter podali praktine primere uporabe za vsakega od proizvajalcev orodij OLAP.
Predstavniki orodij OLAP se med seboj razlikujejo po podpori, uporabnosti in intuitivnosti
zgoraj zapisanih lastnosti, kar pa lahko vpliva na poslovne potrebe konnih uporabnikov.
3.1 Primerjava z OLTP sistemi
Informacijske sisteme lahko v splošnem razdelimo na transakcijske in analitine, pri emer
lahko sklepamo, da transakcijski sistemi (OLTP) zagotavljajo vir podatkov za analitine
sisteme (OLAP), kot prikazuje naslednja Slika 3.1:
Slika 3.1: Porazdelitev med transakcijskimi in analitinimi sistemi [8]
UM FERI Analiza in primerjava OLAP- orodij
20
Za OLTP (On-line Transaction Processing) oz. za transakcijske podatkovne sisteme je
znailno veliko število krajših "on-line" transakcij (insert, update, delete). Glavni poudarek
pri sistemih OLTP je, da imajo zelo hitro izvajanje poizvedb, ohranjajo celovitost podatkov
v vedostopnih okoljih, pri emer se as dostopa meri v številu transakcij na sekundo.
Uporabljajo se za opravljanje vsakodnevnih poslovnih funkcij, kot so ERP (Enterprise
Resource Planning), CRM (Customer Relationship Management) in drugi. OLTP rešuje
vse kritine poslovne procese z avtomatizacijo vsakodnevnih poslovnih opravil, katerih
analize in poroila so dostopna v tono doloenem trenutku. OLTP sistemi niso primerni
za izvajanje poizvedb in analiz, prav tako se do podatkov dostopa le prek uporabniških
vmesnikov. Podatki v OLTP se nahajajo v normalizirani obliki za razliko od podatkovnih
skladiš.
OLAP (On-line Analytical Processing) oz. sprotna analitina obdelava podatkov, ki se
izvaja nad podatkovnimi skladiši in vsebujejo za razliko od transakcijskih baz relativno
malo izvedenih transakcij. Poizvedbe so veliko kompleksnejše in vkljuujejo agregate.
Aplikacije OLAP se pogosto uporabljajo za podatkovna rudarjenja. Podatki so shranjeni v
obliki vedimenzionalnih shem, ki vsebujejo t. i. kocke, ki so sestavljene iz numerinih
dejstev. OLAP je zbirka, nastala iz razlinih transakcijskih podatkovnih baz, v katerih se
nahajajo preišeni, preoblikovani in pomembnejši podatki, ki sluijo podjetjem pri
izvajanju analiz preteklega poslovanja kot podpora pri strateškem odloanju. V sistemih
OLAP se nahajajo nenormalizirani podatki [8].
Naslednja Tabela 3.1 nam prikazuje bistvene razlike med transakcijskimi in analitinimi
sistemi:
21
Sistemi OLTP Sistemi OLAP
podatkov podatki, pridobljeni iz ve OLTP
podatkovnih baz
namen podatkov
za nadzor in vodenje tekoih poslov za pomo pri nartovanju, reševanju
problemov in podpori odloanja
odzivnost zelo hiter odvisno od koliine podatkov, uporabe indeksov, osveevanja in kompleksnosti
poizvedb, lahko traja tudi nekaj ur
podatkovni model
visoko normalizirane z veliko tabelami denormalizirani podatki z nekaj tabelami
povpraševanja enostavne poizvedbe, ki vraajo
relativno malo zadetkov pogosto kompleksne poizvedbe, ki
vkljuujejo tudi agregate
operacij
velike zaradi podvajanja ogromne koliine preteklih podatkov
varnostne kopije
podatki so kljunega pomena za vodenje poslovanja, ki ob izgubi
predstavljajo pravne in denarne stroške
monost obnovitve iz OLTP podatkovnih virov
starost podatkov
branje podatkov
tipini uporabniki
Dimenzijsko modeliranje je lahko v nekaterih primerih veliko preprostejše, hitrejše in laje
za razumevanje kot pa podatkovno modeliranje. Predstavlja specifino modeliranje
podatkov, ki so organizirani tako, da omogoajo uinkovite poizvedbe in so razumljivi
tako uporabnikom kot informatikom. Dimenzijski model slui kot analitino orodje pri
nartovanju podatkovnega skladiša in kot fizini model implementacije v podatkovno
bazo. Tehnologija dimenzijskega modeliranja predstavlja dobro osnovo za izgradnjo
vedimenzionalnih podatkovnih modelov. Dimenzijsko modeliranje je sinonim za vrsto
tehnologij in konceptov, ki se uporabljajo pri modeliranju podatkovnih skladiš, in ni
UM FERI Analiza in primerjava OLAP- orodij
22
nujno, da vkljuuje relacijsko zbirko podatkov. V procesu modeliranja se uporabljajo
dejstva in dimenzije. Dejstva so obiajno številne vrednosti, ki se lahko glede na tip
uporabljenih agregatov zdruujejo po ravneh hierarhij, medtem pa so dimenzije skupina
hierarhij in deskriptorjev, ki opredeljujejo dejstva.
Proces dimenzijskega modeliranja temelji na naslednjih nekaj korakih [32]:
1. Izbira poslovnega procesa: temelji na dejanskem poslovnem procesu, ki naj bi ga
podatkovno skladiše vsebovalo, pri emer je treba podrobno opredeliti izbran
poslovni proces s pomojo tehnik modeliranja.
2. Opredelitev zrna poslovnega procesa: zrno (angl. grain) modela predstavlja
natanen opis, na kaj se je treba dimenzijski model v procesu modeliranja
osredotoiti. Zrno nam pove, kakšen je pomen posamezne vrstice v tabeli dejstev,
in doloa stopnjo podrobnosti. Vse meritve, ki so prisotne v tabeli dejstev, morajo
biti enakega zrna.
3. Izbira dimenzij: opisujejo izbran poslovni proces in hranijo podatke dimenzijskega
modela.
4. Izbira dejstev: omogoajo obravnavo izraunljivih mer in so v veini primerov
številne vrednosti ter nam morajo odgovarjati na kljuna vprašanja poslovanja.
3.2.1 Vedimenzionalni podatkovni model oz. podatkovna kocka OLAP
Dimenzijski model nam slui kot analitino orodje za izgradnjo podatkovnega skladiša in
mora v celoti odraati poslovni proces tako, da ga razume vodstveni kader ter odgovarja na
vsa poslovna vprašanja. Dimenzijski model je sestavljen iz osrednje tabele dejstev, ki
vsebuje tuje kljue dimenzijskih tabel, in iz mnoice dimenzijskih tabel, ki vsebujejo
primarne kljue. Dimenzijske modele lahko med seboj zdruujemo, pri emer so lahko pri
razlinih dimenzijah enaki pomeni tabel dejstev. Relacije, ki nastopajo med tabelo dejstev
in dimenzijskimi tabelami, so ena proti mnogo (1:N).
Orodje OLAP temelji na vedimenzionalnem podatkovnem modelu, ki je naeloma
dimenzijski podatkovni model, sestavljen iz dimenzij in dejstev. Uporabniški pogled na
Analiza in primerjava OLAP- orodij UM FERI
23
vedimenzionalni podatkovni model je predstavljen s pomojo podatkovne kocke, ki
prikazuje podatke verazsenostno [16].
tehnologije OLAP in je osnovna podatkovna struktura v vedimenzionalnem sistemu
OLAP. Predstavlja mnoico podatkov, ki so shranjeni in prikazani na vedimenzionalen
nain. Kocko definira mnoica dimenzij in meritev. Dimenzije predstavljajo kategorijo, po
katerih analiziramo podatke, meritve pa predstavljajo vrednost ali velikost podatka, ki ga
analiziramo. Dimenzijski atributi so koordinate osi kocke. Kocka je v vedimenzionalnem
sistemu predstavljena s tabelo dejstev in nam omogoa raunanje agregatov glede na
kombinacijo atributov dimenzijskih tabel. Podatki so v podatkovni kocki OLAP grupirani
v posamezne skupine, ki so razdeljene v hierarhine ravni. Posamezne hierarhije vsebuje
eno ali ve ravni oz. nivojev, po katerih izvajamo operacije OLAP. Primer podatkovne
kocke lahko vidimo na naslednji Sliki 3.2 [18]:
Slika 3.2: Podatkovna kocka OLAP [5]; [36]
UM FERI Analiza in primerjava OLAP- orodij
24
Kot je razvidno iz slike, so v primeru predstavljene tri dimenzije s hierarhijami. Hierarhije
proizvodov in lokacij vsebujejo tri nivojske ravni (Vsi skupaj > Drava > Kraj), asovna
dimenzija pa vsebuje osnovno raven meseci. Simbol "+" oznauje monost razširjanja
hierarhij po ravneh v odvisnosti od zdruevanja meritev (operacij OLAP).
Naslednje komponente dimenzijskega modela predstavljajo osnovne koncepte, ki jih bomo
uporabili pri modeliranju sheme podatkovne kocke OLAP v sklopu posameznega
proizvajalca orodij OLAP. Pri emer pa proizvajalci ponujajo zanje razlino podporo.
Tabela dejstev
Osrednja tabela dimenzijskega modela je tabela dejstev (angl. fact table), ki vsebuje
merljive podatke o rezultatih poslovanja v obliki meritev (angl. measures), ki se s asom
spreminjajo. Osnovna enota tabele dejstev je zrno, ki nam doloa stopnjo podrobnosti
atributov pri izvajanju analiz. Najbolj uporabna so numerina aditivna dejstva, saj
uporabniki pogosto poizvedujejo po velikem številu zapisov iz tabele dejstev, ki jih elijo
grupirati po doloenih dimenzijah in sumirati po dejstvih.
Dejstva se torej delijo na [38]:
Aditivna: so numerina, ki se lahko seštevajo skozi vse dimenzije.
Poladitivna: seštevajo se lahko samo po nekaterih dimenzijah.
Neaditivna: se ne morejo seštevati po dimenzijah, ampak lahko samo preštevamo
zapise.
Tabela dejstev predstavlja veinski dele zapisov v dimenzijskem modelu in ima preteno
zelo malo atributov oz. stolpcev ter ogromno koliino vrstic. Zraven merljivih atributov
vsebuje tabela dejstev tudi tuje kljue, prek katerih je povezana s primarnimi kljui
dimenzijskih tabel in na tak nain zagotavljajo referenno integriteto. Tabela dejstev
naeloma ne vsebuje posebej primarnega kljua, saj je le ta sestavljen iz podmnoice tujih
kljuev. V tabelo dejstev praviloma ne zapisujemo zapisov brez vrednosti, ampak le
zapise, ki predstavljajo dejstva oz. aktivnosti, saj bi v nasprotnem primeru še bolj
obremenili delovanje sistema [5]; [18].
Analiza in primerjava OLAP- orodij UM FERI
25
podjetja. Vsebujejo veliko število atributov oz. stolpcev in relativno malo število vrstic v
primerjavi s tabelo dejstev. Dimenzijske tabele so sestavljene iz primarnega kljua in
preostalih atributov. Atributi v dimenzijski tabelah so v veini primerov opisni, kar
pomeni, da so znakovnih podatkovnih tipov. Primarni klju nam slui kot osnova za
referenno integriteto s katero koli tabelo dejstev, s katero je povezana. Atributi dimenzije
sluijo kot primarni vir omejitev v poizvedbah in kot elne vrstice v poroilih. Dimenzijski
model v veini primerov vsebuje denormalizirane dimenzijske tabele. Izjema predstavlja t.
i. sneinkasta shema dimenzijskega modela, kjer so nekatere dimenzijske tabele delno
normalizirane, pri emer se zmanjša redundantnost podatkov, zaradi esar se sneinkastim
shemam izogibamo. Pri dimenzijah lahko prihaja tudi do teav z zasledovanjem zgodovine
zaradi vnosa vrednosti, ki se s asom spreminjajo.
Teavo lahko rešimo z naslednjimi postopki:
Nova vrednost prepiše staro vrednost.
V dimenzijski tabeli hranimo staro in novo vrednost.
Novo spremembo dodamo v dimenzijsko tabelo z novo vrednostjo atributov.
Pri modeliranju OLAP poznamo dve vrsti dimenzij [5]; [18]:
Privatna dimenzija: dimenzija, ki se uporablja samo znotraj ene kocke in je ne
moremo deliti z ostalimi.
Deljene dimenzije: dimenzije, ki si jih lahko kocke med seboj delijo, tipien primer
je asovna dimenzija.
Nazornejše bomo omenjeni vrsti dimenzij predstavili v sklopu uporabe tehnologije OLAP,
kjer bomo pri posameznem proizvajalcu predstavili nain dela definiranja le-teh.
Hierarhije dimenzij
atributov. Nekatere pomembnejše atribute lahko razporedimo v eno ali ve hierarhij (angl.
UM FERI Analiza in primerjava OLAP- orodij
26
hierarchies). Posamezni atributi oz. v tem primeru kar elementi so znotraj dimenzije
urejeni hierarhino, pri emer je najnije v posamezni hierarhiji najbolj granuliran podatek
in hierarhino najvišje najbolj grupiran podatek. V splošnem to pomeni, da so v posamezni
hierarhiji podatki razvršeni od najvišjega oz. najbolj splošnega pa do najnijega oz.
najbolj podrobnega. Nadrejeni elementi so vedno seštevki vseh njemu podrejenih
elementov. Znotraj hierarhij se entitete leee na višjem nivoju sesedajo v entitete leee
na nijem nivoju oz. nasprotno, entitete leee na višjem nivoju zdruimo z entitetami na
nijem nivoju. Temu postopku reemo tudi sesedanje hierarhije, s imer doseemo
denormalizacijo podatkov. Nivoji v hierarhijah so praviloma med seboj povezani z relacijo
ena proti mnogo, eprav nekateri proizvajalci orodij dopušajo tudi relacije mnogo proti
mnogo oz. venivojske lane (angl. multiple levels). Kar pomeni, da posamezen podrejen
nivo lahko vsebuje le eden nadrejen nivo (starš – otrok oz. angl. parent – child), v
nasprotnem imamo lahko kasneje teave pri sesedanju hierarhij. Maksimalna hierarhija je
takšna, ki je ne moremo razširiti navzgor ali navzdol z vstavljanjem novih entitet. Entiteta
na dnu maksimalne hierarhije je minimalna entiteta. Minimalne entitete ne vsebujejo
relacij ena proti mnogo, medtem pa maksimalne entitete ne vsebujejo relacij mnogo proti
ena. Praviloma so hierarhije zgrajene iz ve nivojev, ki omogoajo sesedanje, lahko pa so
izjema.
lahko razširjamo in zdruujemo.
nivojev.
Veina hierarhij je nivojsko orientiranih, pri emer vsebujejo lane, orientirane po nivojih,
vendar pa med temi obstajajo tudi t. i. "raztrgane" hierarhije (angl. ragged hierarchies), ki
vsebujejo nivo lana, kjer se vozliši listov nahajajo na razlinih ravneh v hierarhiji.
Najsplošnejša oblika hierarhij je simetrina, kjer se vsi listi nivojev zakljuijo na enakih
ravneh in imajo vsi nivoji enako število podnivojev. Tipe hierarhij lahko med seboj tudi
kombiniramo. Dimenzije lahko vsebujejo tudi ve hierarhij hkrati, to so t. i. vehierahine
dimenzije (angl. multiple hierarchies). Primer take tipine dimenzije je predstavljen na
Analiza in primerjava OLAP- orodij UM FERI
27
naslednji Sliki 3.3. Kot je razvidno iz slike, imamo definirani dve hierarhiji, ki skupaj
predstavljata asovno dimenzijo obdobje. Razlog za to tii v tem, ker na primer nivo dan,
lahko obsega dva meseca, etrtletja in tako naprej po hierarhiji navzgor in v tem primeru
tedna ni mogoe hierarhino razvrstiti v nivo pod mesecem, saj z vidika uporabnosti ne bi
bilo praktino kasneje pri izvajanju analiz [14]; [5].
Slika 3.3: Vehierarhina asovna dimenzija [5]
Pri praktini uporabi orodij OLAP se bomo osredotoili predvsem na nivojsko orientirane
hierarhije, ki predstavljajo bistvo analitinih sistemov. Kreiranje hierarhij predstavlja eno
pomembnejših podroij in se med predstavniki primerjajoih proizvajalcev orodij OLAP
razlino definirajo, nekateri omogoajo venivojske in ravninske hierarhije, nekateri pa ne.
lani dimenzij
lani dimenzij so gradniki hierarhij in dimenzij, pri emer velja, da ima vsak lan
dimenzije unikatno ime. Posamezen lan se lahko nahaja v razlinih hierarhijah, vendar
lahko znotraj posamezne dimenzije nastopa le enkrat. lani dimenzij se znotraj hierarhij
praviloma nahajajo v relaciji ena proti mnogo (1:N) [5].
UM FERI Analiza in primerjava OLAP- orodij
28
3.2.2 Shema podatkovne kocke
Shema podatkovne kocke je mnoica povezanih tabel v podatkovnem skladišu, od koder
kocka rpa vir podatkov. Vsaka shema kocke je sestavljena iz tabele dejstev in iz ene ali
ve dimenzijskih tabel, ki so med seboj povezane z relacijami.
Poznamo ve oblik shem vedimenzionalnega modela [6]:
ploska shema (angl. flat schema),
terasasta shema (angl. terraced schema),
zvezdna shema (angl. star schema),
sneinkasta shema (angl. snow flake schema),
zvezdna grozdna shema (angl. star cluster schema),
sozvezdna shema (angl. constellation schema),
galaktina shema (angl. galaxy schema).
Ploska shema
Je najenostavnejša shema, kar jih obstaja, in je sestavljena tako, da zdruuje vse entitete
podatkovnega modela v minimalno število hierarhij, pri emer vsebuje enormno število
atributov, zaradi esar se poslabša odzivnost sistema. Shema ne izgublja informacij od
prvotnega modela, omogoa redundantnost podatkov, vendar ne omogoa agregacij.
Terasasta shema
Sestavljena je iz sesedanja entitet po hierarhiji do transakcijske entitete, pri emer za vsako
transakcijsko tabelo naredi novo tabelo.
Zvezdna shema
Zgrajena je v obliki zvezde, kjer se v sredini nahaja tabela dejstev, okrog nje pa so
dimenzijske tabele. Med seboj so tabela dejstev in dimenzijske tabele povezane z relacijo
ena proti mnogo (1:N). Dimenzijske tabele med seboj ne vsebujejo relacij. Posamezna
Analiza in primerjava OLAP- orodij UM FERI
29
dimenzijska tabela vsebuje primarni klju in opisne atribute. Tabela dejstev pa vsebuje tuje
kljue vseh dimenzijskih tabel. Primarni klju tabele dejstev je sestavljen iz tujih kljuev
dimenzijskih tabel (nadomestni klju). Na podlagi poslovnega procesa se doloi dejstva in
granulacijo zrna, ki predstavljajo mere sheme. Dimenzijske tabele vsebujejo
denormalizirane podatke, kar omogoa hitro poizvedovanje nad velikim številom
podatkov. Omogoeno je pregledovanje meritev iz razlinih perspektiv [18]. Zvezdna
shema je predstavljena na naslednji Sliki 3.4:
Slika 3.4: Zvezdna shema kocke
Sneinkasta shema
Model sneinkaste sheme (Slika 3.5) je izpeljan iz zvezdne sheme. Dimenzijske tabele, za
razliko od zvezdne sheme, vsebujejo normalizirane podatke, kar doseemo z dodatno
tabelo, ter na tak nain prepreimo redundanco oz. podvajanje atributov. Tako prihranimo
prostor za shranjevanje podatkov, vendar izgubimo efektivnost in zmanjšamo odzivnost
sistema, saj so poizvedbe kompleksnejše [18].
Normalizacija v sneinkasti shemi prinaša kar nekaj slabosti [32]:
Normalizacija pripomore h kompleksnejšemu podatkovnemu modelu.
Delovanje je lahko poasnejše zaradi velike vsebnosti povezav med tabelami.
UM FERI Analiza in primerjava OLAP- orodij
30
Prihrani se prostor za shranjevanje podatkov, ki pa je minimalen.
Uporaba bitnih indeksov ni izvedljiva.
Pojavljajo se teave pri zdruevanju in pridobivanju velikih koliin podatkov.
Slika 3.5: Sneinkasta shema kocke
Zvezdna grozdna shema
Sestavljena je iz enostavne zvezdne sheme, ki ohranja konsistentnost med dimenzijami.
Omogoa zdruevanje entitet podatkovnega modela v minimalno število dimenzij, ki
prepreuje prekrivanje med dimenzijami.
Sozvezdna shema
Sestavljena je iz ve zvezdnih shem s hierarhino povezano tabelo dejstev, kar ji omogoa
izvajanje operacij "vrtanja v globino" po hierarhinih ravneh.
Galaktina shema
Sestavljena je iz ve zvezdnih shem, ki tvorijo t. i. ozvezdje, in imajo skupne dimenzije.
Analiza in primerjava OLAP- orodij UM FERI
31
3.3 Izvajanje meritev
Meritev je lastnost, s katero merimo delovanje poslovnega procesa in izrazimo poslovne
informacije. Veino meritev shranjujemo v podatkovnih skladiših, in ker poizvedovanje
po skladiših vraa ogromne koliine zapisov, jih med seboj seštevamo in zdruujemo, kot
bomo lahko podrobneje videli v praktinem delu diplomskega dela [5].
Meritev je v podatkovni kocki mnoica vrednosti, ki temelji na stolpcu v tabeli dejstev
kocke in je najpogosteje numerina. Vrednosti za posamezno meritev vsebuje celica kocke,
ki predstavlja najosnovnejše elemente kocke. Za posamezno meritev je podana funkcija
agregacije, ki doloa, na kakšen nain so vrednosti iz nijih nivojev zdruene na višjem
nivoju. Agregacije so v naprej izraunane in shranjene vrednosti podatkov za doloen nivo
v hierarhiji, ki izboljšujejo odzivne ase poizvedb. Posamezna kocka lahko vsebuje ve
razlinih meritev. Merljiva dejstva so tista, ki se s asom spreminjajo. Najuinkovitejše so
aditivne meritve, ki imajo zelo mone analitine sposobnosti [18].
Mere oz. agregate v splošnem razdelimo na tri osnovne kategorije [16]:
Distributivne mere: minimalna, maksimalna vrednost, število elementov, vsota ipd.
Algebraine mere: sestavljene iz ve distributivnih agregatov, kot so razpon (rang),
povpreje, varianca, geometrijska sredina ipd.
Holistine mere: so tiste, ki jih lahko izraunamo le na celotnem naboru podatkov,
kot so mediana, percentili, kvartili ipd.
Obstajajo pa tudi izraunljive mere, ki so neodvisne od podatkovnih skladiš in temeljijo
na agregatih. Pri emer izrauni temeljijo na MDX povpraševalnem jeziku.
3.3.1 Agregacije
Agregacije so v naprej izraunani in shranjeni podatki, ki omogoajo krajši odzivni as,
potreben pri izvajanju poizvedb [19]. Kar pomeni, da so odgovori na nekatera vprašanja
poznani, še preden uporabnik doloi parametre, ki jih eli analizirati. Agregacije nam
omogoajo, da za vsako poizvedbo ni potrebna obdelava celotne tabele dejstev. Agregate
UM FERI Analiza in primerjava OLAP- orodij
32
shranjevanje le-teh mono povea prostorske zahteve.
Podobno kot pri osnovni shemi dimenzijskega modela poznamo tudi agregacijsko shemo,
ki povzema tabele dejstev in dimenzij iz osnovne sheme podatkovnega skladiša. Bistvena
razlika med osnovno in agregirano shemo je v zrnu, ki doloa nivo podrobnosti,
predstavljen s posamezno vrstico tabele. Agregacijska shema je model zvezdne sheme, ki
jo sestavljajo agregacijska tabela dejstev in agregacijske dimenzijske tabele. Agregacijska
shema mora zagotavljati enake rezultate, dejstva, dimenzijske atribute, kot jih zagotavlja
osnovna shema. Agregacijske tabele se uporabljajo za zmanjšanje števila vrstic, do katerih
mora dostopati sistem za upravljanje podatkovne baze oz. krajše SUPB, e eli odgovoriti
na doloeno poizvedbo. Prav tako pa tudi izboljšujejo uinkovitost podatkovnega
skladiša. Predzdrueni agregati shranjujejo rezultate v eno samo tabelo (zdruevanje
doloenih atributov iz dimenzijskih tabel in dejstev iz tabele dejstev v novo tabelo), kar
omogoa odpravo potrebe, da SUPB ob izvajanju poizvedb na njihovi osnovi zagotovi
ustrezne povezave med tabelami. Dejstva agregatov morajo biti za vsak nivo agregacije
shranjena v loenih tabelah, ki so lahko loene agregacijske tabele dejstev ali loene tabele
predzdruenih agregatov.
Agregacijska tabela dejstev povzema informacije osnovne tabele dejstev, vendar v obliki
bolj grobega zrna, saj veina poizvedb ne zahteva prikaza najpodrobnejših meritev.
Omogoajo predzdruevanje podatkov, posledica tega pa je poveanje uinkovitosti
poizvedb, saj se število vrstic s podatki, do katerih morajo dostopati, zmanjša. Zaradi
spreminjanja zrna odpadejo tudi tuji kljui doloenih dimenzij. V agregacijsko tabelo
dejstev se shranjujejo samo vrstice s podatki, ki ne vsebujejo podatkov, zahtevanih s strani
vzorne poizvedbe. Podatki pri tem naj ne presegajo tiso vrstic, saj branje podatkov iz
diska predstavlja za SUPB asovno najbolj zahtevno opravilo.
Analiza in primerjava OLAP- orodij UM FERI
33
Agregacijske dimenzijske tabele vsebujejo podobno kot osnovne ogromno število
dimenzijskih atributov, kar je ugodno za podrobnejše izvajanje analiz. Agregacijska
dimenzijska tabela predstavlja delni povzetek dimenzijske tabele osnovne sheme, kar
pomeni, da bolj ko vsebuje povzete podatke, tem manj poizvedb lahko zadovolji, vendar pa
tem bolj pospeši njihovo izvajanje.
Pri modeliranju agregacijskih dimenzij je treba upoštevati:
Dejstva in dimenzijski atributi znotraj agregacijske in osnovne sheme morajo imeti
enaka imena.
Imena in podatkovni tipi atributov agregacijskih in osnovnih dimenzijskih tabel
morajo biti enaka.
Ve razlinih agregatov si lahko deli iste agregacijske dimenzijske tabele.
Dejstva agregatov morajo biti za vsak nivo agregacije shranjena v loenih tabelah,
ki so lahko loene agregacijske tabele dejstev ali loene tabele predzdruenih
agregatov.
3.4 Operacije znotraj orodij OLAP
Za delo z orodji OLAP ne potrebujemo kompleksnega predznanja, saj je izvajanje operacij
precej intuitivno. Operacije OLAP nam sluijo predvsem za ugotavljanje uspešnosti
poslovanja, primerjavo razlinih obdobij, trendov poslovanja ter rednemu nadzoru in
kontroli podatkov. Proizvajalci orodij OLAP nudijo razlino podporo operacijam, v osnovi
pa podpirajo predvsem naslednje predstavljene tipe operacij.
Osnovne operacije OLAP, ki jih podpira veina orodij [35]; [19]; [10]:
vrtanje v globino (angl. drill down),
zvijanje navzgor (angl. drill up ali roll up),
rezanje (angl. slice and dice),
UM FERI Analiza in primerjava OLAP- orodij
34
primerjanje, izrauni, agregiranje (angl. comparing, calculating, aggregating).
Zraven osnovnih obstajajo še:
filtriranje (angl. filtering).
Vrtanje v globino in zvijanje navzgor
To sta operaciji, ki nam omogoata premikanje pogleda navzdol in navzgor po hierarhinih
nivojih posamezne dimenzije. Z operacijo vrtanja v globino se lahko premikamo po nivojih
globlje v podrobnosti. Z operacijo zvijanja navzgor pa zmanjšujemo podrobnost pogleda
na podatke glede na povzete oz. sumirane nivoje hierarhij. Primer lahko vidimo na
naslednji Sliki 3.6.
Slika 3.6: Operacija OLAP vrtanja v globino in zvijanja navzgor [35]
Analiza in primerjava OLAP- orodij UM FERI
35
Rezanje
Je ena od uporabnejših operacij, kadar imamo opravka z ve dimenzijami, ki jih elimo na
nekem mestu prerezati. Pri operaciji "rezanje" (Slika 3.7) izvedemo dvodimenzionalen
prerez za izbran nabor dimenzijskih vrednosti, pri katerem se omejimo le na posamezen
segment oz. rezino znotraj dimenzije. Pri operaciji "sekanje" (Slika 3.7) pa govorimo,
kadar gre za podkocko z izbiro dveh dimenzij za razliko od operacije "slice", kjer podatke
prereemo samo po eni dimenziji.
Slika 3.7: Operacija OLAP rezanja [35]
Vrtenje
Je operacija, ki nam samo oblikovno spremeni videz poroila, podatki pa pri tem ostanejo
enaki. Torej zamenjajo se samo stolpci in vrstice med sabo oz. si lahko vizualno
predstavljamo kot zamenjavo koordinatnih osi med seboj, kot prikazuje Slika 3.8.
UM FERI Analiza in primerjava OLAP- orodij
36
Vrtanje skozi
Je ena od nekoliko kompleksnejših operacij, ki se uporablja za prikaz zelo podrobnih
podatkov, kjer izberemo posamezno celico kocke in pridobimo nabor izvornih podatkov, ki
so bili uporabljeni v postopku izrauna vrednosti izbrane celice, kot prikazuje Slika 3.9.
Slika 3.9: Operacija OLAP vrtanja skozi [35]
Analiza in primerjava OLAP- orodij UM FERI
37
Vrtanje ez
Se uporablja za navigacijo med izhodišno in ciljno kocko z uporabo enakih koordinat, pri
emer morajo biti dimenzijske tabele v izhodišni in ciljni kocki enake. Primer prikazuje
Slika 3.10.
Primerjanje, izrauni in agregiranje
analizah, kadar elimo sproti prikazati im ve informativnih in izpeljanih podatkov. V
veini primerov ni treba izvajati izraunov med samim pridobivanjem podatkov, saj to
lahko naredimo z izrauni nad e pridobljenimi podatki.
Gnezdenje
UM FERI Analiza in primerjava OLAP- orodij
38
Zapiši nazaj
Omogoa izvajanje operacij na podlagi MDX povpraševalnega jezika, ki temelji na SQL
poizvedbah, pri emer lahko izvajamo analize "kaj e".
Filtriranje
Omogoa doloanje kriterijev, po katerih se prikazujejo podatki. Recimo lahko prikaemo
podatke le za doloeno obdobje ipd.
3.5 Tehnike shranjevanja podatkov OLAP
Podatki se v podatkovno kocko shranjujejo na ve razlinih nainov. V veini primerov se
uporabljajo naslednji trije naini, na katerih temeljijo tudi primerjajoi predstavniki orodij
OLAP, ki jih bomo podrobneje analizirali v naslednjem sklopu uporabe tehnologije OLAP.
Osnovne tehnike shranjevanja podatkov so [34]; [19]:
MOLAP oz. vedimenzionalni OLAP (angl. Multidimensional OLAP),
ROLAP oz. relacijski OLAP (angl. Relational OLAP),
HOLAP oz. hibridni OLAP (angl. Hybrid OLAP).
Zraven osnovnih obstajajo še nekatere manj obiajne metode [34]; [29]:
WOLAP oz. spletni OLAP (angl. Web OLAP),
DOLAP oz. namizni OLAP (angl. Desktop OLAP),
RTOLAP oz. realno asovni OLAP (angl. Real-Time OLAP).
Posamezna izbira vpliva predvsem na naslednje zmonosti OLAP orodij:
odzivni as poizvedb,
prostorske zahteve na disku.
39
Pri izgradnji podatkovne kocke OLAP se najprej zajamejo podatki iz podatkovnega
skladiša, nakar se v naslednjem koraku na podlagi definirane strukture v naprej izraunajo
agregati.
MOLAP podatki so shranjeni v vedimenzionalni podatkovni bazi, ki temelji na strukturi
vedimenzionalnih polj, posebej prirejenih za izvajanje analiz OLAP. Podatki in agregacije
se v fazi nalaganja prepišejo v za to namenjene vedimenzionalne strukture
(vedimenzionalno podatkovno bazo). Poizvedbe so konstantno hitre zaradi velike stopnje
predhodno agregiranih podatkov, medtem pa je auriranje baze nekoliko poasnejše zaradi
potrebe po ponovnem preraunavanju agregatov. Ena od prednosti sistema OLAP je tudi
ta, da ob pregledovanju podatkov ne potrebujemo direktne povezave z virom podatkov, kar
omogoa ustvarjanje lokalnih kock.
ROLAP podatke rpa neposredno iz relacijske podatkovne baze, v ozadju analiz pa se
nahaja SQL poizvedovalni jezik, ki v osnovi ni namenjen izvajanju tipinih operacij
OLAP. Podatki se lahko hranijo v zgrajeni transakcijski podatkovni bazi, zato odpade
potreba po posebni podatkovni bazi in zapletenem prenosu podatkov. Orodja
ROLAPrabijo za svoje uspešno delovanje zelo dobro strojno opremo, saj navidezna
gradnja verazsenostnega modela in nenehno spreminjanje zahteva veliko procesorsko
mo, kar se lahko pozna v odzivnih asih pri poizvedovanju. Prednost modela se kae v
veliki koliini podatkov z visoko kardinalnostjo, ki jih lahko obdela v relativno kratkem
asu, vendar je le ta dokaj minimalna v primerjavi z ostalimi slabostmi uporabe.
HOLAP omogoa analizo podatkov iz ve razsenostne in relacijske podatkovne baze.
Model HOLAP je kombinacija med modeli MOLAP in ROLAP, iz katerih so povzete
najboljše lastnosti. Model omogoa uporabnikom izbiro, kateri podatki bodo shranjeni v
sistemu ROLAP in kateri v MOLAP. HOLAP pri vertikalnem particioniranju upravlja
podatke kot ROLAP in agregacije kot MOLAP, pri pregledovanju agregatov pa omogoa
hitro poizvedovanje, pri emer prihrani as osveevanja kock in prostor. Pri horizontalnem
particioniranju pa nekatere novejše prereze podatkov shranjuje v strukturi MOLAP,
medtem pa starejše v strukturi ROLAP, kar povea zmogljivost poizvedb.
UM FERI Analiza in primerjava OLAP- orodij
40
DOLAP je namizno orodje OLAP, kjer se podatki prenesejo s strenika na delovno
postajo, kjer se izvaja analiza. Primeren je za manj obsena podatkovna skladiša in manj
zahtevne analize.
baze prek interneta z uporabo standardnih spletnih brskalnikov.
RTOLAP je model, ki shranjuje vse podatke v hitrem pomnilniku (RAM), vendar pa je pri
tem mono odvisen od njegove razpololjive kapacitete.
Analiza in primerjava OLAP- orodij UM FERI
41
4 PRIMERJAVA IN ANALIZA ORODIJ OLAP
Preden smo lahko prieli z izvajanjem analiz s pomojo analitinih orodij OLAP, smo si
najprej izdelali testna podatkovna skladiša. Kar pomeni, da smo le ta napolnili z
nakljunimi simbolinimi podatki, ki so nam sluili za prikaz uporabe orodij OLAP
razlinih proizvajalcev ter kasneje kot posledina primerjava med njimi, a zaradi doloenih
omejitev al ne kot dejanski rezultati realnega poslovanja. Vsebina informacij in sporoilo,
ki jih nosijo podatki, nas v tem primeru ne zanimajo v tolikšni meri, kot bi nas v okviru
poslovanja na realnih podatkih.
Podatkovna skladiša smo realizirali za analitina orodja glede na njihove proizvajalce oz.
glede na najboljšo mono zdruljivost orodij OLAP s podatkovno bazo, saj lahko le na tak
nain v polni meri zagotovimo in izkoristimo njihove zmonosti, nabor funkcij, nazor
predstavljenih podatkov in kakovost le-teh.
V okviru diplomske naloge smo primerjali naslednja orodja OLAP:
a) Microsoft SQL Server Analysis Services, ver. 2012 (SSAS),
b) Oracle OLAP option, ver. 11.2,
c) Pentaho Analysis Services, ver. 3.4 (Mondrian).
Uporabili smo analitina orodja novejših razliic zaradi realnejše primerjave med njimi.
Nekatere med njimi so povsem odvisne od tehnološkega napredka podatkovne baze, saj so
kot jedro integrirane znotraj podatkovne baze, zaradi esar smo primerjave izvajali na
novejših razliicah podatkovnih baz.
a) Microsoft SQL Server 2012,
b) Oracle Database 11g Release 2,
c) MySQL Database 5.5.
Uporabljena analitina orodja sta v prvih dveh primerih istega proizvajalca kot podatkovni
bazi, medtem pa je v tretjem primeru proizvajalec baze in analitinih orodij razlien. V
UM FERI Analiza in primerjava OLAP- orodij
42
prvih dveh primerih so torej orodja OLAP delno integrirana oz. jih imamo monost
namestiti skupaj v paketu ob namešanju posamezne podatkovne baze, medtem pa so
orodja proizvajalca Pentaho neodvisna od uporabljene podatkovne baze in temeljijo na
osnovi tehnologije Java.
4.1 Analiza zahtev in nartovanje dimenzijskega modela
Za primerjavo in izvajanje analiz med proizvajalci orodij OLAP smo si zamislili preprost
primer podatkovnega skladiša, ki nam bo nudilo vse potrebne informacije v zvezi z
uspešnostjo spletne prodaje proizvodov. Zamislili smo si primer, kjer nas kot analitiki
spletnih trgovskih centrov zanimajo uspešnost posameznega trgovskega centra glede na
preteklo asovno obdobje. Iz primera je mogoe ugotoviti, kateri kupci najve nakupujejo
glede na to, od kot prihajajo in katere proizvode najve kupujejo v odvisnosti od danega
trgovskega centra in njegove krajevne pripadnosti.
Pri izvedbi dimenzijskega modela smo se odloili za shemo v obliki zvezde, ki je
sestavljena iz tabele dejstev in iz ve dimenzijskih tabel, pri emer so dimenzijske tabele s
tabelo dejstev povezane z relacijo ena proti mnogo (1:M). Dimenzijski model smo
nartovali v programskem orodju DBDesigner 4, ki nam omogoa nabor gradnikov,
potrebnih za izvedbo. Dimenzijski model je mogoe iz orodja prenesti v podatkovno bazo
na ve nainov. To lahko storimo z direktno sinhronizacijo med podatkovno bazo in
orodjem DBDesigner ali pa kar s pomojo izvoza SQL skripte, ki jo nato lahko rono
prilagodimo in popravimo v primeru razlinih podatkovnih tipov ipd. teav. Nainov je
sicer še ve, vendar pa smo se posluevali predvsem omenjenih dveh. Dimenzijski model
je predstavljen na naslednji Sliki 4.1.
Analiza in primerjava OLAP- orodij UM FERI
43
Dimenzijski model je sestavljen iz naslednjih štirih dimenzijskih tabel:
Obdobje (kdaj se proda najve proizvodov in jih je smiselno imeti ve na zalogi
ipd.).
Trgovina (v kateri trgovini se proda najve proizvodov, kaj vpliva na to ipd.).
Kupec (kateri kupci najve nakupujejo, od kot prihajajo ipd.).
Proizvod (kateri proizvod/kategorija se najbolje prodaja, kaj vpliva na to ipd.).
Osrednja je tabela dejstev "Prodaja", ki vsebuje naslednje izraunljive atribute:
Koliina (število proizvodov, ki so bili zabeleeni v prodaji).
Znesek (vsota z DDV in popustom glede na prodano koliino proizvoda).
Skupni popust (skupni popust pri znesku na prodano koliino).
UM FERI Analiza in primerjava OLAP- orodij
44
Skupni DDV (skupni DDV pri znesku na prodano koliino).
Dimenzijske tabele jasno opisujejo poslovni proces prodaje proizvodov razlinih kategorij
in so sestavljene predvsem iz opisnih atributov, medtem pa je tabela dejstev sestavljena iz
merilnih podatkov.
V predhodnem poglavju smo s pomojo programskega orodja DBDesigner izdelali
dimenzijski model. Orodje nam dimenzijski model prenese oz. pretvori v obliko
razumljivo za posamezno podatkovno bazo, kar je sicer odvisno od zdruljivosti orodja z
doloeno podatkovno bazo, sicer je potrebno napake odpraviti rono. Ko smo kreirali
tabele v podatkovnih bazah, je naslednji korak polnjenje le-teh. Preden lahko podatkovne
baze napolnimo s testnimi podatki, jih je treba na nek nain pridobiti. Praviloma je zadan
korak v primeru realnega poslovnega procesa samoumeven in je v veliki meri realiziran s
pomojo izvedbe ETL procesov, ki nam omogoajo, da podatke pridobimo iz razlinih
podatkovnih virov, katere nato v fazi transformacije preistimo in preoblikujemo v
primerno obliko ter jih nato prenesemo v podatkovno skladiše.
Ker pa to v tem primeru ni bilo mono, smo to storili s pomojo spisanih procedur, s
katerimi smo podatkovna skladiša napolnili izkljuno s testnimi podatki. Procedure za
polnjenje lahko kreiramo za vsako podatkovno bazo posebej ali pa to storimo samo za eno
in potem podatke med seboj prenesemo še v preostale.
4.2.1 Podatkovno skladiše v Microsoft SQL Server 2012
Podatkovna baza Microsoft SQL Server temelji na povpraševalnem jeziku T-SQL
(Transact-SQL), ki kot implementacija ANSI/ISO SQL uporablja dodatne sintakse v
nakopienih procedurah, in deluje na sintakso transakcijskega gonilnika [13].
Analiza in primerjava OLAP- orodij UM FERI
45
Za administracijo, konfiguriranje in upravljanje s podatkovno bazo smo se posluevali
orodja Microsoft SQL Managment Studio, ki vkljuuje tako grafina kot skriptna orodja, ki
nam olajšajo delo pri realizaciji podatkovnega skladiša. Orodje imamo monost namestiti
v paketu skupaj s podatkovno bazo. SQL Managment Studio vkljuuje popoln nabor
funkcij za delo s podatkovno bazo. Vkljuuje tudi monost dostopa do Analysis strenika,
kjer imamo nekaj osnovnih operacij za delo s podatkovno kocko OLAP, vendar so le ta
namenjena predvsem za osnovni pregled nad podatki, in ne kot primarno orodje za delo s
funkcionalnostmi OLAP. Orodje nam omogoa delo s SQL, MDX, DMX (Data Mining
Expressions) in XMLA (Extensible Markup Language for Analysis) poizvedovalnimi
jeziki. Poizvedbe in procedure smo v orodju proili s pomojo funkcije "New Query", kjer
se nam v osrednjem oknu orodja odpre obrazec, v katerega zapišemo eleno poizvedbo oz.
proceduro, ki jo elimo proiti nad podatkovno bazo. Posamezno proceduro nato proimo s
pomojo opcije "Execute".
Kot primer sintakse (programska koda 4.1), ki jo uporablja Microsoft SQL Server
podatkovna baza, si lahko ogledamo v naslednji proceduri za polnjenje asovne tabele
"obdobje":
Programska koda 4.1: MS SQL Server 2012: Primer procedure "Obdobje"
-- Procedura obdobje glede na zacetni in koncni termin.
CREATE PROCEDURE polniObdobje @FromDate DATE, @ToDate DATE
AS
BEGIN
SET LANGUAGE Slovenian
-- Za vsak datum, vkljucno z koncnim pridobimo celtni datum, dan v tednu, dan v mesecu, mesec v
-- letu,
-- cetrtletje in leto in vsako instanco shranimo v tabelo obdobje.
WHILE @FromDate <= @ToDate
Leto)
DAY(@FromDate) AS DanVmesecu,
YEAR(@FromDate) AS Leto
END
END
GO
46
Oracle podatkovna baza temelji na PL/SQL (Procedural Language/SQL) poizvedovalnem
jeziku, ki predstavlja razširitev jezika SQL. S pomojo jezika PL/SQL lahko v celoto
zdruimo ve SQL stavkov in na tak nain ustvarimo programske enote. Omogoa tudi
uporabo vejitev, zank ipd., ki jih SQL v osnovi ne pozna, zaradi esar je uporaben za
obsenejše in zahtevnejše upravljanje s podatki [37].
Oracle ponuja ogromno monih razširitev, v osnovi pa se za administracijo, konfiguriranje
in upravljanje s podatkovno bazo uporablja konzolsko orodje SQL Plus in spletni vmesnik.
Tudi sami smo se posluevali omenjenih orodij. Orodji skupaj podpirata veino operacij, ki
jih je mogoe vršiti nad podatkovno bazo. SQL Plus podobno kot Microsoft SQL
Management omogoa tudi dostop do funkcij OLAP, vendar pa je konzolsko delo precej
zahtevnejše v primerjavi z orodji z grafinim vmesnikom. Iz stališa administracije
podatkovne baze je treba osvojiti precej ve znanja v primerjavi s konkurenco. Kar se tie
varnosti in zašite, si je pred prietkom dela treba zagotoviti kar nekaj uporabniških pravic
za proenje posameznih operacij.
Procedure smo v konzoli SQL plus proili s pomojo ukaza "START
<pot_do_datoteke.sql>", pri emer smo si pred tem ustvarili uporabniške pravice za dostop
do podatkovne baze, kreiranje objektov, delovnega okolja OLAP ipd. Primer sintakse
procedur lahko vidimo v programski kodi 4.2, kjer smo morali zaradi potreb orodij OLAP
asovno proceduro prilagoditi tako, da se pri izvajanju analiz ne morejo podvajati
identifikatorji lanov znotraj posameznih hierarhij.
Programska koda 4.2: Oracle Database 11gR2: Primer procedure "Obdobje"
-- procedura obdobje glede na zacetni in koncni termin
PROCEDURE polniObdobje (zacetniDatum IN DATE, koncniDatum IN DATE) AS
......inicializacije.....
BEGIN
CelotniDatum := zacetniDatum;
-- Za vsak datum, vkljucno z koncnim pridobimo celtni datum, dan v tednu,
-- dan v mesecu, mesec v letu, cetrtletje in leto in vsako instanco shranimo v tabelo obdobje.
WHILE CelotniDatum < koncniDatum LOOP
47
BEGIN
-- omogoca le delo z nivoji stars-otrok.
Leto := lt;
-- Pridobimo zadnji navecji indeks v tabeli in naslednjega dodamo
-- na ta indeks, saj si idetifikatorji sledijo po velikosti.
SELECT NVL(MAX(idObdobje)+1,1) INTO idObdobje FROM Obdobje;
INSERT INTO Obdobje (idObdobje, DanVtednu, DanVmesecu, MesecVletu, Mesec,
Cetrtletje, Leto, CelotniDatum)
CelotniDatum);
CelotniDatum := CelotniDatum + 1;
idObdobje := idObdobje + 1;
MySQL je odprtokodna implementacija podatkovne baze, prav tako proizvajalca Oracle, in
temelji na poizvedovalnem jeziku SQL podobno kot Microsoft SQL Server. Deluje na
principu odjemalec-strenik, pri emer je lahko strenik namešen kot sistem, porazdeljen
na ve sistemov [33].
Podatkovna baza v osnovi ne vkljuuje podpore orodjem OLAP, ampak smo jo uporabili
kot najoptimalnejšo rešitev v povezavi z orodjem OLAP Pentaho Analysis Services,
kateremu je sluila kot loeno podatkovno skladiše. MySQL ponuja veliko število
odjemalcev, zbirk ukazov in programskih vmesnikov za dostop do podatkovne baze. V
paketu imamo monost namestitve orodja MySQL Workbench za administracijo,
konfiguriranje in upravljanje s podatkovno bazo. Orodje je sestavljeno iz precej
intuitivnega in uporabnega grafinega vmesnika, ki omogoa enostavno modeliranje
podatkov in upravljanje MySQL baze.
UM FERI Analiza in primerjava OLAP- orodij