Simon Ivanuša ANALIZA IN PRIMERJAVA OLAP-ORODIJ Diplomsko delo Maribor, avgust 2012
Simon Ivanuša
ANALIZA IN PRIMERJAVA OLAP-ORODIJ
Diplomsko delo
Maribor, avgust 2012
i
ANALIZA IN PRIMERJAVA OLAP-ORODIJ
Diplomsko delo
Študent: Simon Ivanuša
Študijski program: Visokošolski študijski program
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 Sevčnikar, univ. dipl. inž. rač. in inf.
Lektorica: Maja Antosiewicz Škraba, univ. dipl. slov.
ii
iii
ZAHVALA
Zahvaljujem se mentorju doc. dr. Marku Hölblu
in somentorju asist. Andreju Sevčnikarju za
usmerjanje in strokovno pomoč pri vodenju in
izdelavi diplomskega dela.
Posebna zahvala gre tudi mojim staršem, ki so
mi omogočili študij in mi vedno stali ob strani.
iv
Analiza in primerjava OLAP-orodij
Ključne besede: OLAP, podatkovna kocka, podatkovno skladišče, dimenzijsko
modeliranje, analiza, primerjava.
UDK: 004.6:656.1(043.2)
Povzetek
Diplomsko delo je namenjeno analizi in primerjavi proizvajalcev orodij OLAP, splošnemu
razumevanju in predstavitvi tehnologije sprotne analitične obdelave podatkov.
Predstavljeni so zametki razvoja podatkovnih skladišč in večdimenzionalnega
podatkovnega modela, prikazani so gradniki in elementi dimenzijskega modeliranja ter
funkcije, ki jih opravljajo in ponujajo.
V sklopu dela predstavljamo tudi analizo konkurenčnih proizvajalcev orodij OLAP.
Predstavljena je arhitektura posameznega proizvajalca orodij OLAP in analiza uporabe
posameznega orodja OLAP na testnem podatkovnem skladišču in v naprej načrtovanem
večdimenzionalnem podatkovnem modelu. Prikazani so ključni rezultati primerjav na
podlagi raziskav, analiz in ugotovitev.
v
Analysis and comparison of OLAP tools
Key words: OLAP, data cube, data warehouse, dimensional modelling, analysis,
comparison
UDK: 004.6:656.1(043.2)
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.
vi
KAZALO VSEBINE
1 UVOD ............................................................................................................................ 1
2 PODATKOVNO SKLADIŠČENJE ........................................................................... 3
2.1 OPREDELITEV POJMA PODATKOVNO SKLADIŠČE ...................................................... 4
2.2 OPREDELITEV POJMA PODROČNO 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
2.4.3 Polnjenje podatkovnega skladišča ..................................................................... 15
3 TEHNOLOGIJA SPROTNE ANALITIČNE OBDELAVE PODATKOV .......... 17
3.1 PRIMERJAVA Z OLTP SISTEMI................................................................................ 19
3.2 DIMENZIJSKO MODELIRANJE .................................................................................. 21
3.2.1 Večdimenzionalni podatkovni model oz. podatkovna kocka OLAP ................ 22
3.2.2 Shema podatkovne kocke .................................................................................. 28
3.3 IZVAJANJE MERITEV ............................................................................................... 31
3.3.1 Agregacije ......................................................................................................... 31
3.4 OPERACIJE ZNOTRAJ ORODIJ OLAP ....................................................................... 33
3.5 TEHNIKE SHRANJEVANJA PODATKOV OLAP .......................................................... 38
4 PRIMERJAVA IN ANALIZA ORODIJ OLAP ..................................................... 41
4.1 ANALIZA ZAHTEV IN NAČRTOVANJE 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 RAZLIČNIH DISTRIBUCIJ .............................. 48
vii
4.3.1 Arhitektura tehnologije Microsoft SQL Analaysis Services ............................. 49
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
7.1 VSEBINA ZGOŠČENKE........................................................................................... 101
7.2 NASLOV ŠTUDENTA.............................................................................................. 101
7.3 KRATEK ŽIVLJENJEPIS .......................................................................................... 101
viii
KAZALO SLIK
Slika 2.1: Centralizirana arhitektura podatkovnih skladišč [19] ........................................... 7
Slika 2.2: Distribuirana arhitektura podatkovnih skladišč [19] ............................................. 9
Slika 2.3: Federativna arhitektura podatkovnih skladišč [19] ............................................. 11
Slika 3.1: Porazdelitev med transakcijskimi in analitičnimi sistemi [8] ............................. 19
Slika 3.2: Podatkovna kocka OLAP [5]; [36] ..................................................................... 23
Slika 3.3: Večhierarhična časovna dimenzija [5] ................................................................ 27
Slika 3.4: Zvezdna shema kocke ......................................................................................... 29
Slika 3.5: Snežinkasta 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 večdimenzionalnega modela ............................................. 49
Slika 4.3: SSAS 2012 analitični model [12] ........................................................................ 50
Slika 4.4: SSAS arhitektura strežnik-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
KAZALO TABEL
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 strežnikov OLAP [31]; [24] ........................................... 82
Tabela 4.5: Podpora in intuitivnost uporabe funkcij v strežnikih OLAP [31] .................... 84
Tabela 4.6: Podpora tehnologij shranjevanja podatkov v strežnikih OLAP [31] ................ 87
Tabela 4.7: Podpora strežnikov OLAP, operacijam OLAP................................................. 88
Tabela 4.8: Podpora strežnikov OLAP, API in poizvedovalnim jezikom [31] ................... 90
Tabela 4.9: Podpora strežnikov OLAP, varnosti in zaščiti [31]; [25] ................................. 91
Tabela 4.10: Podpora strežnikov OLAP, operacijskim sistemom [31] ............................... 93
KAZALO GRAFOV
Graf 4.1: Primerjava funkcionalnosti OLAP strežnikov ..................................................... 86
x
UPORABLJENE KRATICE
OLAP – Online Analytical Processing
OLTP – Online Transaction Processing
DBMS – Database Management System
MIS – Management Information System
ER – Entity Relationship
ODS – Operational Data Store
ETL – Extract, Transform, Load
SQL – Structured Query Language
MDX – Multidimensional Expressions
ERP – Enterprise Resource Planning
CRM – Customer Relationship Management
SUPB – Sistem za Upravljanje s Podatkovno Bazo
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
ANSI – American National Standards Institute
ISO – International Organization for Standardization
DMX – Data Mining Expressions
XML – Extensible Markup Language
XMLA – Extensible Markup Language for Analysis
PL/SQL – Procedural Language / Structured Query Language
DAX – Data Analysis Expressions
OLE DB – Object Linking and Embedding Database
KPI – Key Performance Indicators
URL – Uniform Resource Locator
OLAP DML – Online Analytical Processing Data Manipulation Language
API – Application Programming Interface
AWM – Analytic Workspace Manager
AW – Analytic Workspace
RDBMS – Relational Database Management System
JDBC – Java Database Connectivity
JSP – Java Server Pages
CSV – Comma Separated Values
BI – Business Intelligence
JNDI – Java Naming and Directory Interface
EPL – Eclipse Public License
RAM – Random Access Memory
xii
CPU – Central Processing Unit
UDF – User Defined Functions
LINQ – Language Integrated Query
NTLM – NT LAN (Local Area Network) Manager
IWA – Integrated Windows Authentication
LDAP – Lightweight Directory Access Protocol
CAS – Code Access Security
AD – Active Directory
SSL – Secure Sockets Layer
SSPI – Security Support Provider Interface
AES – Advanced Encryption Standard
OS – Operating System
Analiza in primerjava OLAP- orodij UM FERI
1
1 UVOD
V današnjem času je zaradi vse večje konkurenčnosti med podjetji ključnega pomena
pravočasno in pravilno poslovno odločanje. Za dosežen 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 beleženih
transakcij v podatkovnih bazah postaja le ta ogromna in okorna ter obsega le podatke
omejenega časovnega obdobja. Vse te značilnosti pa onemogočajo, da bi poslovni analitik
opravljal analize v transakcijski podatkovni bazi.
Analize večinoma 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 analitično
obdelavo podatkov (OLAP, angl. On-line Analytical Processing), ki nam omogoča hiter in
zanesljiv vpogled v podatke iz različnih zornih kotov, ki nudi končnemu uporabniku
podporo pri analizi in odločanju. Za shranjevanje podatkov, namenjenih analizi, se
uporablja t. i. večrazsežnostna podatkovna baza (podatkovna skladišča).
Na področju tehnologije sprotne analitične obdelave podatkov imamo na trgu kar nekaj
proizvajalcev orodij OLAP, katerih namen je izdelava večdimenzionalnega podatkovnega
modela (podatkovne kocke) in predstava večrazsežnostnih 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 značilnostih,
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 preučiti
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 preučili in na podlagi le-tega
v odvisnosti od njegovih zmožnosti nazorno prikazali njegove funkcije, lastnosti
uporabljenih tehnologij in nazor prikaza večdimenzionalnih podatkov. Na podlagi
opravljenih analiz, ugotovitev in raziskav bomo posamezne funkcionalnosti in lastnosti
ovrednotili in podali ključne primerjave in razlike med njimi. Da pa bodo rezultati
natančnejši in bolj primerljivi, se bomo omejili predvsem na proizvode zadnjih izdanih
različic OLAP analitičnih orodij in podatkovnih baz.
Analiza in primerjava OLAP- orodij UM FERI
3
2 PODATKOVNO SKLADIŠČENJE
Začetek razvoja podatkovnih skladišč in sistemov za podporo odločanju sega v zgodnja
šestdeseta leta, kjer so bile razvite prve aplikacije za ustvarjanje raznoraznih poročil,
spisanih v zgodnjih programskih jezikih. Za shranjevanje podatkov so se takrat uporabljali
magnetni trakovi, ki so sicer omogočali shranjevanje dokaj velikih kapacitet podatkov,
vendar so imeli težave z dostopom do podatkov, saj je tehnologija magnetnih trakov
omogočala 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. Pričel 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 omogočili nov pogled na obdelavo podatkov.
Razvijati so se pričeli bančni sistemi, sistemi za nadzor proizvodnje in podobni, ki do tedaj
tehnološko še niso bili izvedljivi.
V osemdesetih letih so se razvili osebni računalniki in višje nivojski programski jeziki, ki
so omogočali neposredni dostop do podatkov tudi uporabnikom in ne le programju.
Pojavili so se tudi prvi informacijski sistemi MIS, ki so omogočali 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 ločene podatkovne baze,
med njimi ni prihajalo do motenj ob izvajanju analiz.
Pri prenosu podatkov iz operativnih sistemov je končni uporabnik tako dobil
nadzor nad podatki, ki so bili prej v domeni le-tega.
Na trgu so se v bližnji preteklosti pojavile štiri ključne tehnologije za izdelovanje sistemov
za podporo odločanju, 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 doživela velik razcvet v zadnjem desetletju,
še večji 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 množico podatkov. Podatki se v določenih č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 tekoče pregledovanje stanja
transakcij ali poslovanja, ampak za daljša pretekla časovna obdobja. V večini primerov se
podatki iz relacijskih podatkovnih baz prenašajo v večernih urah oz. takrat, kadar je za
poslovanje proces najmanj obremenljiv in upočasnljiv. S pomočjo tehnologij analitičnih
orodij lahko izvajamo na podatkovnih skladiščih najrazličnejše analize in poizvedbe nad
podatki, ne da bi pri tem ovirali trenutno delovanje sistema operativnih baz in s tem tekoče
poslovanje podjetja [9].
Glede natančnega izraza "podatkovno skladišče" je v preteklosti bilo že veliko različnih
mnenj. V večini primerov je izraz skladišče oznaka za računalniški sistem, namenjen
shranjevanju, pregledovanju in upravljanju velikih količin 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
odločitvah. Podatkovno skladišče torej sestoji iz podatkov, ki so primerno integrirani in
prečiščeni v enega od arhitekturnih tipov podatkovnih skladišč, ter s tem omogoča jedrnat
izpis informacij, ki jih je uporabnik zahteval v določenem trenutku.
Ker so podatki po navadi razpršeni na različnih sistemih, ki delujejo na različnih osnovah
in niso vedno povezljivi, se v ta namen uporabljajo podatkovna skladišča, ki na podlagi
prečiščenih in integriranih podatkov v procesu migracije omogoča tistim, ki odločajo 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 dosežemo šele z njihovo organizacijo. Podatkovno skladišče je kopija
preoblikovanih in prečiščenih podatkov iz ene ali več baz operativnih sistemov. Je torej
temelj za podporo odločanju, izvajanju analiz preteklega poslovanja ter napovedovanju
prihodnosti.
Štiri ključne lastnosti podatkovnih skladišč so:
integriranost -– podatkovna skladišča polnimo iz različnih virov podatkov;
zgodovina – v podatkovnem skladišču se hranijo podatki preteklih let;
statičnost – podatki v podatkovnem skladišču so namenjeni poizvedovanju;
področna usmerjenost – podatkovno skladišče hrani podatke o najpomembnejših
področjih 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 področno podatkovno skladišče
Področno podatkovno skladišče ali informacijska tržnica (ang. data mart) se glede na
predstavnike različnih arhitektur (Kimball in Inmon) različno definirajo. Več o sami
arhitekturi lahko izvemo v naslednjih poglavjih, v splošnem pa pojem področno skladišče
predstavlja skladišče zgodovinskih in v naprej preračunanih, sumiranih podatkov, zbranih
iz operativnih sistemov in drugih izvorov, ki služi določeni skupini uporabnikov tako, da
izpolnjuje zahteve glede prikazovanja, vsebine in načina uporabe podatkov. Uporabniki
pričakujejo, da bodo podatki predstavljeni na način, ki ga sami najbolj pričakujejo in
razumejo, pri čemer je poudarek na analizi uporabnikovih potreb [11].
V praksi se izraza področno skladišče in podatkovno skladišče večkrat "združujeta".
Vendar se večina avtorjev v osnovi strinja, da pri izdelavi področnega podatkovnega
skladišča načrtovalci izhajajo iz analize potreb uporabnikov, pri izdelavi podatkovnih
skladišč pa iz analize podatkov, ki že obstajajo, in načina, 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 fizično razdeljena in strateško usmerjena, medtem ko je področno
podatkovno skladišče baza podatkov, ki v večini primerov izhaja iz centraliziranih, in je
taktično usmerjena. Bill Inmon kot zagovornik pristopa "od zgoraj navzdol", kjer se
podatki iz ločenih področnih 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 področnih skladišč [7].
Za področno podatkovno skladišče se analitiki odločijo, kadar podatkovno skladišče
vsebuje enormne količine podatkov, ki v procesu organizacije predstavljajo oblikovne
težave, in je namenjena podpori v poslovnem odločanju. Področna podatkovna skladišča si
lahko predstavljamo kot podenote podatkovnih skladišč, ki po navadi obsegajo rezultat
dejavnosti enega poslovnega področja (prirejena za točno določen poslovni proces), ki
skupaj z vsemi preostalimi tvorijo celotni poslovni proces, pri čemer so področna
podatkovna skladišča področno neodvisna in zato tudi hitrejša. Prednost področnega
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 načrtovalce podatkovnih skladišč
je zelo pomembna pravilna odločitev pri izbiri arhitekture, saj le ta določa podatkovni
model, vlogo področnih 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
2.3.1 Centralizirana arhitektura ali pristop od zgoraj navzdol
William Inmon kot zagovornik centralizirane arhitekture (Slika 2.1) opisuje, da je središče
centralizirane arhitekture podatkovno skladišče zaključenega organiziranega sistema, ki
"hrani" področna skladišča, polni pa se iz operativnih podatkovnih baz ter operativnega
podatkovnega skladišča. V predstavljeni arhitekturi so področna skladišča odvisna
struktura, saj so podatki pridobljeni izključno 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 množico področnih skladišč, ki se polnijo izključno iz osrednjega. Osnovni
uporabljeni podatkovni model je ER model. Struktura podatkovnega skladišča je v večini
primerov normalizirana in v maloštevilčnih 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 izračunani podatki večkrat uporabljeni.
Kadar se gre za podatke, ki bodo pogosto uporabljeni skupaj.
Kadar je verjetnost dostopa do posameznih elementov pri uporabi različna in se
izvede ločitev 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 analitične 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 področno skladišče. Področno skladišče ne ločuje 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 značilnostih:
Podatkovno skladišče vsebuje veliko količino zelo podrobnih podatkov iz daljšega
časovnega obdobja, področno skladišče pa le agregirane in sumarizirane podatke
omejene zgodovine zapletenih struktur.
Strukture področnega skladišča so za razliko od podatkovnega skladišča za
specifične in znane namene.
Področna skladišča so manjša in omejena samo na specifično področje.
Podatkovna skladišča vsebujejo granularne in sumarizirane podatke poslovanja
celotne organizacije.
Prednosti centralizirane gradnje podatkovnih skladišč so predvsem centralno skladišče
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 finančno dovolj
zmožna, da si lahko privoščijo sam razvoj projekta, saj zagotavlja rezultate šele ob koncu
izgradnje [15].
Analiza in primerjava OLAP- orodij UM FERI
9
2.3.2 Distribuirana arhitektura ali pristop od spodaj navzgor
Ralph Kimball kot zagovornik distribuirane arhitekture (Slika 2.2) opisuje arhitekturo, za
katero je značilna dokaj hitra izgradnja prvega področnega podatkovnega skladišča, ki ga
lažje implementiramo kot pa celovit sistem v primeru centralizirane arhitekture. Področno
skladišče je v tem primeru podmnožica podatkovnega skladišča določene organizacije,
medtem pa je podatkovno skladišče le unija področnih skladišč. Slednje ima v večini
primerov vlogo oddelčnega, krajevnega ali funkcionalnega podatkovnega skladišča in
podpira eno ali več specifičnih področij.
Slika 2.2: Distribuirana arhitektura podatkovnih skladišč [19]
Kot je razvidno iz Slike 2.2, je struktura distribuiranih podatkovnih skladišč sestavljena iz
množice povezanih, a samostojnih področnih 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 značilno, da ima enoličen
pomen, ne glede na to, s katero tabelo dejstev jo povežemo, in zagotavlja, da je vsak
podatek predstavljen le enkrat. Ob načrtovanju podatkovnega skladišča distribuirane
arhitekture je treba zagotoviti vzpostavitev, objavo in vzdrževanje skladnih dimenzij, saj v
nasprotnem primeru podatkovno skladišče ne more delovati kot integrirana celota.
Struktura področnih 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 lažja implementacija posameznih
področnih skladišč in manjša izpostavljenost tveganjem glede napak. Slabosti pa, ker ima
lahko podatkovno skladišče lasten pogled na podatke, omogoča redundantnost podatkov v
vsakem področnem podatkovnem skladišču, in ker omogoča 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 vloženih sredstev
z uporabo neodvisnih področnih 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 področna skladišča in centralizirano podatkovno skladišče
s podrejenimi področnimi skladišči. Ključni 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
ažurira vsakič, ko se zgradi novo področno skladišče, in kadar obstoječi podatki v
operativnih sistemih narekujejo načrtovanje področnih skladišč, uporabimo skupni
poslovni model vzporedno z razvojem podatkovnih modelov, podrejenih področnih
skladišč.
UM FERI Analiza in primerjava OLAP- orodij
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 področnih skladišč. Vendar uporaba neodvisnih področnih skladišč poveča tudi
število programskih rutin za zajem in transformacijo. Vzdrževanje 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 težave
predstavlja razbitje procesov na več korakov, kar vključuje razvoj množice rutin, ki
zajemajo podatke in z njimi polnijo področje priprave. Področje priprave se nato uporablja
za polnjenje neodvisnih področnih skladišč s pomočjo različnih 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 pomočjo orodij OLAP pričnemo 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 učinkovite 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 pričakujemo 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 večino vsega časa, namenjenega za gradnjo podatkovnih skladišč. Proces je
ključnega 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 določimo, katere podatke bomo analizirali pozneje z orodji OLAP, saj podatke,
ki jih ne prenesemo s pomočjo ETL, ne moremo vključiti 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 naloženi, je tudi vzpostavitev podatkovnega skladišča nemogoča.
Proces ETL vključuje [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.
naložimo v podatkovno skladišče. Kadar je skladišče podatkov že v produkcijski rabi, so
postopki ETL po navadi izvedeni kot avtomatizirani postopki, ki se periodično prožijo 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 največjih izzivov
procesa ETL nam predstavlja ravno zajemanje podatkov, ki so povrh vsega še v večini
primerov razpršeni po različnih transakcijskih sistemih.
ETL proces obsega kar nekaj razlogov za težavnost:
raznolikost in neskladnost izvornih sistemov;
izvorni sistemi se lahko nahajajo na različnih platformah in operacijskih sistemih;
večina izvornih sistemov je zapuščina starih aplikacij, ki tečejo 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 delujoče ETL procese;
nekonsistenca podatkov v izvornih sistemih.
UM FERI Analiza in primerjava OLAP- orodij
14
2.4.1 Zajemanje podatkov
Zajemanje podatkov iz različnih sistemskih virov predstavlja prvo fazo ETL procesa, pri
čemer ne smemo pozabiti tudi na vmesna polnjenja. Sistemski viri so po navadi ločeni, kjer
pa vsak lahko operira nad različno strukturo in formatom podatkov. V večini primerov so v
uporabi relacijske podatkovne baze in nepovezane datoteke. Proces se v večini primerov
izvršuje vsakodnevno, pri tem pa moramo paziti, da ne preobremenimo izvornega sistema
v času, ko je ta že tako preobremenjen z izvajanjem tekočih poslov [2]; [19].
2.4.2 Preoblikovanje podatkov
Večina pridobljenih podatkov iz izvornih sistemov še ni primernih za nalaganje v
podatkovno skladišče. Zajeti podatki morajo biti preoblikovani na tak način, 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 povzroči proces izboljšanja kvalitete
podatkov. Posledice dobre oz. slabe kvalitete podatkov so vidne predvsem pri kasnejših
analizah in posledično sprejetih dobrih oz. slabih poslovnih odločitvah. Podjetja se morajo
zato zavedati kompleksnosti in zahtevnosti čiščenja in nasploh transformacije podatkov.
Osnovne naloge preoblikovanja podatkov so [2]; [19]:
selekcija,
razcepitev oz. združevanje,
pretvorba,
seštevanje,
oplemenitenje.
Analiza in primerjava OLAP- orodij UM FERI
15
2.4.3 Polnjenje podatkovnega skladišča
V fazi polnjenja naložimo preoblikovane in očiščene podatke v podatkovno skladišče.
Obseg procesa je odvisen od velikosti podjetja ali organizacije. Polnjenje v večini
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
Analiza in primerjava OLAP- orodij UM FERI
17
3 TEHNOLOGIJA SPROTNE ANALITIČNE OBDELAVE
PODATKOV
Zaradi vse večje konkurenčnosti med podjetji je ključnega pomena pravočasno in pravilno
poslovno odločanje. Za pravočasno in pravilno odločanje pa potrebuje odločitveni sloj
hitre in ustrezne informacije. Te informacije so rezultat raznovrstnih analiz, ki jih
opravljajo poslovni analitiki v podjetjih. Podjetja opravljajo različne 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 določenih trenutkih ali če
niso realni in primerljivi. Prav tako današnji način poslovanja zahteva rešitve, ki bodo
zmanjšale razpon med znanjem in odločitvami ter omogočile takojšnje in kakovostne
informacije [10].
V ta namen je bil razvit sistem za sprotno analitično obdelavo podatkov, krajše OLAP
(angl. Online Analytical Processing). OLAP je programska oprema in tehnologija, ki se
uporablja za večdimenzionalno analiziranje ogromne količine podatkov preteklega
poslovanja v podatkovnih skladiščih, s katero ugotavljamo pešanje oz. odstopanje
poslovanja v določenih segmentih. Orodja OLAP ponujajo logično, hierarhično in
strukturirano pregledovanje podatkov in omogočajo zanesljiv vpogled v podatke glede na
časovno dimenzijo, agregate in v nekaterih primerih tudi v transakcijske podatke iz
različnih zornih kotov. OLAP v večini primerov omogoča tudi kompleksnejša
preračunavanja in napovedovanja, predstavljena z intitivnimi grafičnimi vmesniki. OLAP
orodja omogočajo tudi skupno rabo podatkov znotraj skupine uporabnikov, ki te podatke
potrebujejo, pri tem pa morajo zagotavljati tudi ustrezno mero varnosti [34]; [4].
Preden lahko pričnemo z implementacijo tehnologije OLAP, potrebujemo predhodno
pripravljeno podatkovno skladišče, v katerem skladiščimo analitične podatke. Orodja
OLAP nam omogočajo izgradnjo kock, v katerih organiziramo, agregiramo in
preračunavamo podatke na način, ki omogoča čim učinkovitejše analitične poizvedbe brez
predhodnega znanja stukturiranega povpraševalnega jezika oz. SQL (Structured Query
Language).
UM FERI Analiza in primerjava OLAP- orodij
18
Funkcionalnost OLAP opredeljuje predvsem dinamična večrazsežnostna analiza zgoščenih
podatkov, pridobljenih iz podatkovnega skladišča, ki nudi končnemu uporabniku podporo
pri analizi in odločanju, ki vsebuje naslednje aktivnosti [29]:
modeliranje in kalkulacije prek več dimenzij ali več hierarhičnih nivojev;
analiza trendov v različnih časovnih obdobjih;
prikaz poljubnega dela podatkov;
izvajanje operacij OLAP;
enostavno medsebojno primerjanje različnih vidikov podatkov.
Za orodja OLAP so značilne naslednje funkcionalnosti [19]:
Večdimenzionalnost: zmožnost pregleda različnih 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 služijo uporabnikom pri različnih 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 doseči z različnimi metodami, kot so večdimenzionalne baze,
predsumirane tabele, ustrezno indeksiranje ipd.
Močne analitične sposobnosti: zraven osnovnih matematičnih funkcij orodja
ponujajo tudi določene naprednejše funkcije, ki temeljijo na MDX (angl.
Multidimensional Expresions) poizvedbah.
Prožnost oz. prilagodljivost: predstavlja eno izmed osnovnih značilnosti in
prednosti orodij OLAP in omogoča različne načine pregledovanja podatkov
(grafikoni, matrike, oblikovna raznolikost tabel), rotacije ali kockanje (kjer je
prikaz podatkov neodvisen od podatkovne strukture), prožnost definicij
(popravljanje in definiranje formul, formatiranje števil itd.), prožnost analiz ter
prilagodljiv, intuitiven in uporabniku prijazen vmesnik (kar je uporabno za
poslovneže, ki nimajo časa za dolgotrajno uvajanje, temveč večino svojega časa
namenijo analizi in vsebini problema, ki ga morajo rešiti).
Analiza in primerjava OLAP- orodij UM FERI
19
Večuporabniški dostop: večina sistemov OLAP je tipa odjemalec/strežnik, kar
pomeni, da do podatkov lahko dostopa več uporabnikov hkrati. Pri tem se pojavlja
tudi možnost dostopa do podatkov in opravljanja analiz prek svetovnega spleta, saj
uporabniki na tak način niso omejeni s fizično postavitvijo delovne postaje oz.
strežnika.
V sklopu diplomskega dela bomo nekatere funkcionalnosti in lastnosti podrobneje
predstavili ter podali praktične 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 končnih uporabnikov.
3.1 Primerjava z OLTP sistemi
Informacijske sisteme lahko v splošnem razdelimo na transakcijske in analitične, pri čemer
lahko sklepamo, da transakcijski sistemi (OLTP) zagotavljajo vir podatkov za analitične
sisteme (OLAP), kot prikazuje naslednja Slika 3.1:
Slika 3.1: Porazdelitev med transakcijskimi in analitičnimi sistemi [8]
UM FERI Analiza in primerjava OLAP- orodij
20
Za OLTP (On-line Transaction Processing) oz. za transakcijske podatkovne sisteme je
značilno 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 večdostopnih 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 kritične poslovne procese z avtomatizacijo vsakodnevnih poslovnih opravil, katerih
analize in poročila so dostopna v točno določenem 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 analitična 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 vključujejo agregate.
Aplikacije OLAP se pogosto uporabljajo za podatkovna rudarjenja. Podatki so shranjeni v
obliki večdimenzionalnih shem, ki vsebujejo t. i. kocke, ki so sestavljene iz numeričnih
dejstev. OLAP je zbirka, nastala iz različnih transakcijskih podatkovnih baz, v katerih se
nahajajo prečiščeni, preoblikovani in pomembnejši podatki, ki služijo podjetjem pri
izvajanju analiz preteklega poslovanja kot podpora pri strateškem odločanju. V sistemih
OLAP se nahajajo nenormalizirani podatki [8].
Naslednja Tabela 3.1 nam prikazuje bistvene razlike med transakcijskimi in analitičnimi
sistemi:
Analiza in primerjava OLAP- orodij UM FERI
21
Tabela 3.1: Razlike med sistemi OLTP in OLAP [8]
Sistemi OLTP Sistemi OLAP
viri podatkov operativni podatki kot osnovni vir
podatkov podatki, pridobljeni iz več OLTP
podatkovnih baz
namen podatkov
za nadzor in vodenje tekočih poslov za pomoč pri načrtovanju, reševanju
problemov in podpori odločanja
predstavitev podatkov
stanje trenutnega poslovanja (Entitetno relacijski model)
večdimenzionalni pogled na različne zvrsti poslovanja
odzivnost zelo hiter odvisno od količine podatkov, uporabe indeksov, osveževanja 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 vračajo
relativno malo zadetkov pogosto kompleksne poizvedbe, ki
vključujejo tudi agregate
ažurnost podatkov
kratkotrajno in hitro proženje operacij periodično in dolgotrajno izvajanje
operacij
prostorske zahteve
relativno majhne, če se pretekli podatki sproti arhivirajo
velike zaradi podvajanja ogromne količine preteklih podatkov
varnostne kopije
podatki so ključnega pomena za vodenje poslovanja, ki ob izgubi
predstavljajo pravne in denarne stroške
možnost obnovitve iz OLTP podatkovnih virov
starost podatkov
trenutni podatki pretekli podatki
operacije nad podatki
dodajanje, urejanje, brisanje, ažuriranje in branje podatkov
branje podatkov
tipični uporabniki
razvojni kader vodstveni kader
3.2 Dimenzijsko modeliranje
Dimenzijsko modeliranje je lahko v nekaterih primerih veliko preprostejše, hitrejše in lažje
za razumevanje kot pa podatkovno modeliranje. Predstavlja specifično modeliranje
podatkov, ki so organizirani tako, da omogočajo učinkovite poizvedbe in so razumljivi
tako uporabnikom kot informatikom. Dimenzijski model služi kot analitično orodje pri
načrtovanju podatkovnega skladišča in kot fizični model implementacije v podatkovno
bazo. Tehnologija dimenzijskega modeliranja predstavlja dobro osnovo za izgradnjo
večdimenzionalnih 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 vključuje relacijsko zbirko podatkov. V procesu modeliranja se uporabljajo
dejstva in dimenzije. Dejstva so običajno številčne vrednosti, ki se lahko glede na tip
uporabljenih agregatov združujejo 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 pomočjo tehnik modeliranja.
2. Opredelitev zrna poslovnega procesa: zrno (angl. grain) modela predstavlja
natančen opis, na kaj se je treba dimenzijski model v procesu modeliranja
osredotočiti. Zrno nam pove, kakšen je pomen posamezne vrstice v tabeli dejstev,
in določa 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: omogočajo obravnavo izračunljivih mer in so v večini primerov
številčne vrednosti ter nam morajo odgovarjati na ključna vprašanja poslovanja.
3.2.1 Večdimenzionalni podatkovni model oz. podatkovna kocka OLAP
Dimenzijski model nam služi kot analitično orodje za izgradnjo podatkovnega skladišča in
mora v celoti odražati 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 ključe dimenzijskih tabel, in iz množice dimenzijskih tabel, ki vsebujejo
primarne ključe. Dimenzijske modele lahko med seboj združujemo, pri čemer so lahko pri
različnih dimenzijah enaki pomeni tabel dejstev. Relacije, ki nastopajo med tabelo dejstev
in dimenzijskimi tabelami, so ena proti mnogo (1:N).
Orodje OLAP temelji na večdimenzionalnem podatkovnem modelu, ki je načeloma
dimenzijski podatkovni model, sestavljen iz dimenzij in dejstev. Uporabniški pogled na
Analiza in primerjava OLAP- orodij UM FERI
23
večdimenzionalni podatkovni model je predstavljen s pomočjo podatkovne kocke, ki
prikazuje podatke večrazsežnostno [16].
Večdimenzionalna podatkovna kocka (angl. multidimensional cube) predstavlja bistvo
tehnologije OLAP in je osnovna podatkovna struktura v večdimenzionalnem sistemu
OLAP. Predstavlja množico podatkov, ki so shranjeni in prikazani na večdimenzionalen
način. Kocko definira množica 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 večdimenzionalnem
sistemu predstavljena s tabelo dejstev in nam omogoča računanje agregatov glede na
kombinacijo atributov dimenzijskih tabel. Podatki so v podatkovni kocki OLAP grupirani
v posamezne skupine, ki so razdeljene v hierarhične 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 > Država > Kraj), časovna
dimenzija pa vsebuje osnovno raven meseci. Simbol "+" označuje možnost razširjanja
hierarhij po ravneh v odvisnosti od združevanja 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 različno 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 določa stopnjo podrobnosti
atributov pri izvajanju analiz. Najbolj uporabna so numerična aditivna dejstva, saj
uporabniki pogosto poizvedujejo po velikem številu zapisov iz tabele dejstev, ki jih želijo
grupirati po določenih dimenzijah in sumirati po dejstvih.
Dejstva se torej delijo na [38]:
Aditivna: so numerična, 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 večinski delež zapisov v dimenzijskem modelu in ima pretežno
zelo malo atributov oz. stolpcev ter ogromno količino vrstic. Zraven merljivih atributov
vsebuje tabela dejstev tudi tuje ključe, prek katerih je povezana s primarnimi ključi
dimenzijskih tabel in na tak način zagotavljajo referenčno integriteto. Tabela dejstev
načeloma ne vsebuje posebej primarnega ključa, saj je le ta sestavljen iz podmnožice tujih
ključev. 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
Dimenzijska tabela
Dimenzijske tabele (angl. dimensions tables) opisujejo poslovni proces poslovanja
podjetja. Vsebujejo veliko število atributov oz. stolpcev in relativno malo število vrstic v
primerjavi s tabelo dejstev. Dimenzijske tabele so sestavljene iz primarnega ključa in
preostalih atributov. Atributi v dimenzijski tabelah so v večini primerov opisni, kar
pomeni, da so znakovnih podatkovnih tipov. Primarni ključ nam služi kot osnova za
referenčno integriteto s katero koli tabelo dejstev, s katero je povezana. Atributi dimenzije
služijo kot primarni vir omejitev v poizvedbah in kot čelne vrstice v poročilih. Dimenzijski
model v večini primerov vsebuje denormalizirane dimenzijske tabele. Izjema predstavlja t.
i. snežinkasta shema dimenzijskega modela, kjer so nekatere dimenzijske tabele delno
normalizirane, pri čemer se zmanjša redundantnost podatkov, zaradi česar se snežinkastim
shemam izogibamo. Pri dimenzijah lahko prihaja tudi do težav z zasledovanjem zgodovine
zaradi vnosa vrednosti, ki se s časom spreminjajo.
Težavo 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, tipičen primer
je časovna dimenzija.
Nazornejše bomo omenjeni vrsti dimenzij predstavili v sklopu uporabe tehnologije OLAP,
kjer bomo pri posameznem proizvajalcu predstavili način dela definiranja le-teh.
Hierarhije dimenzij
Dimenzije lahko vsebujejo veliko različnih članov (angl. members/levels) dimenzij oz.
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 hierarhično, pri čemer je najnižje v posamezni hierarhiji najbolj granuliran podatek
in hierarhično 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 najnižjega oz.
najbolj podrobnega. Nadrejeni elementi so vedno seštevki vseh njemu podrejenih
elementov. Znotraj hierarhij se entitete ležeče na višjem nivoju sesedajo v entitete ležeče
na nižjem nivoju oz. nasprotno, entitete ležeče na višjem nivoju združimo z entitetami na
nižjem nivoju. Temu postopku rečemo tudi sesedanje hierarhije, s čimer dosežemo
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. večnivojske č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 težave 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 omogočajo sesedanje, lahko pa so
izjema.
Hierarhije ločimo glede na:
Nivojsko orientirane hierarhije (angl. leveled hierarchies): vsebujejo nivoje, ki jih
lahko razširjamo in združujemo.
Ravninsko orientirane hierarhije (angl. flat hierarchies): ne omogočajo izgradnjo
nivojev.
Večina 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 različnih ravneh v hierarhiji.
Najsplošnejša oblika hierarhij je simetrična, kjer se vsi listi nivojev zaključijo 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. večhierahične
dimenzije (angl. multiple hierarchies). Primer take tipične 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 tiči v tem, ker na primer nivo dan,
lahko obsega dva meseca, četrtletja in tako naprej po hierarhiji navzgor in v tem primeru
tedna ni mogoče hierarhično razvrstiti v nivo pod mesecem, saj z vidika uporabnosti ne bi
bilo praktično kasneje pri izvajanju analiz [14]; [5].
Slika 3.3: Večhierarhična časovna dimenzija [5]
Pri praktični uporabi orodij OLAP se bomo osredotočili predvsem na nivojsko orientirane
hierarhije, ki predstavljajo bistvo analitičnih sistemov. Kreiranje hierarhij predstavlja eno
pomembnejših področij in se med predstavniki primerjajočih proizvajalcev orodij OLAP
različno definirajo, nekateri omogočajo večnivojske 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 različnih 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 množica 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 večdimenzionalnega modela [6]:
ploska shema (angl. flat schema),
terasasta shema (angl. terraced schema),
zvezdna shema (angl. star schema),
snežinkasta shema (angl. snow flake schema),
zvezdna grozdna shema (angl. star cluster schema),
sozvezdna shema (angl. constellation schema),
galaktična shema (angl. galaxy schema).
Ploska shema
Je najenostavnejša shema, kar jih obstaja, in je sestavljena tako, da združuje 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, omogoča redundantnost podatkov, vendar ne omogoča 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
ključe vseh dimenzijskih tabel. Primarni ključ tabele dejstev je sestavljen iz tujih ključev
dimenzijskih tabel (nadomestni ključ). Na podlagi poslovnega procesa se določi dejstva in
granulacijo zrna, ki predstavljajo mere sheme. Dimenzijske tabele vsebujejo
denormalizirane podatke, kar omogoča hitro poizvedovanje nad velikim številom
podatkov. Omogočeno je pregledovanje meritev iz različnih perspektiv [18]. Zvezdna
shema je predstavljena na naslednji Sliki 3.4:
Slika 3.4: Zvezdna shema kocke
Snežinkasta shema
Model snežinkaste sheme (Slika 3.5) je izpeljan iz zvezdne sheme. Dimenzijske tabele, za
razliko od zvezdne sheme, vsebujejo normalizirane podatke, kar dosežemo z dodatno
tabelo, ter na tak način preprečimo 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 snežinkasti shemi prinaša kar nekaj slabosti [32]:
Normalizacija pripomore h kompleksnejšemu podatkovnemu modelu.
Delovanje je lahko počasnejš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 težave pri združevanju in pridobivanju velikih količin podatkov.
Slika 3.5: Snežinkasta shema kocke
Zvezdna grozdna shema
Sestavljena je iz enostavne zvezdne sheme, ki ohranja konsistentnost med dimenzijami.
Omogoča združevanje entitet podatkovnega modela v minimalno število dimenzij, ki
preprečuje prekrivanje med dimenzijami.
Sozvezdna shema
Sestavljena je iz več zvezdnih shem s hierarhično povezano tabelo dejstev, kar ji omogoča
izvajanje operacij "vrtanja v globino" po hierarhičnih ravneh.
Galaktična 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. Večino meritev shranjujemo v podatkovnih skladiščih, in ker poizvedovanje
po skladiščih vrača ogromne količine zapisov, jih med seboj seštevamo in združujemo, kot
bomo lahko podrobneje videli v praktičnem delu diplomskega dela [5].
Meritev je v podatkovni kocki množica vrednosti, ki temelji na stolpcu v tabeli dejstev
kocke in je najpogosteje numerična. Vrednosti za posamezno meritev vsebuje celica kocke,
ki predstavlja najosnovnejše elemente kocke. Za posamezno meritev je podana funkcija
agregacije, ki določa, na kakšen način so vrednosti iz nižjih nivojev združene na višjem
nivoju. Agregacije so v naprej izračunane in shranjene vrednosti podatkov za določen nivo
v hierarhiji, ki izboljšujejo odzivne čase poizvedb. Posamezna kocka lahko vsebuje več
različnih meritev. Merljiva dejstva so tista, ki se s časom spreminjajo. Najučinkovitejše so
aditivne meritve, ki imajo zelo močne analitične sposobnosti [18].
Mere oz. agregate v splošnem razdelimo na tri osnovne kategorije [16]:
Distributivne mere: minimalna, maksimalna vrednost, število elementov, vsota ipd.
Algebraične mere: sestavljene iz več distributivnih agregatov, kot so razpon (rang),
povprečje, varianca, geometrijska sredina ipd.
Holistične mere: so tiste, ki jih lahko izračunamo le na celotnem naboru podatkov,
kot so mediana, percentili, kvartili ipd.
Obstajajo pa tudi izračunljive mere, ki so neodvisne od podatkovnih skladišč in temeljijo
na agregatih. Pri čemer izračuni temeljijo na MDX povpraševalnem jeziku.
3.3.1 Agregacije
Agregacije so v naprej izračunani in shranjeni podatki, ki omogočajo krajši odzivni čas,
potreben pri izvajanju poizvedb [19]. Kar pomeni, da so odgovori na nekatera vprašanja
poznani, še preden uporabnik določi parametre, ki jih želi analizirati. Agregacije nam
omogočajo, da za vsako poizvedbo ni potrebna obdelava celotne tabele dejstev. Agregate
UM FERI Analiza in primerjava OLAP- orodij
32
shranjujemo kot koordinate specifičnih dimenzij v večdimenzionalni strukturi. Vendar pa
shranjevanje le-teh močno poveča 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 določa 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 določeno poizvedbo. Prav tako pa tudi izboljšujejo učinkovitost podatkovnega
skladišča. Predzdruženi agregati shranjujejo rezultate v eno samo tabelo (združevanje
določenih atributov iz dimenzijskih tabel in dejstev iz tabele dejstev v novo tabelo), kar
omogoča 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 ločenih tabelah, ki so lahko ločene agregacijske tabele dejstev ali ločene tabele
predzdruženih agregatov.
Agregacijske tabele dejstev
Agregacijska tabela dejstev povzema informacije osnovne tabele dejstev, vendar v obliki
bolj grobega zrna, saj večina poizvedb ne zahteva prikaza najpodrobnejših meritev.
Omogočajo predzdruževanje podatkov, posledica tega pa je povečanje učinkovitosti
poizvedb, saj se število vrstic s podatki, do katerih morajo dostopati, zmanjša. Zaradi
spreminjanja zrna odpadejo tudi tuji ključi določenih dimenzij. V agregacijsko tabelo
dejstev se shranjujejo samo vrstice s podatki, ki ne vsebujejo podatkov, zahtevanih s strani
vzorčne 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
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.
Ime agregacijske dimenzijske tabele naj odraža vsebino njenih vrstic.
Imena in podatkovni tipi atributov agregacijskih in osnovnih dimenzijskih tabel
morajo biti enaka.
Več različnih agregatov si lahko deli iste agregacijske dimenzijske tabele.
Dejstva agregatov morajo biti za vsak nivo agregacije shranjena v ločenih tabelah,
ki so lahko ločene agregacijske tabele dejstev ali ločene tabele predzdruženih
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 služijo predvsem za ugotavljanje uspešnosti
poslovanja, primerjavo različnih obdobij, trendov poslovanja ter rednemu nadzoru in
kontroli podatkov. Proizvajalci orodij OLAP nudijo različno podporo operacijam, v osnovi
pa podpirajo predvsem naslednje predstavljene tipe operacij.
Osnovne operacije OLAP, ki jih podpira večina 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
vrtenje (angl. pivoting),
vrtanje skozi (angl. drill through),
vrtanje čez (angl. drill acros),
primerjanje, izračuni, agregiranje (angl. comparing, calculating, aggregating).
Zraven osnovnih obstajajo še:
gnezdenje (angl. nesting),
zapiši nazaj (angl. write back),
filtriranje (angl. filtering).
Vrtanje v globino in zvijanje navzgor
To sta operaciji, ki nam omogočata premikanje pogleda navzdol in navzgor po hierarhičnih
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
prerežemo samo po eni dimenziji.
Slika 3.7: Operacija OLAP rezanja [35]
Vrtenje
Je operacija, ki nam samo oblikovno spremeni videz poročila, 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
Slika 3.8: Operacija OLAP vrtenja [35]
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 izračuna 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.
Slika 3.10: Operacija OLAP vrtanja čez [35]
Primerjanje, izračuni in agregiranje
O primerjanju govorimo, ko primerjamo podatke po različnih dimenzijah, največkrat po
časovnih dimenzijah. Izračune in agregacije podatkov pa uporabljamo pri zahtevnih
analizah, kadar želimo sproti prikazati čim več informativnih in izpeljanih podatkov. V
večini primerov ni treba izvajati izračunov med samim pridobivanjem podatkov, saj to
lahko naredimo z izračuni nad že pridobljenimi podatki.
Gnezdenje
Kjer podatke ene dimenzije prikažemo znotraj druge dimenzije.
UM FERI Analiza in primerjava OLAP- orodij
38
Zapiši nazaj
Omogoča izvajanje operacij na podlagi MDX povpraševalnega jezika, ki temelji na SQL
poizvedbah, pri čemer lahko izvajamo analize "kaj če".
Filtriranje
Omogoča določanje kriterijev, po katerih se prikazujejo podatki. Recimo lahko prikažemo
podatke le za določeno obdobje ipd.
3.5 Tehnike shranjevanja podatkov OLAP
Podatki se v podatkovno kocko shranjujejo na več različnih načinov. V večini primerov se
uporabljajo naslednji trije načini, na katerih temeljijo tudi primerjajoči predstavniki orodij
OLAP, ki jih bomo podrobneje analizirali v naslednjem sklopu uporabe tehnologije OLAP.
Osnovne tehnike shranjevanja podatkov so [34]; [19]:
MOLAP oz. večdimenzionalni OLAP (angl. Multidimensional OLAP),
ROLAP oz. relacijski OLAP (angl. Relational OLAP),
HOLAP oz. hibridni OLAP (angl. Hybrid OLAP).
Zraven osnovnih obstajajo še nekatere manj običajne 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 zmožnosti OLAP orodij:
odzivni čas poizvedb,
hitrost osveževanja podatkov v kocki,
prostorske zahteve na disku.
Analiza in primerjava OLAP- orodij UM FERI
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 izračunajo
agregati.
MOLAP podatki so shranjeni v večdimenzionalni podatkovni bazi, ki temelji na strukturi
večdimenzionalnih polj, posebej prirejenih za izvajanje analiz OLAP. Podatki in agregacije
se v fazi nalaganja prepišejo v za to namenjene večdimenzionalne strukture
(večdimenzionalno podatkovno bazo). Poizvedbe so konstantno hitre zaradi velike stopnje
predhodno agregiranih podatkov, medtem pa je ažuriranje baze nekoliko počasnejše zaradi
potrebe po ponovnem preračunavanju agregatov. Ena od prednosti sistema OLAP je tudi
ta, da ob pregledovanju podatkov ne potrebujemo direktne povezave z virom podatkov, kar
omogoča 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 tipičnih 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 večrazsežnostnega modela in nenehno spreminjanje zahteva veliko procesorsko
moč, kar se lahko pozna v odzivnih časih pri poizvedovanju. Prednost modela se kaže v
veliki količini 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 omogoča analizo podatkov iz več razsežnostne in relacijske podatkovne baze.
Model HOLAP je kombinacija med modeli MOLAP in ROLAP, iz katerih so povzete
najboljše lastnosti. Model omogoča 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 omogoča
hitro poizvedovanje, pri čemer prihrani čas osveževanja kock in prostor. Pri horizontalnem
particioniranju pa nekatere novejše prereze podatkov shranjuje v strukturi MOLAP,
medtem pa starejše v strukturi ROLAP, kar poveča zmogljivost poizvedb.
UM FERI Analiza in primerjava OLAP- orodij
40
DOLAP je namizno orodje OLAP, kjer se podatki prenesejo s strežnika na delovno
postajo, kjer se izvaja analiza. Primeren je za manj obsežna podatkovna skladišča in manj
zahtevne analize.
WOLAP predstavlja spletne vmesnike, ki omogočajo dostop do podatkov večrazsežnostne
baze prek interneta z uporabo standardnih spletnih brskalnikov.
RTOLAP je model, ki shranjuje vse podatke v hitrem pomnilniku (RAM), vendar pa je pri
tem močno odvisen od njegove razpoložljive kapacitete.
Analiza in primerjava OLAP- orodij UM FERI
41
4 PRIMERJAVA IN ANALIZA ORODIJ OLAP
Preden smo lahko pričeli z izvajanjem analiz s pomočjo analitičnih orodij OLAP, smo si
najprej izdelali testna podatkovna skladišča. Kar pomeni, da smo le ta napolnili z
naključnimi simboličnimi podatki, ki so nam služili za prikaz uporabe orodij OLAP
različnih proizvajalcev ter kasneje kot posledična primerjava med njimi, a zaradi določenih
omejitev žal ne kot dejanski rezultati realnega poslovanja. Vsebina informacij in sporočilo,
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 analitična orodja glede na njihove proizvajalce oz.
glede na najboljšo možno združljivost orodij OLAP s podatkovno bazo, saj lahko le na tak
način v polni meri zagotovimo in izkoristimo njihove zmožnosti, 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 analitična orodja novejših različic 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 različicah podatkovnih baz.
Za predstavljena analitična orodja smo uporabili naslednje podatkovne baze:
a) Microsoft SQL Server 2012,
b) Oracle Database 11g Release 2,
c) MySQL Database 5.5.
Uporabljena analitična orodja sta v prvih dveh primerih istega proizvajalca kot podatkovni
bazi, medtem pa je v tretjem primeru proizvajalec baze in analitičnih orodij različen. V
UM FERI Analiza in primerjava OLAP- orodij
42
prvih dveh primerih so torej orodja OLAP delno integrirana oz. jih imamo možnost
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 načrtovanje 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 mogoče 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 odločili 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
načrtovali v programskem orodju DBDesigner 4, ki nam omogoča nabor gradnikov,
potrebnih za izvedbo. Dimenzijski model je mogoče iz orodja prenesti v podatkovno bazo
na več načinov. To lahko storimo z direktno sinhronizacijo med podatkovno bazo in
orodjem DBDesigner ali pa kar s pomočjo izvoza SQL skripte, ki jo nato lahko ročno
prilagodimo in popravimo v primeru različnih podatkovnih tipov ipd. težav. Načinov je
sicer še več, vendar pa smo se posluževali predvsem omenjenih dveh. Dimenzijski model
je predstavljen na naslednji Sliki 4.1.
Analiza in primerjava OLAP- orodij UM FERI
43
Slika 4.1: Dimenzijski model spletne prodaje
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 izračunljive atribute:
Količina (število proizvodov, ki so bili zabeleženi v prodaji).
Znesek (vsota z DDV in popustom glede na prodano količino proizvoda).
Skupni popust (skupni popust pri znesku na prodano količino).
UM FERI Analiza in primerjava OLAP- orodij
44
Skupni DDV (skupni DDV pri znesku na prodano količino).
Dimenzijske tabele jasno opisujejo poslovni proces prodaje proizvodov različnih kategorij
in so sestavljene predvsem iz opisnih atributov, medtem pa je tabela dejstev sestavljena iz
merilnih podatkov.
4.2 Izgradnja testnih podatkovnih skladišč
V predhodnem poglavju smo s pomočjo 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 združljivosti orodja z
določeno podatkovno bazo, sicer je potrebno napake odpraviti ročno. 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 način pridobiti. Praviloma je zadan
korak v primeru realnega poslovnega procesa samoumeven in je v veliki meri realiziran s
pomočjo izvedbe ETL procesov, ki nam omogočajo, da podatke pridobimo iz različnih
podatkovnih virov, katere nato v fazi transformacije prečistimo in preoblikujemo v
primerno obliko ter jih nato prenesemo v podatkovno skladišče.
Ker pa to v tem primeru ni bilo možno, smo to storili s pomočjo spisanih procedur, s
katerimi smo podatkovna skladišča napolnili izključno 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
nakopičenih 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 posluževali
orodja Microsoft SQL Managment Studio, ki vključuje tako grafična kot skriptna orodja, ki
nam olajšajo delo pri realizaciji podatkovnega skladišča. Orodje imamo možnost namestiti
v paketu skupaj s podatkovno bazo. SQL Managment Studio vključuje popoln nabor
funkcij za delo s podatkovno bazo. Vključuje tudi možnost dostopa do Analysis strežnika,
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 omogoča delo s SQL, MDX, DMX (Data Mining
Expressions) in XMLA (Extensible Markup Language for Analysis) poizvedovalnimi
jeziki. Poizvedbe in procedure smo v orodju prožili s pomočjo funkcije "New Query", kjer
se nam v osrednjem oknu orodja odpre obrazec, v katerega zapišemo želeno poizvedbo oz.
proceduro, ki jo želimo prožiti nad podatkovno bazo. Posamezno proceduro nato prožimo s
pomočjo 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
BEGIN
INSERT INTO dbo.Obdobje(CelotniDatum, DanVtednu, DanVmesecu, MesecVletu, Cetrtletje,
Leto)
SELECT @FromDate AS CelotniDatum,
DateName (dw, @FromDate) AS DanVtednu,
DAY(@FromDate) AS DanVmesecu,
DateName (mm, @FromDate) AS MesecVletu,
DatePart (qq, @FromDate) AS Cetrtletje,
YEAR(@FromDate) AS Leto
SET @FromDate = DATEADD(DAY, 1, @FromDate)
END
END
GO
UM FERI Analiza in primerjava OLAP- orodij
46
4.2.2 Podatkovno skladišče v Oracle Database 11g Release 2
Oracle podatkovna baza temelji na PL/SQL (Procedural Language/SQL) poizvedovalnem
jeziku, ki predstavlja razširitev jezika SQL. S pomočjo jezika PL/SQL lahko v celoto
združimo več SQL stavkov in na tak način ustvarimo programske enote. Omogoča tudi
uporabo vejitev, zank ipd., ki jih SQL v osnovi ne pozna, zaradi česar je uporaben za
obsežnejše in zahtevnejše upravljanje s podatki [37].
Oracle ponuja ogromno možnih 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 posluževali omenjenih orodij. Orodji skupaj podpirata večino operacij, ki
jih je mogoče vršiti nad podatkovno bazo. SQL Plus podobno kot Microsoft SQL
Management omogoča tudi dostop do funkcij OLAP, vendar pa je konzolsko delo precej
zahtevnejše v primerjavi z orodji z grafičnim vmesnikom. Iz stališča administracije
podatkovne baze je treba osvojiti precej več znanja v primerjavi s konkurenco. Kar se tiče
varnosti in zaščite, si je pred pričetkom dela treba zagotoviti kar nekaj uporabniških pravic
za proženje posameznih operacij.
Procedure smo v konzoli SQL plus prožili s pomočjo 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
Analiza in primerjava OLAP- orodij UM FERI
47
BEGIN
danVt := TO_CHAR(CelotniDatum, 'Day');
danVm := TO_CHAR(CelotniDatum, 'DD');
mesecVl := TO_CHAR(CelotniDatum, 'Month');
msc := TO_CHAR(CelotniDatum, 'MM');
cetrt := TO_CHAR(CelotniDatum, 'Q');
lt := TO_CHAR(CelotniDatum, 'YYYY');
-- Sestavimo unikatne identifikatorje clanov hierarhij, saj Oracle OLAP Option
-- omogoca le delo z nivoji stars-otrok.
Leto := lt;
Cetrtletje := lt ||'-'|| cetrt;
Mesec := lt ||'-'|| msc;
MesecVletu := lt ||'-'|| mesecVl;
DanVmesecu := lt ||'-'|| msc ||'-'|| danVm;
DanVtednu := lt ||'-'|| msc ||'-'|| danVm ||'-'|| danVt;
-- 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)
VALUES (idObdobje, DanVtednu, DanVmesecu, MesecVletu, Mesec, Cetrtletje, Leto,
CelotniDatum);
-- Povecujemo stevec zanke in identifikatorja.
CelotniDatum := CelotniDatum + 1;
idObdobje := idObdobje + 1;
END;
END LOOP;
END;
4.2.3 Podatkovno skladišče v MySQL Database 5.5
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-strežnik, pri čemer je lahko strežnik nameščen kot sistem, porazdeljen
na več sistemov [33].
Podatkovna baza v osnovi ne vključuje podpore orodjem OLAP, ampak smo jo uporabili
kot najoptimalnejšo rešitev v povezavi z orodjem OLAP Pentaho Analysis Services,
kateremu je služila kot ločeno podatkovno skladišče. MySQL ponuja veliko število
odjemalcev, zbirk ukazov in programskih vmesnikov za dostop do podatkovne baze. V
paketu imamo možnost namestitve orodja MySQL Workbench za administracijo,
konfiguriranje in upravljanje s podatkovno bazo. Orodje je sestavljeno iz precej
intuitivnega in uporabnega grafičnega vmesnika, ki omogoča enostavno modeliranje
podatkov in upravljanje MySQL baze.
UM FERI Analiza in primerjava OLAP- orodij
48
Poizvedovanja smo v bazi izvajali s pomočjo funkcije "Create new SQL tab for executing
queries", medtem pa smo procedure prožili s funkcijo "Create new routine". Procedure
lahko prožimo tudi v okviru prve opcije. V obeh primerih se nam odpre okno, v katerega
vnesemo proceduro in jo prožimo s klikom na "Execute". Primer sintakse (programska
koda 4.3) predstavlja naslednja procedura "obdobje":
Programska koda 4.3: MySQL Database 5.5: Primer procedure "Obdobje"
DELIMITER $$
-- procedura obdobje z zacetnim in koncnim terminom
CREATE DEFINER=`root`@`localhost` PROCEDURE `polniObdobje`(zacetni VARCHAR(12), koncni
VARCHAR(12))
BEGIN
DECLARE st INT;
DELETE FROM Obdobje;
SELECT STR_TO_DATE(zacetni,'%Y-%m-%d') INTO @ds;
SELECT STR_TO_DATE(koncni,'%Y-%m-%d') INTO @de;
SELECT TO_DAYS(zacetni) INTO @wu;
SELECT TO_DAYS(koncni) INTO @vu;
SET st = 1;
-- Za vsak datum, vkljucno z koncnim pridobimo celotni datum, dan v tednu,
-- dan v mesecu, mesec v letu, cetrtletje in leto in vsako instanco shranimo v tabelo obdobje.
WHILE (@wu < @vu) DO
SET lc_time_names = 'sl_SI';
INSERT INTO SpletnaTrgovina.Obdobje (idObdobje, DanVtednu, DanVmesecu, MesecVletu,
Cetrtletje, Leto, CelotniDatum)
SELECT st, DAYNAME(@ds), DAY(@ds), MONTHNAME(@ds), QUARTER(@ds),
YEAR(@ds), @ds;
SET @wu = @wu+1;
SET @ds = DATE_ADD(@ds, INTERVAL 1 DAY);
SET st = st + 1;
END WHILE;
END
4.3 Analiza in prikaz uporabe orodij različnih distribucij
Za realnejšo primerjavo med proizvajalci orodij OLAP smo si pred pričetkom izvajanja
analiz definirali dimenzije, agregate, hierarhije, člane hierarhij ter odnose oz. relacije med
njimi. Gradnike, ki smo jih definirali, smo nato poskušali s pomočjo orodij OLAP
posameznega proizvajalca čim bolje realizirati in čim manj odstopati od planiranega. Pri
vsakem od proizvajalcev smo poskusili ustvariti tudi izračunljive meritve in druge
uporabne funkcije. Na koncu smo rezultate analiz tudi predstavili.
Analiza in primerjava OLAP- orodij UM FERI
49
Na naslednji sliki 4.2 so predstavljene dimenzije s hierarhijami njihovih članov in nivoji
oz. relacijami med njimi.
Slika 4.2: Predvidena struktura večdimenzionalnega modela
4.3.1 Arhitektura tehnologije Microsoft SQL Analaysis Services
Arhitektura analitičnih orodij se v izdaji Analysis Services 2012 deli na dva osnovna
podatkovna modela [12]:
Tabelarični model (angl. Tabular model): kjer se podatkovna kocka oz. tabela
ustvari v hitrem pomnilniku (angl. "In-Memory Cube") podatkovne baze kot
tehnologija "Vertipaq", poizvedovanje pa temelji na DAX (Data Analysis
Expressions) poizvedovalnem jeziku.
UM FERI Analiza in primerjava OLAP- orodij
50
Večdimenzionalni model (angl. Multidimensional model): temelji na podatkovni
kocki, kjer so podatki sumirani in organizirani v večdimenzionalni strukturi,
poizvedovanje pa temelji na MDX poizvedovalnem jeziku.
Primer predstavljenih modelov prikazuje naslednja Slika 4.3.
Slika 4.3: SSAS 2012 analitični model [12]
Opisana modela imata v osnovi enak cilj, vendar delujeta na povsem različnih
tehnologijah. V splošnem je tabelarična tehnologija za uporabnike preprostejša za
razumevanje in med uporabniki precej priljubljena, vendar pa žal tudi zaradi uporabljenega
pristopa nekoliko bolj omejena in šele v fazi razvoja.
Večdimenzionalna arhitektura Analaysis Services je zgrajena iz strežnika (angl. server) in
odjemalca (angl. client) OLAP, s katerim se povezujemo na strežnik. Ta omogoča
ustvarjanje in upravljanje z večdimenzionalnimi podatki OLAP ter zagotavlja prenos
podatkov odjemalski aplikaciji. Proces prenosa podatkov je izveden s pomočjo
"PivotTable" (vrtilna tabela) servisa. Server OLAP vključuje modeliranje
večdimenzionalne podatkovne kocke iz relacijske zbirke podatkov podatkovnega skladišča
in skladiščenje podatkov v večdimenzionalni strukturi, relacijski bazi in kombinaciji obeh.
Analiza in primerjava OLAP- orodij UM FERI
51
Odjemalec prek vrtilne tabele komunicira z strežnikom OLAP in zagotavlja vmesnike za
uporabo s pomočjo odjemalske aplikacije, ki dostopa do podatkov OLAP na strežniku.
Odjemalska aplikacija se poveže s "PivotTable" servisom z uporabo OLE DB (Object
Linking and Embedding Database) vmesnikov. Storitev vrtilna tabela se lahko ustvari tudi
lokalno kot datoteka podatkovne kocke, ki vsebuje podatke iz podatkovne kocke na
strežniku ali iz relacijskih zbirk podatkov OLE DB, pri čemer se lokalne kocke lahko
shranijo kot večdimenzionalne kocke na odjemalcu računalnika, do katerih je možno
dostopati brez povezave (angl. offline) s storitvijo vrtilne tabele. Primer arhitekture
strežnik – odjemalec je prikazan na naslednji Sliki 4.4 [20]:
Slika 4.4: SSAS arhitektura strežnik-odjemalec [20]
4.3.2 Analiza tehnologije Microsoft SQL Server Analysis Services 2012
Preden smo se lahko lotili kreiranja podatkovne kocke OLAP je bilo najprej treba
vzpostaviti SQL Server Analysis Services (SSAS), če to že ni primarno storjeno. To lahko
storimo v orodju Sql Server Configuration Manager, ki je namenjen za administracijo in
konfiguracijo podatkovne baze in njenih orodij. SQL Server Configuration Manager nam
UM FERI Analiza in primerjava OLAP- orodij
52
omogoča tudi dodeljevanje uporabniških pravic uporabnikom, za katere želimo, da lahko
dostopajo do našega SSAS strežnika, saj se vse spremembe analiz OLAP zapisujejo
direktno v podatkovno bazo. Uporabniki, ki imajo ustrezno konfigurirane uporabniške
pravice, se kasneje pri izvajanju analiz lahko s pomočjo odjemalca povezujejo na strežnik
OLAP [1]; [28].
Povezava med odjemalskim orodjem in strežnikom
Modeliranje podatkovne kocke poteka v programskem orodju Microsoft Visual Studio
2010 (Slika 4.5), ki je kot primarno namenjen razvoju aplikacij, vključuje pa tudi podporo
poslovni inteligenci ter še nekaj ostalim sekundarnim projektom. Ob kreiranju novega
projekta za modeliranje podatkovne kocke OLAP izberemo "Analysis Services
Multidimensional and Data Mining Project".
Slika 4.5: Zgradba SSAS 2012 v MS Visual Studio 2010
Orodje je zgrajeno iz menijske vrstice, ki vsebuje elemente za urejanje gradnikov
osrednjega področja, ki se nahaja tik pod menijsko vrstico, in omogoča delo z dimenzijami,
kockami, dimenzijskim modelom, merami in preostalimi funkcionalnostmi. Na levi strani
zgoraj se nahaja "Solution Explorer", ki je zgrajen iz navigacijskega drevesa, in s pomočjo
Analiza in primerjava OLAP- orodij UM FERI
53
"čarovnika" omogoča kreiranje posameznih elementov večdimenzionalnega modela ter še
nekaj manj pomembnih opcij. Tik pod njim se nahaja repozitorij z lastnostmi posameznega
izbranega elementa, čisto na dnu pa se nahaja "Error List", ki javlja napake, ki se pojavijo
tekom dela.
Shema dimenzijskega modela
Da smo lahko dostopali do podatkov dimenzijskega modela, je bilo treba določiti vir
podatkov iz relacijske podatkovne baze, kar smo storili v navigacijskem drevesu "Solution
Explorer" v mapi "Data Source". Najprej smo kreirali novo povezavo z relacijsko
podatkovno bazo. Na podlagi podatkovnega vira smo morali določiti tabele, iz katerih
želimo črpati podatke za analizo. Tabele smo zajeli iz relacijskega vira v "Solution
Explorer" v mapi "Data Source View", kjer smo v sklopu "čarovnika" izbrali dimenzijske
tabele in tabele dejstev, ki sestavljajo našo zvezdno ali snežinkasto shemo dimenzijskega
modela. Odpre se nam okno s kreiranim dimenzijskim modelom oz. "DSV Designer", ki ga
lahko po potrebi urejamo (dodajamo relacije, jih spreminjamo, brišemo, kreiramo
poizvedbe). V shemi dimenzijskega modela imamo kar nekaj opcij (dodajanje izračunov,
zamenjava tabele, brisanje, vpogled v podatke tabele ipd.) za urejanje le-tega.
Dimenzije in atributi
Večdimenzionalni podatkovni model je sestavljen iz dimenzij, ki smo jih kreirali v
"Solution Explorer" v mapi "Dimensions". SSAS omogoča gradnjo več različnih tipov
dimenzij, pri čemer pa vsaka dimenzija lahko vsebuje poljubno število kreiranih hierarhij.
Take dimenzije imenujemo tudi več hierarhične dimenzije (angl. multiple hierarchy
dimensions). Glede na vir podatkov pa omogoča gradnjo dveh vrst dimenzij:
posamezne dimenzije (angl. Single Dimensions),
povezane dimenzije (angl. Linked Dimensions).
Posamezne dimenzije so običajne dimenzije, ki se kreirajo iz natanko ene dimenzijske
tabele. Povezane dimenzije nam omogočajo, da lahko med seboj združimo več različnih
UM FERI Analiza in primerjava OLAP- orodij
54
dimenzij iz različnih relacijskih virov in na tak način dobimo dimenzijo s skupnimi
lastnostmi.
V osnovi pa se dimenzije delijo na:
standardne dimenzije,
časovne dimenzije.
SSAS v osnovi pri kreiranju bistveno ne razlikuje med časovnimi in standardnimi
dimenzijami. Da dimenzija postane časovna, ji moramo ob kreiranju določiti le ustrezen tip
atributov (privzeti tip "Regular" atributa v tem primeru spremenimo na eno od podzvrsti
tipov "Date"), ali pa časovno dimenzijo kreiramo direktno iz predlog ponujenih ob pričetku
kreiranja dimenzij. Pri tem je zelo pomembno, da posameznemu atributu določimo
ustrezen tip, saj lahko v nasprotnem primeru privede do težav ob izvajanju MDX funkcij.
Hierarhije in ravni
Posameznim dimenzijam je treba kreirati tudi hierarhije in njihove člane, ki vsebujejo
relacije med nivoji. Hierarhije smo ustvarili v oknu "Dimension Designer", ki vsebuje tri
zavihke. Prvi zavihek "Dimension Structure" nam omogoča delo na področju kreiranja
hierarhij. Zgrajen je iz orodne vrstice in iz treh delovnih področij. Prvo področje na levi
strani nam predstavlja atribute, ki smo jih v času kreiranja naložili iz relacijske baze.
Osrednje področje pa je namenjeno kreiranju hierarhij, kamor iz prvega področja
prenesemo atribute. Pri tem je pomembno, da atribute, ki jih prenesemo, razporedimo v
posamezno hierarhijo glede na vrstni red oz. glede na nivo, ki smo si ga zadali. Področje na
skrajni desni nam predstavlja izvorno tabelo z atributi, ki jih lahko po potrebi dodajmo v
kreirano dimenzijo, tako da željen atribut enostavno povlečemo v prvo področje.
V SSAS se hierarhije med seboj razlikujejo glede na definirane relacije med nivoji (angl.
levels), pri čemer ločimo:
naravne hierarhije (angl. natural hierarchy),
navigacijske hierarhije (angl. navigational hierarchy).
Analiza in primerjava OLAP- orodij UM FERI
55
Naravne hierarhije vsebujejo nivoje, ki so med seboj v relaciji starš – otrok (angl. parent –
child). Kar pomeni, da med nivoji nastopa relacija ena proti mnogo (1:N) oz. vsak starš
ima lahko poljubno število otrok, posamezen otrok pa lahko ima samo enega starša. Za
naravne hierarhije lahko izdelamo tudi relacije, s čemer izboljšamo čase poizvedovanja in
zmanjšamo prostorske zahteve. Navigacijske hierarhije predstavljajo nasproten pomen
naravnim hierarhijam. Nivoji med seboj ne predstavljajo pomenskih relacij. Navigacijske
hierarhije imajo tudi dobre lastnosti, saj izboljšujejo uporabnost podatkovne kocke in jih na
enostaven način dodajamo, spreminjamo ali brišemo.
Pri kreiranju nekaterih hierarhij ni mogoče ustvariti naravnih, tipična taka hierarhija je npr.
"Kupec", saj vsebuje mnogo proti mnogo (N:M) relacije med nivoji Med člani hierarhij
imamo možnost kreirati tudi relacije. Primarno so med relacijami prazne puščice, ki
označujejo prilagodljiv tip relacij, in pomenijo, da se odnos med nivojema lahko skozi čas
spreminja (npr. nivo pošta lahko ima podnivo številko pošte, ki se lahko v nekem trenutku
razlikuje od prejšnjega). V nasprotnem primeru, če se odnos med nivoji skozi čas ne
spreminja, govorimo o togem odnosu med relacijami in se označuje s polnimi puščicami.
Kocke, agregati in izračunljive mere
Osnovni element večdimenzionalnega podatkovnega modela predstavlja tudi kocka, njeni
agregati in izračunljive mere. Kocko smo kreirali v "Solution Explorer" v mapi "Cubes" na
podlagi ustvarjenih dimenzijskih tabel. Ko kocko definiramo, se nam odpre "Cube
Designer", ki vsebuje kar nekaj zavihkov z operacijami za delo s kocko. Na zavihku "Cube
Structure" imamo na razpolago orodja za delo z agregati in dimenzijami kreirane kocke.
Zavihek "Calculations" nam ponuja orodja za delo z izračunljivimi merami, skriptami in
"set-i". V tem primeru imamo možnost definirati svoje ali že pripravljene funkcije. Vse
izračunljive mere temeljijo izključno na MDX poizvedovalnem jeziku. Na razpolago
imamo tudi možnost kreiranja t. i. poimenovanih "set-ov" (angl. Named Set), ki nam
omogočajo ponovno uporabo sestavljenih meritev, funkcij, izračunov in omogočajo
poenostavitev MDX poizvedb in uporabo vzdevkov za kompleksnejše definirane izraze.
Podobno vlogo predstavlja tudi pisanje ukaznih skript (angl. Script Command), ki
omogoča pisanje MDX skript, ki veljajo za kocke, kjer lahko dodeljujemo različne kvote
na določene mere, urejamo obliko prikaza podatkov ipd. SSAS omogoča tudi kreiranje
UM FERI Analiza in primerjava OLAP- orodij
56
ključnih indikatorjev delovanja (KPIs, angl. Key Performance Indicators), ki so nam v
pomoč pri ocenjevanju uspešnosti poslovanja podjetja. KPI so sestavljeni iz niza
izračunov, pri katerih je značilno, da so kombinacija izračunov in MDX
večdimenzionalnih izrazov. Zavihek "Actions" je namenjen obravnavi akcij. Slednje so
dogodki, k jih lahko uporabnik sproži pri dostopu do podatkov kocke. So v naprej določeni
elementi metapodatkov, shranjeni na strežniku, ki pošiljajo ukaze odjemalcem.
Vzdrževanje podatkov
Podatke je v procesu izvajanja analiz potrebno shraniti, zaščitit in na primeren način
vzdrževati. V ta namen je v SSAS razvitih kar nekaj funkcionalnosti, ki se nahajajo
predvsem na zavihkih urejevalnika kocke. V zavihku "Partitions" imamo možnost
dodajanja in urejanja particij. Particija nam podaja tip, kako in kje so naši podatki v kocki
shranjeni, kakšen je čas pri obdelavi podatkov iz kocke in njihova dostopnost. SSAS
omogoča shranjevanje podatkov v kocko s pomočjo tehnologije ROLAP, MOLAP in
HOLAP. Zavihek "Aggragations" nam omogoča delo na področju agregacij podatkov.
Agregacije nam naredijo poizvedovanje v sistemih OLAP hitrejše. To so že v naprej
združeni in preračunani podatki, ki se zapišejo direktno na disk. Zavihek "Perspectives" in
"Translations" nam omogočata filtriranje podatkov glede na uporabo v kocki in ustvarjanje
kreiranim gradnikom prevode v tujih jezikih. V mapi "Roles" navigacijskega drevesa
imamo možnost dodeljevanja uporabniških pravic dostopa, do elementov
večdimenzionalnega modela. Posameznim uporabnikom ali skupinam lahko dodelimo
različne prioritete dostopa do gradnikov (popolna kontrola, samo branje ipd.).
Pridobivanje in pregled podatkov
Podatke lahko pregledujemo sproti za vsako dimenzijo posebej ali pa kasneje v okviru
kreirane kocke. V obeh primerih je postopek zelo podoben. Preden lahko podatke
pregledujemo, jih je treba najprej pridobiti iz izvorov. Podatke pridobimo iz izvorov,
enostavno s pomočjo opcije "Process", ki jo vršimo nad dimenzijami ali kocko. Podatke
pregledujemo v zavihku "Browser" posamezne dimenzije ali kocke. Brskalnik kocke (Slika
4.6) je sestavljen iz menijske vrstice, ki se nahaja tik nad delovnimi področji. Področje
Analiza in primerjava OLAP- orodij UM FERI
57
skupnih meritev (angl. Measure Group) se nahaja na levi strani nad področjem
izračunljivih članov (angl. Calculated Members). Nad osrednjim področjem, ki je
namenjeno za prikaz in analizo podatkov, pa se nahaja področje namenjeno filtriranju po
različnih kriterijih.
Slika 4.6: SSAS: Brskalnik podatkov kocke
Podatke lahko v osrednje področje dodajamo iz levih dveh področij s pomočjo "povleci in
spusti" operacije. Možno jih je tudi filtrirati glede na posamezno dimenzijo in izbrano
hierarhijo glede na operator in izraz, ki ga navedemo v "Filter Expression". Na razpolago
imamo tudi opcijo "Design Mode", s katero preklapljamo med grafičnim načinom dela in
načinom, ki temelji na podlagi vnosa MDX poizvedb, s čemer lahko dosežemo enak
rezultat. V različici SSAS 2012 se naprednejše operacije OLAP lahko vršijo izključno s
pomočjo izvoza (opcija "Analyze in Excel") podatkov v Microsoft Office Excel, kjer
imamo na razpolago večino operacij, ki nam pomagajo pri analiziranju želenega
poslovnega procesa. Orodje je predstavljeno na naslednji Sliki 4.7.
UM FERI Analiza in primerjava OLAP- orodij
58
Slika 4.7: SSAS: Pregled podatkov v MS Excel
S pomočjo "vtičnika" PivotTable imamo možnost v Excel izvajati zelo kakovostne analize,
ki jih lahko prikažemo grafično s pomočjo grafov (PivotChart), ključnih kazalnikov
uspešnosti, spreminjanja barv ob spremembah poslovanja ter še nekaj drugih. Zraven
grafičnega prikaza imamo na razpolago dokaj velik nabor operacij OLAP:
vrtanje v globino in zvijanje navzgor,
vrtenje,
rezanje,
vrtanje skozi in čez,
gnezdenje in filtriranje.
S pomočjo znaka plus lahko nivoje hierarhij razširjamo ali združujemo in na tak način
dosežemo operacijo vrtanja v globino oz. zvijanja navzgor. PivotTable omogoča tudi
zamenjavo vertikalne in horizontalne osi, s čemer dosežemo operacijo vrtenja. Vstavimo
lahko tudi "Slicer", ki nam predstavi podatke glede na posamezne kategorije podrobnosti, s
čemer dosežemo operacijo rezanja. S prikazom podrobnejših "detajlov" lahko dosežemo
operacijo vrtanja skozi. Operacijo gnezdenja in filtriranja lahko dosežemo s pomočjo
področja "PivotTable Field".
Analiza in primerjava OLAP- orodij UM FERI
59
4.3.3 Arhitektura tehnologije Oracle Database OLAP Option
Arhitektura Oracle Database OLAP Option (Slika 4.8) analitičnih orodij je na videz precej
podobna arhitekturi proizvajalca Microsoft, saj na podoben način vse storjene spremembe
operacij OLAP shranjuje v podatkovni bazi, do katere dostopamo s pomočjo odjemalskih
aplikacij.
Slika 4.8: Arhitektura Oracle Database OLAP Option [36]
Arhitekturo analitičnega orodja Oracle Database OLAP Option sestavljajo naslednje
komponente [17]:
analitični delovni prostor (angl. Analytic Workspace),
OLAP katalog (angl. OLAP Catalog),
OLAP analitično izvajalno okolje (angl. OLAP Analysis Engine),
OLAP DML ukazni jezik (angl. OLAP Data Manipulation Language),
SQL funkcijska tabela (angl. SQL Table Functions),
OLAP programski vmesnik oz. OLAP API (angl. OLAP Application Programming
Interface).
UM FERI Analiza in primerjava OLAP- orodij
60
Analitični delovni prostor se uporablja za shranjevanje večdimenzionalnih podatkov. Kar
pomeni, da so podatki shranjeni v obliki agregiranih večdimenzionalnih struktur v
relacijsko podatkovno zbirko. Predpostavka relacij v analitičnem delovnem okolju
predstavlja materializiran pogled (angl. materialized view) ali sumirane tabele (angl.
summary table), ki se uporabljajo za preagregiranje podatkov v relacijskih tabelah. Za
razliko od drugih objektov podatkovne baze je lahko analitični delovni prostor stalen ali
začasen, dokler potekajo analize, in je uporaben, kadar želimo uporabiti napredne
analitične izračune in operacije tehnologije OLAP.
OLAP katalog predstavlja večdimenzionalni logični model na podlagi podatkov v
relacijski shemi. Sestavljen je iz metapodatkov, to so dimenzije, nivoji, hierarhije, atributi,
meritve in kocke. Upoštevati je treba, da se osnovni podatki shranjujejo v relacijskih
tabelah v obliki zvezdne oz. snežinkaste sheme ali pa kot alternativno v analitičnem
delovnem prostoru z uporabo SQL poizvedb. Model, ki ga zagotavlja OLAP katalog,
omogoča aplikacijam OLAP dostopanje do večdimenzionalnih in relacijskih podatkov na
enoten način. V ta namen se uporablja orodje Analytic Workspace Manager, ki omogoča
delo z metapodatki in omogoča kreiranje analitičnega delovnega okolja in shem.
OLAP analitično izvajalno okolje se uporablja za izvajanje večdimenzionalnih
izračunov, ki tečejo znotraj strežnika podatkovne baze, in operira s podatki shranjeni v
analitičnem delovnem prostoru. Dopolnjuje analitične funkcije z različnimi SQL izračuni,
kot so na primer razne napovedi, razdeljevanja in modeliranja.
OLAP DML je zmogljiv programski jezik, ki se uporablja za zajem, manipulacijo in
poizvedovanje po podatkih v analitičnem delovnem okolju. Zagotavlja več vrst operacij,
kot so agregiranje oz. seštevanje, napovedovanje, regresijsko analiziranje, numerični
izračuni in časovna manipulacija.
SQL funkcijska tabela se uporablja za zagotavljanje dostopa do večdimenzionalnih
podatkov oz. omogoča interakcijo z analitičnim delovnim okoljem. Pri čemer ponuja
uporabnikom možnost izvajanja SQL operacij znotraj analitičnega delovnega prostora.
OLAP API omogoča, da lahko do večdimenzionalnih podatkov dostopamo s pomočjo
jezikov SQL, PL/SQL ali OLAP DML. OLAP API je predstavljen z naborom programskih
Analiza in primerjava OLAP- orodij UM FERI
61
vmesnikov Java. Pri čemer omogoča razvijalcem aplikacij implementacijo programov, ki
zagotavljajo izračune, večdimenzionalne izbire in navigacijo skozi izbrane podatke.
4.3.4 Analiza tehnologije Oracle Database OLAP Option 11g R2
Pri namestitvi jedra podatkovne baze Oracle 11g Release 2 se nam namestijo tudi
analitična orodja. Ker se funkcionalnosti OLAP nahajajo znotraj podatkovne baze, smo
morali pred pričetkom dela pridobiti nekaj uporabniških pravic na področju administracije
podatkovne baze. Do funkcij in podatkov OLAP, shranjenih v analitičnem delovnem
prostoru, smo dostopali s pomočjo odjemalskega orodja Analytic Workspace Manager
(AWM), ki nam omogoča delo z večdimenzionalnimi objekti podatkovne baze. AWM nam
služi za delo z naslednjimi opravili [23]; [22]:
kreiranje analitičnega delovnega okolja,
definiranje dimenzij in članov ravni,
kreiranje hierarhij in atributov,
definiranje kocke in meritev,
prenos podatkov iz izvornih relacijskih tabel,
pregled podatkov.
Podatke lahko naložimo iz podatkovne baze iz naslednjih virov:
tabel (angl. Tables),
pogledov (angl. Views),
sinonimov (angl. Synonyms).
Povezava med odjemalskim orodjem in strežnikom
S pomočjo orodja AWM se pred pričetkom dela povežemo s podatkovno bazo. Strežnik in
odjemalec se lahko nahajata na različnih lokacijah, dostopnih prek interneta. Orodje je
zgrajeno iz menijske vrstice, ki se nahaja nad delovnim področjem, zgrajenim iz levega in
desnega okna, in ima osnovne funkcije in nabor nastavitev orodja AWM. Levo okno
predstavlja osrednje področje, ki z navigacijsko strukturo drevesa omogoča kreiranje
UM FERI Analiza in primerjava OLAP- orodij
62
posameznih elementov, desno okno je namenjeno prikazu in vnosu podrobnosti o kreiranih
objektih. Primer vzpostavitve povezave in zgradbe vidimo na naslednji Sliki 4.9.
Slika 4.9: Zgradba AWM orodja in vzpostavitev povezave z O.D. OLAP Option
Preden smo orodju omogočili dostop do podatkovne baze, smo morali v orodju AWM
kreirati novo povezavo. Za povezavo smo v pojavnem oknu vnesli naslov za dostop do
podatkovne baze, ki je sestavljen iz imena gostitelja, porta in instance. Nakar smo se v
instanco podatkovne baze povezali s pomočjo vnosa uporabniškega imena in gesla
uporabnika za dostop do sheme, v kateri imamo tabele, katere smo uporabili pri kreiranju
podatkovne kocke OLAP.
Vse delo poteka znotraj analitičnega delovnega prostora, ki smo ga kreirali znotraj sheme,
v katero smo se na začetku povezali s pomočjo uporabniškega imena in gesla. Delovno
področje smo kreirali v mapi "Analytic Workspace" (AW) navigacijskega drevesa. Kreiran
AW lahko vidimo tudi znotraj podatkovne baze, ki je poimenovan na naslednji način:
"AW$aw_ime". Kreirana tabela shranjuje vse večdimenzionalne objekte v analitičnem
delovnem prostoru.
Kreiranje posameznih objektov je možno na več načinov, in sicer:
ročno definiranje AW, dimenzij in kock,
uvoz že v naprej generiranih AW, dimenzij in kock.
Analiza in primerjava OLAP- orodij UM FERI
63
Dimenzije in člani
Večdimenzionalni podatkovni model je sestavljen iz dimenzij in njenih članov, ki smo jih
kreirali v mapi "Diemensins" v navigacijskem drevesu orodja. Naknadno lahko člane oz.
nivoje urejamo v mapi "Levels" navigacijskega drevesa. Dimenzije so v AWM
predstavljene kot seznami enoličnih vrednosti za kategorizacijo podatkov, ki skupaj z
meritvami tvorijo robove kocke. Dimenzije vključujejo naslednje gradnike, ki tvorijo
logični model:
ravni (angl. Levels),
hierarhije (angl. Hierarchies),
atribute (angl. Atributes).
AWM zagotavlja dva tipa dimenzij:
uporabniške dimenzije (angl. User Dimensions),
časovne dimenzije (angl. Time Dimensions).
Podatki, ki se nahajajo v dimenzijah, morajo biti unikatno določeni, kar pomeni, da na vseh
ravneh obstajajo le podatki, ki imajo enoličen identifikator. Glede na podatke lahko torej
ustvarimo dimenzije, ki uporabljajo:
naravne oz. izvorne ključe (angl. Source keys),
nadomestne ključe (angl. Surrogate keys).
Izvorni ključi so ključi, ki se nahajajo v enaki obliki kot v izvornih podatkih, pri čemer
morajo biti glede na ravni v dimenzijah edinstveni. Pri nadomestnih ključih zagotovimo
edinstvenost z dodajanjem predpon atributom v fazi prenosa podatkov v AW in jih na tak
način sestavimo glede na njihovo raven, v kateri se nahajajo.
Hierarhije in nivoji
Ustvarjenim dimenzijam in članom je treba definirati tudi hierarhije in njene nivoje.
Hierarhije in nivoje smo kreirali v podmapi "Hierarchies" posamezne dimenzije. Dimenzije
lahko vsebujejo eno ali več hierarhij. Pri čemer AWM loči dva tipa hierarhij:
UM FERI Analiza in primerjava OLAP- orodij
64
nivojsko orientirane hierarhije (angl. Level-Based hierarchy),
vrednostno orientirane hierarhije (angl. Value-Based hierarchy).
Večina hierarhij temelji na nivojsko orientiranih hierarhijah, pri čemer AWM nudi podporo
za naslednje iz zvrsti:
običajne oz. normalne hierarhije (angl. Normal hierarchies),
raztrgane hierarhije (angl. Ragged hierarchies),
hierarhije s preskokom ravni (angl. Skip-level hierarchies).
Običajne hierarhije so sestavljene iz enega ali več nivojev agregacij, pri čemer so
posamezni elementi zviti navzgor (angl. roll up) po hierarhiji do najvišje ravni. Med nivoji
obstaja relacija ena proti mnogo (1:N). Raztrgane hierarhije vsebujejo vsaj en element z
drugačno osnovo ravni, kjer se vozlišči listov nahajajo na različnih ravneh v hierarhiji.
Hierarhije s preskokom ravni vsebujejo vsaj en element, katerega starši so več ravni nad
njim, in ustvarjajo luknjo v hierarhiji, kar pomeni, da lahko stolpci vsebujejo prazne
vrednosti, zaradi česar hierarhije omenjenega tipa ne nudijo podpore za materializiran
pregled podatkov (angl. cube materialized view).
Primer posameznih tipov hierarhij z nivoji predstavlja naslednja Slika 4.10.
Slika 4.10: O. D. OLAP Option: Tipi nivojsko orientiranih hierarhij [22]
Posamezne tipe hierarhij lahko med seboj tudi kombiniramo in ustvarimo t. i. "Ragged-
Skip" hierarhije. Pri kreiranju nivojev hierarhij upoštevamo, da ima lahko otrok
posameznega nivoja le enega starša, saj AW ne podpira večhierarhičnih dimenzij (angl.
multiple hierarchy dimensions). V tem primeru ustvarimo dve ločeni hierarhiji (Slika 4.11)
za upravljanje relacij med njima, a s tem še ne dosežemo tipičnih večhierarhičnih dimenzij.
Analiza in primerjava OLAP- orodij UM FERI
65
Slika 4.11: O. D. OLAP Option: Upravljanje relacij med hierarhijami [22]
Vrednostno orientirane hierarhije ne omogočajo izgradnje nivojev. Če želimo uporabiti
hierarhije omenjenega tipa, je treba v AWM ob kreiranju dimenzij nujno določiti, da se
ključi uporabljajo iz izvornih podatkov oz. v "Dimension Member Loading" izbrati opcijo
"Use Keys from Data Source". Opisan primer predstavlja Slika 4.12:
Slika 4.12: O. D. OLAP Option: Vrednostno orientirane hierarhije [22]
Posameznim nivojem, hierarhijam in dimenzijam lahko kreiramo tudi atribute, ki se
nahajajo v mapi "Atributes" navigacijskega drevesa. Atributi nam služijo kot dodatne
informacije, ki opisujejo nivoje hierarhij in dimenzij. Uporabljajo se predvsem za
označevanje, organizacijo in grafično prikazovanje podatkov.
Ločimo dva tipa atributov:
samodejno definirani atributi,
uporabniško definirani atributi.
Samodejno definirani so atributi, ki jih samodejno kreiramo pri definiranju dimenzij, če
pustimo označene opcije "Short Description Attribute" oz. "Long Description Attribute",
kar je tudi odvisno od izbire tipa dimenzije, saj se pri časovni dimenziji dodata tudi
samodejno kreirana atributa "End date" in "Time span", ki služita kot končni datum, in
dolžina časa nekega časovnega obdobja. Uporabniško definirani atributi so atributi, ki jih
uporabnik definira sam, in so namenjeni predvsem za zagotavljanje dodatnih informacij.
UM FERI Analiza in primerjava OLAP- orodij
66
Kocke, agregati in izračunljive mere
Kocko v AW kreiramo na podlagi predhodno definiranih dimenzij. Kreirali smo jo v mapi
"Cubes" navigacijskega drevesa. Kocki smo kreirali tudi agregate in izračunljive mere v
podmapi "Measures" in "Calculated Measures" navigacijskega drevesa. Agregati so
pridobljeni na podlagi izvornih podatkov, izračunljive mere pa na podlagi agregatov.
AWM orodje zagotavlja tri osnovne kategorije izračunljivih mer:
aritmetične operatorje (izračunljive na podlagi dveh osnovnih mer),
analitične funkcije (izračunljive na podlagi ukaza obsegov ene meritve ali stolpca),
enovrstične funkcije (izvajanje izračunov na podlagi posamezne vrstice).
Aritmetične operacije temeljijo na osnovnih matematičnih izračunih skozi vse nivoje
hierarhij (seštevanje, deljenje, odštevanje ipd.). Analitične funkcije predstavljajo
poizvedbe, ki temeljijo na poslovni inteligenci in omogočajo analitikom podporo pri
odločanju pri primerjavah in ugotavljanju trendov poslovanja. Enovrstične funkcije so
enovrstične SQL poizvedbe, ki vsebujejo funkcije, kot so numerične, znakovne, časovne,
primerjalne in pretvorbene.
AWM orodje loči dva tipa izračunljivih mer:
večizračunljive mere (ang. Multiple Calculated Measures),
enoizračunljive mere (ang. Single Calculated Measures).
Kocka ima na razpolago kar nekaj opcij in nastavitev. V zavihku "Aggregation" imamo na
razpolago tipe agregacij, ki se bodo izvajale ob proženju operacij. Izbiramo lahko tudi med
dvema različnima metodama za preračunavanje agregacij, in sicer:
vrednostno orientirani agregati (angl. Cost-based aggregation),
nivojsko orientirani agregati (angl. Level-based aggregation).
Vrednostno orientirani agregatom v odstotkih določimo vrednost "najdražjih" celic, ki
hranijo nabor agregiranih vrednosti. Višji je odstotek, večji bo nabor podatkov, ki se v
naprej izračuna in shrani. Nivojsko orientirani agregati omogočajo združevanje na nivojih
Analiza in primerjava OLAP- orodij UM FERI
67
hierarhij, kjer iz področja "Dimesnsions" izberemo dimenzijo in nivoje, katere želimo
vključiti v združevanje.
Vzdrževanje podatkov
Podatke je v AW možno tudi vzdrževati, shraniti in zaščititi. V zavihku "Storage" imamo
možnost določiti način shranjevanja podatkov. Če želimo, lahko to storimo tudi
avtomatsko s pomočjo svetovalca "Cube Storage Advisor". Označimo in izberemo lahko
tudi tip stiskanja podatkov, kateremu določimo natančnost, in obseg. V tabeli "Sparsity"
določimo vrstni red za dimenzije, katerim želimo določiti "pičlost". S tem dosežemo
optimizacijo porabe diska in odzivnega časa pri preračunavanju podatkov v kocki. Pičlost
igra vlogo pri podatkih, kjer so prazne vrednosti, in kadar so podatki razdrobljeni ter se
povečuje eksponento s številom dimenzij in nivojev v hierarhijah. Podatki se v AW
shranjujejo s pomočjo tehnologij MOLAP, ROLAP in HOLAP. V AWM lahko funkcije
vzdrževanja izvajamo ročno ali avtomatizirano. V praksi se ročnega vzdrževanja
izogibamo, in želimo proces v veliki meri avtomatizirati.
Na razpolago imamo naslednje metode vzdrževanja:
skripte po meri kocke (angl. Custom Cube Script),
vzdrževanje skript (angl. Maintenance Script),
kocka materializiranih pogledov (angl. Cube Materialized Views).
Skripte po meri kocke predstavljajo urejen seznam opravil, ki pripravi kocko na
poizvedovanje. Kar pomeni, da lahko v vrstnem redu kreiramo opravila, ki se izvedejo
pred izvajanjem poizvedb v kocki. Podobna situacija je pri vzdrževanju skript. Razlika je
le v tem, da lahko v tem primeru opravila določimo posamezni kocki ali dimenziji. Pri
kocki materializiranih pogledov je situacija nekoliko drugačna. Podatki se v tem primeru
osvežujejo postopoma, zaradi česar povečamo odzivnost sistema. AWM nam ponuja tudi
poimenovanje elementov večdimenzionalnega podatkovnega modela, kjer prevode
definiramo v mapi "Languages" navigacijskega drevesa. AWM omogoča tudi kreiranje
zaščite podatkov elementom analitičnega delovnega prostora z opcijo "Set Object
Security". Za vsak element AW področja lahko določimo uporabnike ali pravila, s katerimi
je možno dostopati do želenih elementov.
UM FERI Analiza in primerjava OLAP- orodij
68
Preslikava in pregled podatkov
Posamezna kreirana dimenzija oz. kocka vsebuje v navigacijskem drevesu tudi področje
"Mapping", kjer podatke iz relacijskih virov preslikamo v dimenzijo ali kocko. Področje je
sestavljeno iz menijske vrstice na vrhu in iz levega in desnega področja, kjer levo področje
vsebuje sheme s tabelami, pregledi in sinonimi, desno oz. osrednje področje pa je
namenjeno za povezovanje posameznih atributov z izbrano shemo. Menijska vrstica
vsebuje nekaj priročnih funkcij za delo s preslikavami.
Pri preslikavi dimenzij imamo na izbiro dva tipa dimenzijskih tabel:
shema v obliki zvezde (angl. Star Schema),
shema v obliki snežinke (angl. Snowflake Schema).
Zvezdna shema omogoča delo z naravnimi in nadomestnimi ključi. Podatke lahko
preslikamo iz tabel ali pogledov. Ključi morajo biti za vsak nivo unikatni, saj se podatki
prenesejo v skupen seznam oz. tabelo, pri čemer bi se na tak način podvajali. Enake
izvorne podatke lahko povežemo z več atributi posamezne dimenzije. Snežinkasta shema
omogoča opcije podobne kot pri zvezdni, vendar pa se pogledi oz. tabele izvornih
podatkov za vsako raven hierarhije povezujejo ločeno. Vsebuje tudi dodaten atribut
"Parent", kateremu je treba zagotoviti starša predhodnega nivoja, in v tem primeru lahko
vsebuje le hierarhije z definiranimi nivoji.
Podatke imamo možnost pregledovati za vsako dimenzijo posebej ali pa kasneje ob
pregledu podatkov kocke. Vendar pa je podatke treba za vsako dimenzijo ali kocko najprej
pridobiti iz izvorov. Podatke pridobimo s pomočjo opcije "Maintain" na posamezni
dimenziji ali kocki. Pregledovalnik meritev (angl. Measure Data Viewer) se od pregleda
dimenzij precej razlikuje. V pregledu se oblikuje poročilo, ki nosi informacije, ki so
pomembne pri poslovanju podjetij, pregledovalnik dimenzij pa je namenjen predvsem za
sprotno preverjanje pravilnosti prenesenih podatkov iz izvornih tabel.
V pregledovalniku meritev lahko nad podatki kocke izvajamo naslednje operacije:
vrtanje v globino in zvijanje navzgor,
vrtenje pogleda z vlečenjem robov (vrstic, stolpcev in strani) na nove pozicije,
Analiza in primerjava OLAP- orodij UM FERI
69
rezanje (angl. slice and dice) podatkov s pomočjo graditelja poizvedb,
filtriranje in gnezdenje.
Pregledovalnik meritev odpremo s pomočjo opcije "View Data", ki jo vršimo nad kocko ali
ustvarjene meritve, in se nam odpre v pogovornem oknu, kot vidimo na Sliki 4.13.
Slika 4.13: O. D. OLAP Option: Pregledovalnik meritev kocke
Podatke lahko v pregledovalniku meritev tudi urejamo, tako grafično kot funkcionalno.
Kot smo že omenili, lahko izvajamo operacije, kjer zamenjujemo položaj hierarhij glede na
vodoravno in navpično koordinato s pomočjo operacije "povleci in spusti". Temu dejanju
rečemo tudi vrtenje. Kadar dodajamo hierarhije eno zraven druge, temu rečemo gnezdenje.
Če razširimo posamezno hierarhijo, storimo operacijo vrtanja v globino ali združimo,
potem je to zvijanje navzgor, kar storimo s pomočjo klikanja na puščice. Rezanje podatkov
lahko izvedemo s pomočjo graditelja poizvedb oz. "Query Builder", do katerega
dostopamo v osnovnem meniju, kjer imamo na razpolago naslednje zavihke:
"Items": kjer lahko dodajamo meritve in dimenzije v poizvedbe.
UM FERI Analiza in primerjava OLAP- orodij
70
"Layout": omogoča spreminjanje pozicije hierarhij oz. vrtenje.
"Dimensions": kjer določamo filtre oz. s katerim nivojem naj se hierarhija prične.
"Hiden Dimensions": kjer lahko dodamo meritve, ustvarjene v dimenzijah, ki niso
vključene v poizvedbo.
4.3.5 Arhitektura tehnologije Pentaho Analysis Services
Pentaho Analysis Services oz. Mondrian je sestavljen iz štirih plasti, in sicer [26]:
predstavitvena plast,
plast dimenzij,
plast zvezdne sheme,
plast skladiščenja.
Predstavitvena plast predstavlja dejanski rezultat, kar končni uporabnik vidi na svojem
zaslonu, in kakšen vpliv imajo zastavljena vprašanja pri tem. Obstaja veliko načinov za
predstavitev večdimenzionalnih podatkov, vključno s pivot tabelami, raznovrstnimi
grafikoni in naprednimi orodji za vizualizacijo, ki so lahko implementirani v
najrazličnejših programskih jezikih ali preneseni v sistem preko XML jezika. Za vse te
oblike predstavitev je skupna večdimenzionalna struktura dimenzij, meritev in celic v
predstavitveni plasti, s pomočjo katere zastavljamo vprašanja in strežnik OLAP na njih
odgovarja.
Plast dimenzij predstavlja drugi sloj, ki razčlenjuje, preverja in izvaja MDX poizvedbe.
Posamezna poizvedba je ovrednotena v več fazah. Najprej se izračunajo osi dimenzij in
šele nato vrednosti posameznih celic znotraj njih. Zaradi večje učinkovitosti dimenzijska
plast pošilja celične zahteve (angl. cell-requests) po agregacijskem sloju v serijah.
Poizvedbena transformacija omogoča aplikaciji manipulacijo z že obstoječimi
poizvedbami namesto grajenje MDX poizvedb od začetka za posamezno zahtevo. Pri
čemer metapodatki opisujejo dimenzijski model, in kako so le ti preslikajo v relacijski
model.
Analiza in primerjava OLAP- orodij UM FERI
71
Plast zvezdne sheme je odgovorna za vzdrževanje agregacijskega predpomnilnika.
Agregacije predstavljajo sklop vrednosti meritev ("celic") v pomnilniku, ki so razvrščene
po vrednosti stolpcev dimenzij. Plast dimenzij pošilja zahtevke za nize celic. V primeru, da
se zahtevane celice ne nahajajo znotraj predpomnilnika ali pa niso izpeljane do "navitih"
agregacij v predpomnilniku, potem agregacijski upravitelj pošlje zahtevo v plast
skladiščenja.
Plast skladiščenja predstavlja sistem za upravljanje z relacijskimi podatkovnimi bazami
oz. RDBMS (Relational Database Management System), katerega odgovornost je
zagotavljanje agregiranih podatkov celic in članov iz dimenzijskih tabel.
Arhitektura posameznih plasti je predstavljena na naslednji Sliki 4.14:
Slika 4.14: Pentaho Analysis Services arhitektura [26]
Vse te komponente lahko obstajajo na istem računalniškem sistemu ali pa se jih razdeli
med več sistemov. Plast dimenzij in zvezdne sheme, ki jih zajema strežnik Analysis
Services, mora biti na istem računalniku. Medtem pa se plast skladiščenja lahko nahaja na
drugem sistemu, pri čemer mora biti dostopna preko JDBC (Java Database Connectivity)
povezave, ki določa, kako naj odjemalci dostopajo do podatkovne baze in izvajajo
UM FERI Analiza in primerjava OLAP- orodij
72
poizvedbe. V večuporabniškem sistemu bi predstavitvena plast obstajala na računalniku
vsakega končnega uporabnika, razen JSP (Java Server Pages – tehnologija za izdelavo
dinamičnih spletnih strani v Java jeziku) strani, ki se generirajo direktno na strežniku [26].
4.3.6 Analiza tehnologije Pentaho Analysis Services 3.4
Preden smo se lotili analiz, je bilo treba izdelati podatkovno kocko OLAP. Kocko smo
izdelali s pomočjo orodja Schema Workbench, ki omogoča izgradnjo shem ROLAP. To so
XML metapodatki, ki jih lahko s pomočjo XML značk zapišemo v različnih tekstovnih
urejevalnikih, vendar pa nam je orodje v pomoč, saj nam nudi nabor gradnikov, ki jih
kasneje lahko objavimo na Pentaho Analysis portalu.
Orodje nam je v pomoč pri kreiranju nekaterih osnovnih funkcij [24]; [21]:
kocke,
dimenzij,
hierarhij in nivojev,
mapiranju podatkov,
privzetih in izračunljivih meritev,
določanju uporabniških pravic.
Povezava med orodjem za kreiranje sheme in podatkovnim skladiščem
Pred pričetkom dela je bilo treba orodje Schema Workbench povezati s podatkovnim
skladiščem (Slika 4.15), v našem primeru smo uporabili relacijsko bazo MySQL. Novo
povezavo s podatkovno bazo smo kreirali s pomočjo opcije "Connection", ki se nahaja v
glavnem meniju orodja. V pogovornem oknu smo izbrali povezavo z bazo MySQL, za
katero smo vnesli naslov za dostop, ime kreirane baze, port, uporabniško ime ter geslo za
dostop do baze. Potrebno je določiti tudi, na kakšen način želimo dostopati do baze. Sami
smo za dostop oz. povezovanje uporabljali gonilnik oz. protokol JDBC, ki ga pridobimo na
straneh ponudnikov baz.
Analiza in primerjava OLAP- orodij UM FERI
73
Slika 4.15: Zgradba Schema Workbench in povezava z MySQL bazo
Kot je razvidno iz Slike 4.19, je orodje sestavljeno iz glavnega menija, ki ponuja nekaj
osnovnih operacij za povezovanje s podatkovnimi bazami in splošnim urejanjem projekta.
Ob kreiranju novega projekta se nam v osrednjem delovnem področju odpre okno, ki je
sestavljeno iz osnovnega menija, ki ponuja nabor gradnikov za delo z večdimenzionalnim
modelom. Tik pod menijem se na levi strani nahaja področje, kjer v obliki navigacijskega
drevesa kreiramo posamezne elemente sheme večdimenzionalnega modela. Na desni strani
pa se nahaja osrednje področje, kjer posameznim gradnikom sheme določamo lastnosti in
atribute. Čisto na dnu orodja se nahaja vrstica stanja, kjer so prikazane tudi napake, ki se
pojavijo ob kreiranju.
Kocke, agregati in izračunljive mere
Večdimenzionalni podatkovni model je sestavljen iz kocke in njenih meritev, ki jo
kreiramo z opcijo "Add Cube". Pred kreiranjem kocke smo morali ustvariti najprej shemo,
na kateri smo potem gradili vse preostale elemente večdimenzionalnega modela. Izbrati
imamo možnost tudi "MDX Query", ki nam omogoča poizvedovanje s pomočjo jezika
UM FERI Analiza in primerjava OLAP- orodij
74
MDX ob kreirani shemi, ali "JDBC Explorer", ki nam odpre privzeto shemo naših tabel, ki
se nahajajo v bazi. Za razliko od proizvajalcev Microsoft in Oracle je v Pentaho Schema
Workbench splošno pravilo, da se kocka kreira pred ostalimi elementi sheme. V pentaho
ločimo dva tipa kock, in sicer:
standardne kocke,
virtualne kocke (angl. virtual cubes).
Standardne kocke so sestavljene iz samostojnih meritev in dimenzij, virtualne kocke pa
združujejo lastnosti več različnih kock med sabo. Sestavljene so iz virtualnih meritev in
dimenzij, ki prav tako povzemajo lastnosti ostalih. S kreiranjem virtualne kocke dobimo
novo kocko, ki temelji na skupnih lastnostih vseh vključenih.
Workbench Schema omogoča kreiranje dveh tipov meritev posamezne kocke, in sicer:
privzete mere oz. agregati,
izračunljive mere.
Privzete mere temeljijo na podlagi agregacij in jih določimo posamezni meri tabele
dejstev, izračunljive mere pa se izračunajo sproti na podlagi MDX poizvedb. Vse
izračunljive mere v Pentaho temeljijo na MDX poizvedbah in se ne shranjujejo direktno na
disk, ampak se izračunajo sproti ob proženju posameznih operacij OLAP.
Dimenzije
Eden od elementov predstavljajo tudi dimenzije, ki jih kreiramo z opcijo "Add
Dimension". Schema Workbench omogoča kreiranje več različnih tipov dimenzij.
Dimenzije se v prvi vrsti delijo na:
standardne dimenzije,
virtualne dimenzije (angl. virtual dimensions).
Standardne dimenzije so sestavljene iz posameznih dimenzijskih tabel, medtem pa
virtualne dimenzije združujejo več kreiranih dimenzij v skupno celoto in tvorijo novo
nastalo dimenzijo, ki temelji in povzema lastnosti ter atribute iz dimenzij, ki je kreirana.
Analiza in primerjava OLAP- orodij UM FERI
75
Virtualne dimenzije lahko kreiramo le za posamezno predhodno ustvarjeno virtualno
kocko.
V shemi se lahko dimenzije nahajajo znotraj posamezne kocke ali pa znotraj sheme, pri
čemer ločimo:
zasebne dimenzije (angl. private dimensions),
skupne dimenzije (angl. shared dimensions).
Zasebne dimenzije se kreirajo vedno samo znotraj posamezne podatkovne kocke, pri čemer
je njihova uporaba omejena na kocko, v kateri je vsebovana. Skupne dimenzije, kot že ime
pove, so skupne vsem kreiranim kockam v shemi, kar pomeni, da njihova uporaba ni
omejena le na eno kocko, ampak se lahko vse dimenzije porabijo v vsaki od kreiranih
kock. Za razliko od zasebnih so kreirane znotraj sheme in zunaj kock. Zasebne dimenzije
morajo biti unikatno poimenovane le znotraj kreirane kocke, medtem pa skupne znotraj
celotne sheme. Praviloma proizvajalec priporoča gradnjo skupnih dimenzij zaradi večje
optimizacije.
V osnovi pa se dimenzije delijo glede na tip:
standardne dimenzije (angl. Standard Dimension),
časovne dimenzije (angl. Time Dimension).
Razlika med njimi je, da pri časovnih dimenzijah imamo v nadaljnjih korakih kreiranja
možnost posameznim atributom dodati lastnosti značilne za časovna obdobja, in jih na tak
način zaznamujemo, kar omogoča kasnejšo obravnavo pri procesiranju, standardne
dimenzije pa so zaznamovane kot regularni tip članov.
Hierarhije in ravni
Kreiranim dimenzijam je treba definirati tudi hierarhije in ravni, kar dosežemo z opcijo
"Add Hierarchy" in "Add Level". Pentaho Analysis omogoča delo z več hierarhijami hkrati
(angl. multiple hierarchies).
UM FERI Analiza in primerjava OLAP- orodij
76
Podobno kot SSAS tudi Pentaho razlikuje med:
otrok – starš hierarhije (angl. parent-child),
standardne hierarhije.
Orodje v osnovi deluje s hierarhijami mnogo proti mnogo (N:M) oz. standardnimi
hierarhijami. Če pa želimo, da so hierarhije tipa "otrok – starš", je treba v nivojih oz.
atributih to posebej določiti. Posamezna kreirana hierarhija mora vsebovati najmanj enega
ali več članov oz. nivojev. Nivoje v hierarhiji kreiramo glede na vrstni red podrobnosti. Na
vrhu se nahajajo najmanj podrobnejši nivoji, medtem pa so na dnu najbolj podrobni.
Vzdrževanje podatkov
Znotraj posameznih elementov večdimenzionalnega modela imamo možnost določiti tudi
uporabniške pravice in pravila za dostop do posameznih gradnikov. Kar storimo v orodju z
opcijo "Add Role", znotraj katere je možno dodajati "grant" elemente, ki se navezujejo na
posamezen gradnik sheme. Pentaho strežnik shranjuje svoje podatke v relacijski bazi
podatkov (ROLAP). Vsaka vrstica v tabeli dejstev vsebuje stolpec za posamezno
dimenzijo in mero. Agregati ROLAP se shranjujejo v tabelah, pri čemer tehnologija
ROLAP ne zahteva predhodnega računanja in shranjevanja podatkov in se do podatkov
dostopa s pomočjo SQL poizvedb.
Ko smo s kreiranjem kocke zaključili, smo ustvarjeno XML shemo objavili na spletnem
vmesniku Pentaho BI (Business Intelligence) portala (natančneje v Pentaho Analysis
Services oz. Mondrian). Preden pa smo lahko to storili, je bilo treba v Pentahu BI portalu
kreirati nov podatkovni vir, od koder želimo pridobiti podatke. Po uspešni prijavi v spletni
vmesnik, v glavnem meniju izberemo opcijo za kreiranje novega podatkovnega vira
podatkov. Vir izvornih podatkov je lahko:
CSV datoteka (angl. Comma Separated Values File),
SQL poizvedba (angl. SQL Query),
podatkovne tabele (angl. Database Tables).
Analiza in primerjava OLAP- orodij UM FERI
77
Prva izbira nam nudi prenos podatkov direktno iz CSV datoteke, medtem ko druga izbira
temelji na SQL poizvedbi, s pomočjo katere dobimo podatke iz virov. Pri tretji izbiri
podatke pridobimo iz podatkovnega skladišča oz. podatkovne baze. V našem primeru smo
se odločili za vir podatkov iz podatkovne baze. Po izbiri načina pridobitve izvornih
podatkov iz tabel podatkovne baze je treba predhodno ustvariti povezavo med podatkovno
bazo, iz katere želimo črpati podatke, in Pentaho portalom. Pri tem je treba v nastavitvah
navesti ime gostitelja, ime podatkovne baze, port in uporabniško ime ter geslo za dostop do
podatkovne baze. V nadaljevanju smo izbrali kreirano shemo, od koder želimo črpati
podatke, ter iz razpoložljivih tabel tiste, ki jih potrebujemo. Na koncu smo kreirali
povezave med primarnimi in tujimi ključi tabel.
V spletnem vmesniku se na osnovni strani nahaja "Pentaho Browser", kjer lahko na levi
strani vidimo področje, ki je razdeljeno na podpodročja "Browse" in "Files". V prvem
področju kreiramo mapo, v katero bomo dodajali vse naše datoteke, ki so potem ob kliku
na želeno mapo prikazane v področju pod njim. Pred pričetkom torej kreiramo mapo, ki bo
vsebovala našo shemo za kasnejšo analizo.
V nadaljevanju s pomočjo programa Schema Workbench shemo objavimo na portalu
Pentaho Analysis Servies, kar smo storili v glavnem meniju orodja, kjer smo izbrali opcijo
"Publish". V nastavitvah je treba vnesti URL naslov do Pentaho BI portala, geslo za dostop
do strežnika in uporabniško ime ter geslo uporabnika, s katerim se prijavljamo v spletni
vmesnik. V pojavnem oknu smo nato izbrali lokacijo, kamor želimo objaviti shemo, ter v
nastavitvah "Publish Settings" zapisali "JNDI Data Source" (JNDI – Java Naming and
Directory Interface), ki smo ga definirali v predhodnih korakih, ter shemo objavili.
Vse nadaljnje delo poteka v Pentaho spletnem portalu Analysis Services. V osnovnem
meniju smo izbrali opcijo za pregled analiz oz. "Analysis View", pri čemer smo v
pojavnem oknu izbrali pred tem kreirano shemo ter kocko s tabelo dejstev. Odpre se nam
pregled nad podatki, kot je prikazan na naslednji Sliki 4.16.
UM FERI Analiza in primerjava OLAP- orodij
78
Slika 4.16: Pentaho Analysis Services: Pregledovalnik podatkov kocke
Pentaho Analysis Services vsebuje kar nekaj funkcij za delo z večdimenzionalnimi
podatki. Orodje torej ponuja naslednje operacije OLAP:
vrtanje v globino in zvijanje navzgor,
vrtenje,
rezanje,
vrtanje skozi, čez, po članu, po poziciji ali z zamenjavo,
filtriranje in gnezdenje,
Izvajanje MDX poizvedovanj,
Na Sliki 4.20 je predstavljen navigator OLAP, ki nam omogoča filtriranje in gnezdenje
podatkov ter zamenjavo dimenzij glede na vrstice in stolpce, kar predstavlja operacijo
vrtenja. Enako dosežemo s klikom na gumb "Swap Axes". Opcija MDX je namenjena
izvajanju MDX poizvedovanj oz. izračunov. Opcija "Drill Through" nam omogoča vrtanje
skozi. S pomočjo znaka plus lahko hierarhije razširjamo ali obratno, kar predstavlja
Analiza in primerjava OLAP- orodij UM FERI
79
operacijo vrtanja v globino in navzgor. Orodje nam ponuja še nekaj neobičajnih operacij,
kot so vrtanje po članih (angl. Drill Member), vrtanje po poziciji (angl. Drill Position) in
vrtanje z zamenjavo (angl. Drill Replace). Zraven operacij OLAP orodje ponuja sortiranje
hierarhij, prikaz lastnosti, izločanje praznih vrstic in stolpcev ipd. Orodje ponuja tudi delo
z grafi, ki jih imamo možnost urejati. Vključuje pa tudi funkcijo analiziranja podatkov v
Microsft Office Excel.
4.4 Primerjava in razlike med proizvajalci orodij OLAP
V naslednjih poglavjih smo podrobneje predstavili ključne razlike med lastnostmi in
funkcionalnostmi strežnikov posameznih proizvajalcev OLAP tehnologije (Microsoft
Analysis Services 2012, Oracle Database OLAP Option 11g R2, Pentaho Analysis
Services 3.4). Za rezultate primerjav smo si izdelali enostaven odločitveni model, s katerim
smo ocenili pomembnost funkcionalnosti oz. lastnosti, ki so na voljo v posameznih
sistemih OLAP. Posamezni funkcionalnosti smo dodali utež oz. prioriteto, ki predstavlja
pomembnost oz. v nekaterih primerih intuitivnost dela s sistemi proizvajalcev OLAP.
Pomembnost posameznih funkcionalnosti v povezavi z utežjo prioritete in intuitivnosti sta
definirani v naslednjih tabelah (Tabela 4.1 in 4.2).
Tabela 4.1: Ocenjevalna lestvica prioritete pomembnosti uporabe
Prioriteta pomembnosti uporabe – ocenjevalna lestvica z utežmi
prioriteta funkcije pomembna1 srednje pomembna manj pomembna ni podpore
utež 3 2 1 0
Tabela 4.2: Ocenjevalna lestvica prioritete intuitivnosti uporabe
Prioriteta intuitivnosti uporabe - ocenjevalna lestvica z utežmi
prioriteta funkcije intuitivna2 srednje preprosta težavna ni podpore
utež 3 2 1 0
1 Pomembna funkcija je tista, brez katere bi orodje OLAP bilo manj uporabno in kvalitetno.
2 Intuitivna funkcija predstavlja potreben čas, v katerem uporabniki dojamejo implementirano funkcijo.
UM FERI Analiza in primerjava OLAP- orodij
80
V Tabeli 4.1 smo predstavili ocenjevalno lestvico glede na prioriteto pomembnosti uporabe
posamezne funkcije oz. lastnosti. Večja je utež pomembnosti, bolj pomembno funkcijo
predstavlja. Orodje, ki zajema po prioriteti najpomembnejše funkcije, je uporabnejše in
kvalitetnejše. Najpomembnejšo prioriteto predstavlja utež s tremi točkami (pomembna) in
najmanj z eno točko (manj pomembna). Kadar orodje ne podpira funkcionalnosti, smo ji
dodelili utež z nič točkami (ni podpore). V Tabeli 4.2 smo predstavili ocenjevalno lestvico
glede na prioriteto intuitivnosti uporabljenih funkcionalnosti oz. lastnosti in je zelo
podobna Tabeli 4.1. Torej najbolj intuitivno funkcionalnost predstavlja utež s tremi
točkami (intuitivno) in najmanj z eno točko (težavno), v primeru nepodpore pa smo ji
dodelili nič točk. Najintuitivnejše orodje je tisto, ki je najhitreje dojemljivo in preprosto za
uporabo brez predznanja programskih jezikov in pomoči informatikov.
Funkcionalnost smo ovrednotili na podlagi informacije, ali je le ta v sistemu
implementirana oz. na voljo ali ne. Če funkcionalnost ali lastnost v sistemu obstaja, smo ji
dodelili vrednost 1 oz. simbol zaradi hitrejše predstave, v primeru, če funkcionalnost ni
na voljo, smo ji dodelili vrednost 0 oz. simbol . Kadar je funkcionalnost oz. lastnost v
sistemu delno implementirana ali v nekaterih detajlih posnema izvorno funkcionalnost,
smo ji dodelili vrednost 0.5 oz. simbol . Primer vrednotenja predstavlja Tabela 4.3.
Tabela 4.3: Ovrednotenje obstoja funkcionalnosti oz. lastnosti
Obstoj funkcionalnosti/lastnosti
pomen obstaja/podpira delno obstaja/podpira ne obstaja/podpira
simbol
točke 1 0,5 0
Za posamezni sistem z enačbo oz. utežno vsoto izračunamo vrednost, ki predstavlja oceno
pomembnosti ali intuitivnosti uporabe posamezne funkcionalnosti. Bolje ocenjeni sistemi
imajo večjo vsoto, slabše ocenjeni, manjšo. Rezultat ocene predstavlja enačba:
Analiza in primerjava OLAP- orodij UM FERI
81
4.4.1 Primerjava arhitektur proizvajalcev orodij OLAP
Če med seboj primerjamo arhitekturo oz. zgradbo posameznega predstavnika orodij
OLAP, ugotovimo, da sta si proizvoda proizvajalcev Microsoft in Oracle dokaj podobna.
Oba omenjena distributerja za razliko od proizvajalca Pentaho vključujeta orodja OLAP, ki
so delno ali povsem integrirana znotraj jedra podatkovne baze (strežnik OLAP) in se do
njih dostopa prek odjemalcev, kar pa prinaša določene prednosti in slabosti.
Prednosti integrirane arhitekture:
Omogoča analitičnim orodjem večjo prodornost in možnost hkratnega dostopa
večji količini uporabnikov.
V večini primerov lažja za uporabo, kar pripomore k hitrejšemu delu.
Omogoča večjo povezljivost med analitičnimi orodji in podatki, lažjo odpravo
napak in njihovo identifikacijo.
Omogoča večjo prilagodljivost analitičnih orodij, kar predstavlja za analitična
orodja lažjo priključitev v nove in obstoječe aplikacije ter lažje izogibanje ozkim
grlom.
Omogoča večjo odzivnost sistema in optimizacijo poslovnih procesov.
Lažje sledenje spremembam poslovanja, kar omogoča boljše razumevanje in
hitrejšo prilagoditev poslovnega procesa.
Slabosti integrirane arhitekture:
Analitična orodja močno odvisna od platforme in zmogljivosti podatkovne baze.
Otežena združljivost s proizvodi drugih proizvajalcev.
Omejitve glede razširljivosti vsebovanih analitičnih orodij.
Kompleksnejše zahteve po varnosti in zaščiti.
V naslednji Tabeli 4.4 lahko vidimo nekaj splošnih informacij o posameznem proizvajalcu
orodij OLAP.
UM FERI Analiza in primerjava OLAP- orodij
82
Tabela 4.4: Osnovne informacije strežnikov OLAP [31]; [24]
Osnovne informacije
Proizvajalci strežnikov OLAP
Microsoft Analaysis Services
Oracle Database OLAP Option
Pentaho Analysis Services
zadnja stabilna različica
2012 11g R2 3.4.0
programska licenca lastniška lastniška EPL
status licence plačljiv plačljiv neplačljiv
izvorna koda zaprtokoden zaprtokoden odprtokoden
sistemske zahteve minimalno 6 GB razpoložljivega pomnilnika na disku
minimalno 512 MB RAM, priporočljivo 1 GB RAM pomnilnika
minimalna
hitrost x86 CPU:
1.0 GHz, x64
CPU: 1.4 GHz,
priporočljiva nad
2.0 GHz
minimalno 5,35 GB razpoložljivega pomnilnika na disku
minimalno 1 GB RAM, priporočljivo vsaj 2 GB RAM pomnilnika
minimalna hitrost x86 in x64 CPU: 1.0 GHz, priporočljiva nad 1.0 GHz
minimalno 1 GB za delovne postaje in 2 GB za strežnike razpoložljivega pomnilnika na disku
priporočljivo 2 GB RAM pomnilnika za delovne postaje in 4 GB za strežnik
minimalna hitrost x86 in x64 CPU: nad 1.0 GHz
podporno orodje za modeliranje podatkovne kocke OLAP
Microsoft Visual Studio 2010
Analitic Workspace Manager 11.2
Pentaho Schema Workbench 3.4.1
Kot je razvidno iz tabele sta proizvajalca Oracle in Microsoft plačljiva in zaprtokodna,
medtem pa proizvajalec Pentaho ponuja odprtokodne rešitve, ki so neplačljive (EPL –
Eclipse Public License). Vsi trije pa za dodatne storitve ponujajo letno plačljive premije.
Če primerjamo sistemske zahteve, ugotovimo, da proizvoda Pentaho Analysis Services in
Oracle Database OLAP Option za svoje delovanje uporabljata več RAM pomnilnika,
medtem pa Microsoft Analysis Services zahteva večjo razpoložljivo kapaciteto na disku in
zmogljivejši procesor.
Analiza in primerjava OLAP- orodij UM FERI
83
Arhitektura proizvajalca Pentaho se od preostalih dveh nekoliko razlikuje. Pentaho
Analysis Services v osnovi ni omejen oz. integriran samo na določeno centralizirano
podatkovno bazo oz. skladišče, ampak ponuja velik nabor podatkovnih baz, s katerimi se
lahko povezuje. Vključuje tudi podporo podatkovnima bazama, na katerih temeljita
primerjajoča konkurenta, iz katerih lahko črpa podatke, kar predstavlja določeno prednost,
vendar pa jih shranjuje s pomočjo tehnologije ROLAP, zaradi česar dosega slabše odzivne
čase v primerjavi z ostalima proizvajalcema. Pentaho Analysis Services je integriran
znotraj Pentaho BI portala kot spletna aplikacija za razliko od Oracle in Microsoft, ki sta v
osnovi namizni aplikaciji. Oracle Database OLAP Option omogoča gradnjo podatkovne
kocke s pomočjo grafičnega odjemalca ali pa neposredno prek konzole, vendar je
konzolsko delo precej zahtevnejše v primerjavi z grafičnim. Microsoft Analysis Services
omogoča gradnjo podatkovne kocke izključno v grafičnem načinu.
Vsi trije proizvajalci orodij OLAP omogočajo gradnjo podatkovnega modela na podlagi
zvezdne ali snežinkaste sheme. Pri tem omogočajo gradnjo dimenzij, hierarhij, nivojev
hierarhij, agregatov in izračunljivih meritev ipd., vendar se pri tem razlikujejo v ključnih
podrobnostih, uporabljeni tehnologiji, pomembnosti uporabljenih funkcionalnosti in
intuitivnosti gradnje modela iz stališča splošnega uporabnika. V naslednji Tabeli 4.5 in
Grafu 4.1 smo prikazali nekaj bistvenih razlik med proizvajalci orodij OLAP.
UM FERI Analiza in primerjava OLAP- orodij
84
Tabela 4.5: Podpora in intuitivnost uporabe funkcij v strežnikih OLAP [31]
Funkcionalnosti in značilnosti Prioriteta
Proizvajalci strežnikov OLAP
Microsoft Analaysis Services + VS3
Oracle Database OLAP Option + AWM4
Pentaho Analysis Services + SW5
po
dp
ora
intu
itiv
no
st u
po
rab
e
po
dp
ora
intu
itiv
no
st u
po
rab
e
po
dp
ora
intu
itiv
no
st u
po
rab
e
kreiranje dimenzij 3 3 3 3
kreiranje hierarhij 3 3 2 2
kreiranje virtualnih elementov 2 2 0 2
starš-otrok (parent–child) hierarhije 3 1 1 2
navigacijske (N:M) hierarhije 3 3 0 3
časovne hierarhije/dimenzije 3 3 3 3
veččasovne (multiple time) hierarhije 2 3 3 2
nivojsko orientirane (level based) hierarhije 3 3 3 3
vrednostno orientirane (value based) hierar. 2 0 2 0
večhierarhične dimenzije 3 3 3 3
kreiranje nivojev (levels) 3 3 3 1
kreiranje dodatnih atributov in lastnosti 2 2 3 2
združevanje atributov 2 2 1 0
ustvarjanje relacij med atributi 1 1 0 0
kreiranje kocke 3 3 2 3
kreiranje agregatov 3 3 3 2
poladitivne mere 3 3 3 2
izračunljive meritve 3 3 3 1
skupinske meritve 2 2 2 1
ustvarjanje naprednih funkcij oz. skript 2 2 2 1
kreiranje ključnih kazalnikov uspešnosti (KPI) 1 2 0 0
3 Microsoft Analysis Services z odjemalskim orodjem MS Visual Studio.
4 Oracle Database OLAP Option z odjemalskim orodjem Analytic Workspace Manager.
5 Pentaho Analysis Services z orodjem Schema Workbench.
Analiza in primerjava OLAP- orodij UM FERI
85
Funkcionalnosti in značilnosti Prioriteta
Proizvajalci strežnikov OLAP
Microsoft Analaysis Services + VS
Oracle Database OLAP Option + AWM
Pentaho Analysis Services + SW
po
dp
ora
intu
itiv
no
st u
po
rab
e
po
dp
ora
intu
itiv
no
st u
po
rab
e
po
dp
ora
intu
itiv
no
st u
po
rab
e
SQL poizvedovanje 2 2 2 0
MDX poizvedovanje 3 2 2 1
particioniranje 3 3 2 0
modifikacija sheme oz. dimenzijskega modela 1 3 2 2
sprotni zajem podatkov dimenzij/hierarhij 1 3 3 0
sprotni pregled podatkov dimenzij/hierarhij 1 3 3 0
določanje vlog in pravil (Roles) 1 3 3 1
poimenovanje elementov v tujem jeziku 1 3 3 0
primarni pregled podatkov kocke (Browser) 3 3 3 3
možnost analiziranja v MS Excel 1 3 1 3
možnost razširitev 3 3 2 1
primarni prikaz in urejanje grafov 2 0 3 3
UM FERI Analiza in primerjava OLAP- orodij
86
Graf 4.1: Primerjava funkcionalnosti strežnikov OLAP
Iz grafa in tabele je razvidno, da sta proizvoda proizvajalcev Microsoft in Oracle po
ponudbi funkcij in po prioriteti pomembnosti posameznih funkcij precej izenačena.
Proizvajalca ponujata veliko implementiranih rešitev, ki so v pomoč pri izgradnji
večdimenzionalnega podatkovnega modela oz. kocke. Načeloma tudi Pentaho v prvih dveh
primerih ne zaostaja za vodilnima za veliko točk. Pomembnejše razlike se kažejo na grafu
pri primerjavi intuitivnosti oz. preprostosti uporabe, kjer z nekaj točk prednosti vodi
Microsoft Analyisis Services, saj je v primerjavi z ostalima dvema njegov grafični vmesnik
precej bolj dovršen in na tak način tudi "prijaznejši" do splošnih uporabnikov, a v nekaterih
primerih tudi preveč kompleksen in omejen. Večina funkcij, ki jih ponuja, je
implementiranih tako, da nas skozi postopke vodi "čarovnik", zaradi česar omogoča
bistveno hitrejše razumevanje le-teh. Najslabše je v vseh treh primerih ocenjen Pentaho
Analysis Services, predvsem zaradi orodja za izdelavo podatkovne kocke oz. Schema
Workbench, saj je orodje tako rekoč preveč robustno. Orodje je zasnovano preprosto in nas
skozi postopek izdelave nikakor ne vodi, za razliko od konkurentov. Vendar pri tem ne
smemo pozabiti dejstva, da so orodja proizvajalca Pentaho odprtokodna, kar omogoča
nekoliko bolj veščim uporabnikom vpogled v razvojno okolje orodja, zaradi česar lahko
delo opravijo tudi bistveno hitreje kot pa skozi procedure "čarovnikov".
30,5
68,5
79
29
67,5 72
21,5
55 51
0
10
20
30
40
50
60
70
80
90
po podpori funkcionalnosti po prioriteti pomembnosti po intuitivnosti uporabe
Primerjava funkcionalnosti OLAP strežnikov
Microsoft Analaysis Services + VS Oracle Database OLAP Option + AWM
Pentaho Analysis Services + SW
Analiza in primerjava OLAP- orodij UM FERI
87
4.4.2 Primerjava tehnologije shranjevanja podatkov
Tehnologija shranjevanja podatkov v sistemih OLAP predstavlja eno od pomembnejših
lastnosti, saj na njej temelji celotna arhitektura posameznega proizvajalca. Določa tudi,
kako se podatki shranjujejo v podatkovno skladišče in kakšne so pri tem omejitve. Od
tehnologije shranjevanja podatkov je v veliki meri odvisna tudi odzivnost sistema in
prostorske zahteve shranjevanja, kar pa lahko igra pomembno vlogo pri posameznikovi
odločitvi. Pri odločiti uporabljene tehnologije je torej zelo dobro vedeti, na katerem
področju želimo čim manjše izgube, so to prostorske ali časovne zahteve, in se potem na
podlagi le teh odločimo. V naslednji Tabeli 4.6 so predstavljene tehnologije shranjevanja
podatkov, za katere nudi podporo posamezen proizvajalec.
Tabela 4.6: Podpora tehnologij shranjevanja podatkov v strežnikih OLAP [31]
Tehnologija shranjevanja podatkov
Prioriteta
Proizvajalci strežnikov OLAP
Microsoft Analaysis Services
Oracle Database OLAP Option
Pentaho Analysis Services
MOLAP 2
ROLAP 1
HOLAP 3
nepovezano (offline) 1
Kot je razvidno iz tabele, proizvajalca Oracle in Microsoft podpirata vse tri pomembnejše
tehnologije, pri čemer slednji podpira tudi delo brez povezave s podatkovnim skladiščem,
kar predstavlja določeno prednost pred ostalima proizvajalcema. Pentaho v tem primeru
podpira le tehnologijo ROLAP, ki se izkaže kot nekoliko počasnejša v primerjavi z
MOLAP in HOLAP, zaradi česar smo ji dodelili tudi manjšo prioriteto glede na
pomembnost uporabljene tehnologije.
UM FERI Analiza in primerjava OLAP- orodij
88
4.4.3 Primerjava podpore operacijam OLAP
Operacije OLAP predstavljajo bistvo analitičnih orodij za izvajanje večdimenzionalnih
analiz. Operacije omogočajo uporabnikom, da vključno z agregacijami in meritvami kar
najbolje predstavijo željen poslovni proces na način, ki ga sami najbolje razumejo. V
osnovi orodja OLAP ponujajo kar nekaj operacij v ta namen, še veliko več pa jih
proizvajalci ponujajo v razširitvenih paketih, ki temeljijo na sistemih OLAP. Naslednja
Tabela 4.7 prikazuje podporo operacij med proizvajalci strežnikov OLAP:
Tabela 4.7: Podpora strežnikov OLAP, operacijam OLAP
Operacije OLAP Prioriteta
Proizvajalci strežnikov OLAP Microsoft Analaysis Services+VS+Excel
Oracle Database OLAP Option+AWM
Pentaho Analysis Services (Jpivot)
vrtanje v globino 3
zvijanje navzgor 3
rezanje 3
vrtenje 3
vrtanje skozi 2
vrtanje čez 2
primerjanje, izračuni, agregiranje
3
gnezdenje 2
zapisovanje nazaj
(Write – back) 2
filtriranje 2
vrtanje po članu 1
vrtanje po poziciji 1
vrtanje z zamenjavo 1
V tabeli smo največjo prioriteto po pomembnosti dodelili osnovnim operacijam ter
najmanjšo zadnjim trem, ki so tipične predvsem za proizvajalca Pentaho. Orodja OLAP
proizvajalca Pentaho, kot je razvidno iz tabele, ponujajo največjo podporo operacijam,
sledi mu proizvajalec Microsoft in na koncu Oracle z najmanjšim naborom operacij.
Vendar pri tem ne smemo pozabiti na dejstvo, da Microsoft Analyisis Services 2012 skupaj
z odjemalskim orodjem Visual Studio 2010 ponuja le osnovni pregled podatkov in
Analiza in primerjava OLAP- orodij UM FERI
89
izvajanje operacij dosežemo šele s povezavo s pisarniškim paketom Microsoft Office
Excel. Oracle vključuje izvajanje operacij v povezavi z orodjem Analytic Workspace
Manager, ki omogoča zelo preprosto delo tako z izvajanjem operacij kot z grafi.
4.4.4 Primerjava podpore poizvedovalnim in programskim jezikom
Arhitektura posameznega proizvajalca orodij OLAP temelji na različnih programskih,
skriptnih in poizvedovalnih jezikih ter programskih vmesnikih (API, angl. Application
Progamming Interface) (Tabela 4.8). Bistveno področje predstavljajo poizvedovalni jeziki,
saj na njih temeljijo analize. S pomočjo poizvedovalnih jezikov uporabniki izvajajo
predvsem razne agregacijske in izračunljive funkcije. Tipični poizvedovalni jezik, ki se
uporablja za poizvedovanje v analitičnih orodjih, predstavlja MDX, in sicer kot izpeljanka
SQL jezika, ki za razliko od SQL omogoča enostavnejše in bolj kompleksno
poizvedovanje v večdimenzionalni strukturi. Ena od pomembnih lastnosti sistemov OLAP
je tudi podpora za pisanje lastnih funkcij oz. uporabniško definiranih funkcij (angl. UDF –
User Defined Functions) in skript, ki sprejemajo argumente in vračajo njihovo vrednost v
kontekstu MDX poizvedb. Zraven tipičnih lahko v analitičnih sistemih zasledimo še:
XMLA oz. XML za analize (XML for analysis) je standard, ki se uporablja za
dostop do podatkov v analitičnih sistemih.
OLE DB (Object Linking and Embedding Database) predstavlja specifikacije in
industrijski standard za večdimenzionalno obdelavo podatkov.
LINQ (Language Integrated Query) je poizvedovalni jezik, ki je vgrajen v
programski jezik, kar pomeni, da omogoča poizvedovanja direktno iz
programskega jezika, v katerem programiramo.
OLAP DML je večdimenzionalni jezik, ki ga uporablja Oracle za manipulacijo s
podatki v analitičnem delovnem okolju.
UM FERI Analiza in primerjava OLAP- orodij
90
Tabela 4.8: Podpora strežnikov OLAP, API in poizvedovalnim jezikom [31]
API in poizvedovalni jeziki Prioriteta
Proizvajalci strežnikov OLAP Microsoft Analaysis Services
Oracle Database OLAP Option
Pentaho Analysis Services
XMLA 1
OLE DB za OLAP 2
MDX 3
funkcije po meri 3
SQL 2
LINQ 1
jezik shranjevanja procedur 1
Java -
.NET -
PL/SQL -
OLAP DML -
Po podatkih iz tabele lahko sklepamo, da največ podpore poizvedovalnim jezikom nudi
Microsoft Analysis Services, vendar je Oracle Database OLAP Options nekoliko
zmogljivejši na področju shranjevanja procedur. Tudi Pentaho Analysis Services nudi kar
obsežen nabor jezikov, vendar zaradi svoje arhitekture ne ponuja shranjevanja procedur.
4.4.5 Primerjava varnosti in zaščite podatkov
Vsekakor predstavlja varnost podatkov in njihova zaščita eden od pomembnih faktorjev pri
izbiri proizvajalca orodij OLAP, saj bi s slabo zaščito podatkov lahko ogrozili poslovanje
podjetja. Pri avtentikaciji je zelo pomembno, da se strežnik prepriča, da je uporabnik, ki
dostopa do sistema, res tisti, za katerega se predstavlja, prav tako je pomembno tudi, da so
podatki, ki se prenašajo prek omrežij, ustrezno šifrirani in pri tem ne dopušča uhajanje
informacij. Pri strežnikih OLAP je potrebno varnost zagotoviti tudi posameznim
elementov večdimenzionalnega modela ter podatkom, s katerimi le ta opravlja. Zaradi tega
imamo v sistemih OLAP možnost dodajanja uporabniških pravic oz. pravil (angl. roles) do
posameznih elementov, funkcij in podatkov. To omogoča upravljalcem, da uporabnikom,
ki imajo možnost dostopa do elementov in podatkov OLAP, dodelijo ustrezne prioritete
Analiza in primerjava OLAP- orodij UM FERI
91
glede na funkcije, ki jih lahko opravljajo znotraj sistema (pregledovanje, modificiranje
ipd.). V Tabeli 4.9 je predstavljena primerjava varnosti in zaščite med strežniki OLAP.
Tabela 4.9: Podpora strežnikov OLAP, varnosti in zaščiti [31]; [25]
Varnost in zaščita Prioriteta
Proizvajalci strežnikov OLAP Microsoft Analaysis Services
Oracle Database OLAP Option
Pentaho Analysis Services
avtentikacija oz. overjanje 3
primarno overjanje podatkovne baze
-
NTLM oz. IWA -
kerberos -
LDAP -
CAS -
AD -
šifriranje omrežja (Network encryption)
3
SSL -
SSPI -
AES -
dostop do podatkov 3
zaščita celic 3
zaščita dimenzij 3
vizualne vsote (Visual totals)
3
Pri vsakem od primerjajočih proizvajalcev orodij OLAP lahko razberemo iz tabele, da
ponujajo posamezno vrsto zaščite dostopa, omrežja in podatkov. Pri proizvajalcu Pentaho
in Microsoft je stanje zelo podobno. Oracle ponuja že v osnovi zelo dobro administracijo
podatkovne baze (primarno overjanje podatkovne baze) in velik nabor možnosti določanja
uporabniških pravic. In sicer omogoča zaščito dostopa do analitičnega delovnega prostora,
kocke in dimenzij z uporabo standardnih SQL GRANT in REVOKE sintaks. Varnost
dostopa do podatkov je zagotovljena v kocki ali dimenzijah, pri čemer je možno dodeliti
SELECT, INSERT, UPDATE, DELETE privilegije članom dimenzij v celoti ali v okviru
posamezne kocke za nadzor dostopa do podatkov v večdimenzijskega modela. Microsoft
za overjanje uporabnikov uporablja NT LAN Manager (NTLM) in Kerberos kot protokol,
UM FERI Analiza in primerjava OLAP- orodij
92
ki se uporablja v omrežjih strežnik-odjemalec za preverjanje medsebojne prisotnosti
uporabnika in strežnika (tako uporabnik kot strežnik preverita drug drugega). Za šifriranje
omrežja uporablja protokol SSL (Secure Sockets Layer) za zaščito komunikacije prek
interneta in protokol SSPI (Security Support Provider Interface), ki ima podobno funkcijo,
vendar se uporablja izključno v Microsoft Windows sistemih. Pentaho uporablja za
avtentikacijo protokol LDAP (Lightweight Directory Access Protocol), za poizvedovanje
in spreminjanje imeniških storitev, CAS (Code Access Security) v Microsoft .NET
framework, ki se uporablja za preprečevanje izvajanja nezaupljivih programskih kod
priviligiranih akcij, AD (Active Directory), ki se uporablja za administracijo omrežja in
varnosti v strežniških sistemih Microsoft Windows, in protokol JDBC za dostop do
podatkovne baze in izvedbo poizvedb. Pentaho in Oracle uporabljata za zaščito omrežja
protokol SSL [25].
4.4.6 Primerjava podpore operacijskim sistemom
Eden od kriterijev pri odločitvi proizvajalca sistema OLAP definitivno predstavlja tudi
podpora operacijskemu sistemu, ker se bo podjetje, ki deluje na določenem OS (Operating
System), v tem primeru primorano odločiti za tistega proizvajalca, ki jim nudi podporo, saj
lahko zamenjava le-tega predstavlja prevelik in nepotreben finančni strošek. V nekaterih
primerih lahko že ta prednost pripomore k temu, da se podjetje raje odloči za drugega
proizvajalca, pa čeprav želeni omogoča boljše, kvalitetnejše in hitrejše storitve in
funkcionalnosti. Naslednja Tabela 4.10 predstavlja podporo sistemov OLAP, operacijskim
sistemom.
Analiza in primerjava OLAP- orodij UM FERI
93
Tabela 4.10: Podpora strežnikov OLAP, operacijskim sistemom [31]
Operacijski sistemi Prioriteta
Proizvajalci strežnikov OLAP Microsoft Analaysis Services
Oracle Database OLAP Option
Pentaho Analysis Services
Windows 3
Linux 2
Unix 2
z/OS 1
Kot je razvidno iz tabele, ponuja Microsoft podporo samo za lasten operacijski sistem,
medtem pa proizvajalca Oracle in Pentaho ponujata možnost namestitve na vseh
konkurenčnih operacijskih sistemih. Največjo prioriteto pomembnosti smo sicer dodelili
OS Microsoft Windows, saj le ta predstavlja večinski trg uporabnikov in najmanjšo
nekoliko manj znanemu IBM "Mainframe" operacijskemu sistemu z/OS (Z-serija), ki
predstavlja tudi minimalen tržni delež v primerjavi z ostalimi.
UM FERI Analiza in primerjava OLAP- orodij
94
Analiza in primerjava OLAP- orodij UM FERI
95
5 SKLEP
Orodja za sprotno analitično obdelavo podatkov temeljijo na podatkovnih skladiščih. Brez
dobro zasnovanega podatkovnega skladišča bi analitiki kljub še tako dobro zasnovanim
orodjem OLAP zelo težavno pridobili kvalitetne oz. bolje rečeno pomenske podatke, ki bi
predstavljali iskano informacijo. Pred pričetkom izvajanja analiz je torej treba vedeti,
kakšne informacije se pričakujejo od sistema, saj lahko le na tak način zagotovimo uspešno
opravljene poizvedbe, ki bodo koristne za naše poslovanje.
Preden se odločimo za ponudnika orodij OLAP je pomembno, da vemo, na kakšen način se
pri izbranem proizvajalcu podatki shranjujejo in kakšna je pri tem uporabljena tehnologija.
Kot smo lahko izvedeli iz predhodnih poglavij, proizvajalci ponujajo različne tehnologije
shranjevanja podatkov, ki se razlikujejo v odzivnosti in prostorskih zahtevah uporabljenih
tehnologij. Na odločitev vsekakor vpliva tudi kapaciteta skladiščenih podatkov in ali je pri
tem smiselno poseči po plačljivih orodjih, kdo je naš proizvajalec relacijskih podatkovnih
baz in na katerih operacijskih sistemih se deluje oz. posluje, kakšna je pri tem uporabljena
zaščita in administracija večdimenzionalnih podatkov ter kakšno tveganje predstavlja
izguba le-teh. Vse to in še več so osnovna vprašanja, na katere si je treba odgovoriti pred
odločitvijo.
Proizvajalci Microsoft, Oracle in Pentaho ponujajo podporo za izgradnjo
večdimenzionalne podatkovne kocke, vendar se pri tem razlikujejo v nekaterih
podrobnostih in lastnostih uporabljenih funkcionalnosti. Pri tem štejejo tudi izkušnje
zaposlenih, saj se ponudniki orodij OLAP razlikujejo tudi po intuitivnosti uporabniškega
vmesnika. Uporabniški vmesnih lahko vpliva na porabljen čas, ki ga zaposleni pri izgradnji
podatkovne kocke porabijo. Pomembno vlogo predstavljajo tudi uporabljeni poizvedovalni
in programski jeziki, saj na njih temelji učinkovitost poizvedb. Vsi trije predstavniki orodij
OLAP ponujajo dokaj velik nabor analitičnih operacij, s pomočjo katerih lahko
predstavimo in analiziramo večrazsežnostne podatke. Pri tem imajo vlogo tudi razširitve,
ki temeljijo na orodjih OLAP. Konkurenti ponujajo velik nabor razširitev in odjemalcev
analitičnih strežnikov v sklopu poslovne inteligence, in tako zagotavljajo še dodaten nabor
funkcionalnosti in operacij.
UM FERI Analiza in primerjava OLAP- orodij
96
Analiza in primerjava OLAP- orodij UM FERI
97
6 VIRI
[1] A. Jorgenson, S. Wort, R. LoForte, B. Knight, Profesional Microsoft SQL Server
2012 Administration, John Wiley & Sons, Indiana, 2012.
[2] bilab, Integracija podatkov – ključni proces BI projekta,
http://www.bilab.si/?show=content&id=12&men=16&oce=13, zadnjič obiskano: 22.
5. 2012.
[3] bilab, Podatkovno skladišče,
http://www.bilab.si/?show=content&id=11&men=15&oce=13, zadnjič obiskano: 13.
5. 2012.
[4] bilab, Tehnologija OLAP,
http://www.bilab.si/?show=content&id=13&men=17&oce=13, zadnjič obiskano: 22.
5. 2012.
[5] C. Ballard, D. Herreman, D. Schau, R. Bell, E. Kim, A. Valencic, Data Modeling
Techniques for Data Warehousing, first edition, Redbooks, 1998.
[6] Daniel L. Mody in Mark A. R. Korting, From Enterprise Models to Dimensional
models: A Methodology for Data Warehouse and Data Mart Design, Stockholm,
2000.
[7] Datamonkies, Data Marts, http://www.datamonkies.com/datamarts.htm, zadnjič
obiskano: 15. 5. 2012.
[8] Datawarehouse, OLTP vs. OLAP, http://datawarehouse4u.info/OLTP-vs-
OLAP.html, zadnjič obiskano: 22. 5. 2012.
[9] D. Jagarinec, OLAP in podatkovna skladišča, Moj mikro, 10, 2005, str. 78–79.
[10] D. Jagarinec, Operacije v OLAP-u, Moj mikro, 12, 2005, str. 80–81.
[11] D. Jagarinec, Skrivnosti izkopavanja podatkov, Moj mikro, 2006, str. 80–81.
[12] Element, The choice between Tabular or Multidimensional models in SQL Server
Analysis Services 2012, http://www.element61.be/e/resourc-
detail.asp?ResourceId=485, zadnjič obiskano: 21. 6. 2012.
[13] E-gradiva, Microsoft SQL Server, http://gradiva.txt.si/racunalnistvo/racunalniska-
omrezja/70_strezniki/msndashsql/, zadnjič obiskano: 19. 6. 2012.
UM FERI Analiza in primerjava OLAP- orodij
98
[14] E. Thomsen, OLAP Solutions: Building Multidimensional Infomation Systems,
Second edition, Wiley Computer Publishing, 2002.
[15] Izidor Golob in Tatjana Welzer, Arhitekture podatkovnih skladišč, 2001, str. 108–
116.
[16] J. Han in M. Kamber, Data Mining Concepts and Techniques, second edition,
Morgan Kaufmann Publishers, San Francisco, 2006.
[17] L. Hobbs, S. Hilson, S. Lawande, P. Smith, Oracle Database 10g Data Warehousing,
Elsevier Digital Press, Oxford, 2005.
[18] Mafira Wiki, OLAP, http://wiki.fmf.uni-lj.si/wiki/OLAP, zadnjič obiskano: 28. 5.
2012.
[19] Marko Holbl, Skladiščenje podatkov in poročanje, FERI, 2010.
[20] Microsoft Technet, Introducing OLAP Services, http://technet.microsoft.com/en-
us/library/cc917551, zadnjič obiskano: 21. 6. 2012.
[21] Mondrian Documentation, How to design a Mondrian Schema,
http://mondrian.pentaho.com/documentation/schema.php#Degenerate_dimensions,
zadnjič obiskano: 30. 6. 2012.
[22] Oracle OLAP, OLAP Workshop 4: Managing Different Types of Hierarchies
http://oracleolap.blogspot.com/2008/01/olap-workshop-4-managing-different.html,
zadnjič obiskano: 23. 6. 2012.
[23] Oracle OLAP Users Guide 11g Release 2, Creating Dimensions and Cubes
http://docs.oracle.com/cd/E11882_01/olap.112/e17123/cubes.htm, zadnjič obiskano:
23. 6. 2012.
[24] Pentaho Corporation, Getting Started with Pentaho Business Analytics, Orlando,
2011.
[25] Pentaho Corporation, The Pentaho Security Guide, Orlando, 2011.
[26] Pentaho Mondrian Documentation , Arhitecture
http://mondrian.pentaho.com/documentation/architecture.php, zadnjič obiskano: 30.
6. 2012.
[27] SearchSQLServer, Data mart, http://searchsqlserver.techtarget.com/definition/data-
mart, zadnjič obiskano: 15. 5. 2012.
Analiza in primerjava OLAP- orodij UM FERI
99
[28] S. Harinath, M. Carroll, S. Meenakshisundaram, R. Zare, D. Guang - Y. L.,
Profesional Microsoft SQL Server Analysis Services 2008 with MDX, Wiley
Publishing, Indiana, 2009.
[29] Univerza v Ljubljani, Biotehniška fakulteta, Sprotno analitično procesiranje - OLAP,
gradiva.
[30] W. H. Inmon, Building the Data Warehouse, Fourth Edition, Indianapolis, Wiley
Publishing, 2005.
[31] Wikipedia, Comparison of OLAP Servers
http://en.wikipedia.org/wiki/Comparison_of_OLAP_Servers, zadnjič obiskano: 20.
7. 2012.
[32] Wikipedia, Dimensional modeling,
http://en.wikipedia.org/wiki/Dimensional_modeling, zadnjič obiskano: 17. 5. 2012.
[33] Wikipedija, MySQL http://sl.wikipedia.org/wiki/MySQL, zadnjič obiskano: 19. 6.
2012.
[34] Wikipedia, Online analytical processing,
http://en.wikipedia.org/wiki/Online_analytical_processing, zadnjič obiskano: 22. 5.
2012.
[35] Wikipedia, OLAP Cube, http://en.wikipedia.org/wiki/OLAP_cube, zadnjič obiskano:
14. 6. 2012.
[36] Wiki, Oracle Olap, http://gerardnico.com/wiki/database/oracle/oracle_olap, zadnjič
obiskano. 28. 5. 2012.
[37] Wikipedia, PL/SQL http://en.wikipedia.org/wiki/PL/SQL, zadnjič obiskano: 19. 6.
2012.
[38] 1KD, Fact and Fact Table Types, http://www.1keydata.com/datawarehousing/fact-
table-types.html, zadnjič obiskano: 28. 5. 2012.
UM FERI Analiza in primerjava OLAP- orodij
100
Analiza in primerjava OLAP- orodij UM FERI
101
7 PRILOGE
7.1 Vsebina zgoščenke
Diplomsko delo v elektronski obliki,
Testne procedure in tabele dimenzijskega modela,
Projekti s shemo podatkovne kocke posameznega proizvajalca orodij OLAP.
7.2 Naslov študenta
Ime in priimek: Simon Ivanuša
Naslov: Godeninci 11
Pošta: 2277 Središče ob Dravi
E-pošta: [email protected]
7.3 Kratek življenjepis
Ime in priimek: Simon Ivanuša
Rojstvo: 02.03.1987, Ptuj
Osnovna šola: Središče ob Dravi
Srednja šola: SŠC Ptuj, Poklicna in tehniška elektrošola (1993-2002)
Smer: Računalniški tehnik
Višja šola: ŠC Ptuj, Višja strokovna šola (2006-2008)
Smer: Mehatronika
Visoka šola: Maribor, Fakulteta za elektrotehniko računalništvo in informatiko
Smer: Informatika in tehnologije komuniciranja
Analiza in primerjava OLAP- orodij UM FERI
102
Analiza in primerjava OLAP- orodij UM FERI
103
Analiza in primerjava OLAP- orodij UM FERI
104