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