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

ANALIZA IN PRIMERJAVA OLAP-ORODIJ

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

Simon Ivanuša

ANALIZA IN PRIMERJAVA OLAP-ORODIJ

Diplomsko delo

Maribor, avgust 2012

Page 2: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 3: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

ii

Page 4: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 5: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 6: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 7: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 8: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 9: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 10: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 11: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 12: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 13: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 14: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 15: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 16: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 17: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 18: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 19: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 20: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 21: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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].

Page 22: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 23: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 24: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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šč.

Page 25: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 26: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 27: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 28: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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].

Page 29: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

UM FERI Analiza in primerjava OLAP- orodij

16

Page 30: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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).

Page 31: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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).

Page 32: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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]

Page 33: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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:

Page 34: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 35: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 36: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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]

Page 37: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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].

Page 38: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 39: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 40: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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].

Page 41: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 42: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 43: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 44: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 45: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 46: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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),

Page 47: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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]

Page 48: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 49: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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]

Page 50: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 51: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 52: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 53: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 54: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 55: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 56: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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).

Page 57: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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].

Page 58: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 59: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 60: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 61: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 62: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 63: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 64: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 65: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 66: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 67: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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).

Page 68: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 69: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 70: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 71: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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".

Page 72: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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).

Page 73: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 74: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 75: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 76: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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:

Page 77: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 78: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 79: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 80: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 81: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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,

Page 82: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 83: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 84: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 85: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 86: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 87: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 88: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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).

Page 89: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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).

Page 90: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 91: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 92: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 93: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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:

Page 94: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 95: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 96: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 97: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 98: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 99: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 100: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 101: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 102: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 103: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 104: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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,

Page 105: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 106: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 107: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

UM FERI Analiza in primerjava OLAP- orodij

94

Page 108: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 109: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

UM FERI Analiza in primerjava OLAP- orodij

96

Page 110: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 111: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 112: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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.

Page 113: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

UM FERI Analiza in primerjava OLAP- orodij

100

Page 114: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

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

Page 115: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

Analiza in primerjava OLAP- orodij UM FERI

102

Page 116: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

Analiza in primerjava OLAP- orodij UM FERI

103

Page 117: ANALIZA IN PRIMERJAVA OLAP-ORODIJ

Analiza in primerjava OLAP- orodij UM FERI

104