Sunteți pe pagina 1din 14

OLAP On-Line Analytical Processing

Definitie, caracteristici
OLAP este o tehnologie de agregare a datelor stocate in depozite ntr-o abordare
multidimensional care asigur acces rapid la informaiile necesare analitilor, managerilor i
directorilor ntr-o manier consistent, interactiv i foarte flexibil. OLAP i depozitele de date
se completeaz reciproc, OLAP transformnd volumul imens de date stocate i gestionate n
depozite n informaii utile procesului de decizie.
Tehnologia OLAP nu este un concept nou dar numele este relativ recent fiind introdus n
1993 de ctre E. F. Codd, inventatorul modelului relaiona1 ntr-un articol ntitulat: "Punerea la
dispoziia analitilor a unui instrument de procesare analitic on-line: un mandat pentru
tehnologiile relaionale". n acel articol, autorul a prezentat 12 reguli care defineau
caracteristicile unei aplicatii OLAP, pe care ulterior le-a restrns la 5 reguli grupate ntr-un test
care se numete FASMI (Fast Analysis Shared Multidimensional Information):
Fast - rapiditate (capacitatea de a livra informaiile n timp util de ordinul
secundelor);
Analysis - analiz (capacitatea de a efectua analize numerice i statistice prin
aplicaii predefinite sau create ad-hoc de ctre utilizator;
Shared - partajat (utilizat n regim concurent de mai muli utilizatori, fapt ce
impune asigurarea securitii i confidenialitii datelor)
Multidimensional - caracteristica esenial a tehnologiei OLAP;
Information - acces la orice date i informaii relevante pentru analiz, oriunde s-ar
gsi i n orice volum.
Tehnici1e utilizate de OLAP cuprind de la simpla navigaie i selecie a datelor pn la
analize complexe incluznd modele i serii temporale. Aplicaiile construite cu tehnologia
OLAP asigur analiza rapid a informaiei multidimensionale distribuit n locaii multiple i
accesibil n acelai timp unui numr mare de utilizatori. OLAP utilizeaz n acest scop baze de
date multidimensionale, prin contrast cu bazele de date relaionale care sunt bidimensionale prin
definiie. O facilitate extrem de puternic oferit de OLAP este posibilitatea de a construi
scenarii i n consecin, posibilitatea de a rspunde la ntrebri de tipul "ce ar fi dac?" n timp
ce depozitele de date pot oferi rspunsuri numai la ntrebri de tipul "Cine? ", "Ce?, Unde?,
" Cnd? ".
Analiza datelor, de tip numeric sau statistic, poate fi predefinit de creatorul aplicaiei dar
i de utilizatorul final n cadrul unor interogri ad-hoc. OLAP asigur suport acestei analize prin
capacitatea sa de a efectua calcule intensive.
Principalele caracteristici ale OLAP sunt:
Perspectiv (view) multidimensional asupra datelor;
Capacitate de calcul intensiv;
Orientare n timp (time intelligence).
Perspectiva (view) multidimensional asupra datelor se refer la capacitatea de a
integra mai multe aspecte ale activitii ntreprinderii privite din diferite perspective: timp,
locaie, produs, bani, persoane, etc. Fiecare dimensiune poate avea mai multe nivele:
dimensiunea temporal se poate divide n ani, luni, trimestre, sezoane, etc, dimensiunea
geografic n emisfere, continente, ri, regiuni, orae, etc. Produsul, privit ca o dimensiune,
poate avea subdimensiuni de genul: categorie, clas, fel, etc. Conceptul "dimensiune" este
utilizat n sensul de aspect, dimensiunile fiind complet independente i avnd ca uniti de

msur toate valorile ntlnite n dimensiunea respectiv. Aceste uniti de msur sunt posibile
criterii de agregare a datelor, iar nivelele unei dimensiuni formeaz o ierarhie care de asemenea
ofer criterii de agregare a datelor. Perspectivele multidimensionale asupra datelor sunt numite
hipercuburi de
date, prin extinderea noiunii de cub
tridimensional
la cub n-dimensional sau hipercub.

mar
ar
apr
P3
mai
ar

P2
C1

C2

C3

P1

Capacitatea de a efectua calcule intensive se refer la abilitatea de a aplica algoritmi


compleci asupra datelor structurate n hipercub, implic posibilitatea de adresare
multidimensional direct a locaiilor (cuburile unitare) i optimizarea timpului de rspuns.
Orientarea n timp (time intelligence) se refer la abilitatea de exploatare a acestei
dimensiuni universale, necesar pentru comparaii i judeci de valoare n orice analiz
economic. Timpul este preluat din datele calendaristice ale tranzaciilor economice aa cum
apar n bazele date ale sistemelor informatice ale ntreprinderilor. Pe baza acestor date primare
se fac agregri pe luni, semestre, sezoane, ani, decenii, etc. Exist ns i dimensiuni mai puin
obinuite cum ar fi: "perioada curent", perioada precedent", "aceeai perioad a anului
trecut", etc., care trebuie luate n considerare la proiectarea dimensiunii temporale a cubului.
Suprapuse peste depozitele de date, bazele de date multidimensionale utilizate de OLAP
stocheaz straturi de date agregate pe diverse criterii ierarhice precum i date statistice
precalculate pe fiecare nivel de agregare. Prezentm mai jos un exemplu de migrare a datelor din
depozite de date n structuri multidimensionale.
Date de sintez referitoare la totalul tranzaciilor lunare ale fiecrui client stocate n
depozitul de date in vederea analizei clienilor:
Nume_client
Localitatea
Data_intrare
Anul
Luna
Nr tranzacii
Valoare medie

SC Neptun SA
Constana
25 ian 2006
2007
august
18
2079

Date de sintez referitoare la cantitatea comandat din fiecare produs stocate n depozitul
de date n vederea analizei produselor:
Denumire
Anul

cafea
2007

Luna
Total cantitate
Unitate_msur
Cost marf
Pre mediu

august
23000
kg
12
11

Date de sintez stocate n bazele multidimensionale OLAP:


Nr de tranzacii cu clienii pe luni
Ianuarie 2007
280566
Februarie 2007
245600
..
August 2007
366743

Suma tranzaciilor cu clienii pe luni


Ianuarie 2007
2045670000
Februarie 2007
2345552266

Nr de tranzacii cu clienii pe orae

Nr de tranzacii cu clienii pe zone

Alba Iulia 2007 23018


Bucureti 2007 123006
Craiova 2007 52658
Sibiu 2007
56021
Constana 2007 12890

Transilvania 2007
Muntenia 2007
Oltenia 2007
Moldova 2007
Dobrogea 2007
Banat Criana 2007
Maramure 2007

August 2007

3400033478

48076
164328
45980
76009
20300
2100
5603

Modelarea dimensional - cuburi OLAP


Modelarea dimensional este o tehnic ce permite conceptualizarea i reprezentarea
aspectelor cantitative, msurabile ale activitii n strns legtur cu contextul n care s-a
desfurat activitatea respectiv. Acest context este identificat prin parametrii activitii: unde,
cnd s-a desfurat activitatea respectiv, cine a iniiat-o, cine a executat-o, cine a beneficiat, ce
resurse au fost consumate, ce structuri organizatorice au fost implicate, etc. Aceste corelaii ntre
valorile nregistrate ale activitii (valoarea vnzrilor, costul mrfii, cheltuielile de transport,
cheltuielile comune, etc.) i contextul n care s-au desfurat sunt temele multiplelor rapoarte de
sintez pe care le produc sistemele tranzacionale. Aceste rapoarte ns sunt predefinite i
sintetizarea lor n vederea unor analize comparative a mai multor parametri se face de obicei offline, prin copierea rapoartelor n alte medii de lucru i procesarea lor ad-hoc. Modelarea
dimensional ofer un model conceptual comun tuturor acestor rapoarte i posibilitatea de
agregare a lor ntr-o structur uniform, simpl i foarte flexibil, pstrnd n acelai timp legtura
cu sursele iniiale de date i, n consecin, posibilitatea de drill-down (tehnica de descompunere a
datelor centralizate pe niveluri succesive pn la setul de tranzacii iniiale).
Principalul element structural al datelor utilizate n procesul de analiz on-line este cubul
OLAP, o structur multidimensional, un hipercub, care modeleaz aspectul complex al
activitii desfurat pe o lung perioad de timp prin trei concepte:
msura activitii - aspectul cantitativ, comensurabil n uniti clasice de msur: kg, m,
buci, uniti monetare. Exemple de asemenea msuri sunt: volumul vnzrilor
(cantitativ/valoric), volumul achiziiilor (cantitativ/valoric), volumul salariilor, costul

transportului, costul mrfurilor, costul materiilor prime, volumul taxelor i impozitelor,


volumul datoriilor, volumul creanelor, marja comercial brut, profitul, etc.
dimensiunile activitii - parametrii activitii msurate, decupajul din activitatea global care
corespunde msurii. Exemple de asemenea dimensiuni sunt:
ziua, luna, anul, trimestrul, sezonul (interval de timp)
locaia, zona geografic
clientul sau grupa (clas, categorie) de clieni
furnizorul, furnizorii
produsul sau grupa (clas, categorie) de produse
angajatul, structura organizatoric
Tot ca dimensiune se pot modela variante de msuri: valori reale, valori bugetare, valori
estimate. Aceast dimensiune oarecum artificial se cheam scenariu.
Dimensiunile nu se intersecteaz, sunt de natur complet diferit (timp, spaiu, produse,
teri, resurse financiare, resurse materiale, resurse umane, et. Ele rspund de regul la ntrebri
de tipul: cnd?, unde?, ce?, cine?, cu ce?, cu cine?, de la cine?, ctre cine?, etc.
Faptele sunt colecii de msuri ale activitii i dimensiunile care identific contextul n
care s-au desfurat. Faptele se colecteaz din nregistrrile stocate n tabelele de tranzacii ale
aplicaiilor operaionale ce susin activitatea respectiv. Prin intermediul dimensiunii se pot
stoca i scenarii n tabelele de fapte pe lng msurile reale i msuri imaginate care permit
utilizatorului s stocheze valorile bugetate sau estimate ale msurii respective. Aceste msuri
sunt introduse direct n tabelele de fapte de ctre persoanele responsabile.
Dimensiunile sunt identificate n bazele de date tranzacionale ca fiind cmpurile ce conin
caracteristicile unei tranzacii, datele de identificare a tranzaciei respective, de obicei codurichei externe care fac legtura cu nomenclatoarele ce le expliciteaz. Dimensiunea se
materializeaz prin setul de valori posibile care alctuiesc domeniul caracteristicii respective.
Valorile se numesc membrii dimensiunii.
Dimensiunile pot avea multipli - grupe de valori ale dimensiunii respective cu o
caracteristic comun. Aceste grupe sunt identificate prin atributele care se gsesc n
nomenclatoare i care pot lua aceeai valoare pentru mai multe valori ale cheii primare. Spre
exemplu, n nomenclatorul clienilor se pot face grupe dup localitatea clientului, localitatea
fiind o dimensiune superioar dimensiunii client. n acelai sens, o dimensiune superioar
localitii poate fi zona geografic, ara, continentul. Un alt set de multipli ai dimensiunii
localitate ar putea fi urban/rural sau intern/extern sau capital/provincie, etc. Multiplii unei
dimensiuni nu sunt neaprat de aceeai natur cu dimensiunea primar care de altfel poate avea
mai multe seturi de multipli n funcie de caracteristicile luate n considerare. De exemplu,
dimensiunea client se poate grupa i n funcie de vechime (data intrrii n portofoliul de clieni)
n clieni vechi, clieni relativ noi, clieni foarte noi i clieni ocazionali.
Dimensiunile i multiplii lor formeaz structuri arborescente cunoscute de OLAP sub
numele de ierarhii. Ierarhiile pot fi regulate (toate ramurile au acelai numr de ramificaii sau
nivele) sau neregulate (pe anumite ramuri lipsind un nivel de ramificaie).
La rdcina arborelui se gsete o caracteristic care are aceeai valoare pentru toi
membrii dimensiunii de baz, de obicei o caracteristic implicit - compania care desfoar
activitatea analizat sau all.
Frunzele arborelui sunt ntotdeauna membrii dimensiunii iniiale.
Dimensiunile intermediate pot fi pe mai multe nivele.

Dac arborele este neregulat, un membru de tipul "alte" poate adugat pentru a uniformiza
Europa
Anglia
Londra
HP ltd
ierarhia; altfel, centralizrile pe nivelul respectiv nu vor reprezenta S&M
100%ltddin valoarea
centralizat pe nivelul cel mai de jos.
Manchester
Axel

Comp XXX

Frana

Paris
Lyon

Romnia

Marsilia
Bucureti
Iai
Cluj

America de
Nord

SUA

Japonia

New York
Dallas
Chicago
Toronto
Montreal
New Dehli
Madras
Beijing
Shangai
Tokyo

ara

Ora

Canada
Asia

India
China

Compania
Divizia

Yodine
T&Co
Merlin
Galia
BoudinCo
MMM srl
Cam SA
..

Morita
Seiko
Client

Fig.7 Un exemplu de ierarhie a dimensiunii client:

Atributele care definesc ierarhia sunt atribute derivate din atributul ce definete
dimensiunea faptelor msurate, prin raportare la nomenclatoare sau prin clasificri ale valorilor
luate de atributul respectiv. Spre exemplu, clienii se pot clasifica n clieni vechi dac fac
tranzacii cu compania respectiv de mai mult de 3 ani, clieni relativ noi dac au vechimea ntre
3 i 1 an, clieni noi dac sunt sub 1 an i clieni ocazionali dac nu au completat cmpul
Data_intrare n portofoliul de clieni i alte date de referin. Asemenea clasificri conduc la
atribute derivate prin calcul din caracteristicile aflate n nomenclatoare, care vor da natere la un
set de membri calculai ai dimensiunii respective.
De exemplu, pe baza datei calendaristice se pot calcula anul, sptmna, luna, trimestrul,
semestrul, sezonul. Aceti membri calculai nu se pot integra ntr-o singur ierarhie pentru c nu
sunt complet ierarhizabili: o sptmn poate aparine la dou luni succesive iar sezoanele se
stabilesc n funcie de data solstiiilor i echinociilor sau arbitrar (primvar-var, toamniarn).

Dimensiunile ierarhizabile ns se constituie obligatoriu n ierarhii alternative:


Anul 1999

Semestrul 1

Trimestrul 1

Ianuarie

Februarie
Trimestrul2
Semestrul2
Anu11999

Sptmna 1

Sptmna 2

Sptmna 52

Ziua 1
Ziua 2
..
Ziua 31
Ziua32
Ziua33

Martie
Aprilie
Mai
Iunie

Trimestrul 3
Trimestrul 4
Ziua l
Ziua 2

Ziua 7
Ziua8
.
Ziua365

Fig. 8. Ierarhii alternative ale dimensiunii timp

Nivelele ierarhiilor sunt utilizate ca nivele de agregare a valorilor stocate n tabela de fapte
ca msuri ale activitii. Membrii dimensiunilor sunt utilizai pentru identificarea unei msuri a
activitii stocat n tabela de fapte. Dac un fapt este asociat cu mai multe dimensiuni,
identificarea unic a faptului necesit valori precise pentru fiecare dimensiune, altfel din tabela
de fapte se vor selecta mai multe nregistrri (toate valorile posibile pentru dimensiunile
nespecificate). Pentru prezentarea unei singure msuri pe un set restrns de dimensiuni,
nregistrrile selectate se vor centraliza i prezenta ca un singur fapt, dimensiunile nespecificate
fiind eliminate din prezentare. De exemplu, tabela de fapte prezint volumul vnzrilor pe zi,
client, produs. Dac se dorete volumul vnzrilor pe zi pe fiecare produs, se nsumeaz
vnzrile grupate pe zile i produse, dimensiunea client fiind ignorat.
Modelarea datelor este un pas important n procesul de dezvoltare a unui depozit de date
pentru c permite vizualizarea structurii nainte de a fi construit. Modelul multidimensional hipercubul - este ns dificil de vizualizat n toate dimensiunile i trebuie prezentat desfurat n
seciuni sau proiecii tridimensionale pentru a putea fi neles (seciunea este o felie transversal
din cub, identificat prin coordonatele seciunii, proiecia este o seciune care centralizeaz
datele de pe toate dimensiunile suprimate). De altfel, i vizualizarea on-line se face tot n
seciuni sau proiecii tridimensionale iar datele din celule pot fi prezentate numai n seciuni sau

proiecii transversale bidimensionale (forma clasic a tabelelor pivot). Intuitiv, hipercubul poate
fi imaginat ca un set de tabele pivot grupate pe dimensiunea comun. n mod abuziv, hipercubul
este considerat un set de cuburi tridimensionale distincte. Pot exista i hipercuburi distincte,
chiar dac au dimensiuni comune, dar cu alte msuri.
Pentru modelare, hipercubul se prezint n forma tabelar cu coloane pentru msuri i
rnduri pentru combinaiile de dimensiuni.
Dimensiuni
Luna
Agent Client

Produs

1999
1999

1
1

AAA
AAA

Alexa
Alexa

2001

10

XXX

YETA

Anul

Ciment
Var

Cantitat
e
100
30

Msuri
Valoare Cost
marf
33000
20700
5000
4300

Chelt
transp
500
120

Alte
chelt
234
57

Vopsea

400

132000

780

560

82800

i n plan fizic, hipercubul poate fi stocat ntr-o tabel cu multiple coloane n care sunt
stocate msurile i cu identificatori de rnduri (chei) formai din toate combinaiile posibile de
valori ale dimensiunilor. Utilizarea indecilor pentru acces rapid nu este de prea mare ajutor
ntruct cheia este format din multe caracteristici iar cmpurile de valoare sunt puine i
numerice. Tabela de indeci este aproape la fel de mare ca i tabela iniial. Accesul direct rapid
este asigurat prin tabele bitmap. Bazele de date dedicate datelor modelate ca hipercuburi sunt
bazele de date multidimensionale.
Baze de date multidimensionale
O baz de date multidimensional este format din dou structuri:
Structura datelor - n care sunt stocate msurile activitii preluate din tabela de fapte a
depozitului de date (cantiti, valori, contoare, etc), date care sunt prezentate utilizatorului n
celulele tabelelor pivot.
Cant

Val

Nr_linii_fct

Structura metadatelor - n care sunt stocate dimensiunile i membrii acestora precum i


structurile ierarhice ale dimensiunilor, toate informaiile care apar pe axele cuburilor i sunt
prezentate utilizatorului ca nume de rnduri i coloane n tabelele pivot.

TIMP
Ierarhia
Anotimp

Ierarhia
Calendar

Anul
Ierarhia
Sapte_zile

Semestrul

Sezonul

Trimestrul

Sptmn

Luna

Ziua

Data calendaristic
Fig.9 Ierarhii alternative ale dimensiunii TIMP

Nivelele sunt numerotate de la rdcin (nivelul 0) spre frunze (nivelul maxim). Fiecare
ierarhie are setul ei de nivele chiar dac anumite ramuri sunt comune.
Nivel Ierarhia Calendar Ierarhia Anotimp Ierarhia apte_zile
0
Timp
Timp
Timp
1
Ani
Ani
Sptmna
2
Semestre
Sezoane
Ziua
3
Trimestre
Luni
Data calendaristic
4
Luni
Date calendaristice
5
Date calendaristice
Pe fiecare nivel se stocheaz membrii dimensiunii respective. Rdcina comun reprezint
nivelul de agregare maxim (cu unicul membru implicit all). Exemple de seturi de membri pentru
fiecare nivel:
Subdimensiune
Set de membri
Nr. de membri
Timp
all
1
Anul
1997,1998,1999,2000,2001
5
Semestrul
I, II
2
Trimestrul
1,2,3,4
4
Luna
Ian,feb,mar,apr,... dec
12
Sptmna
1,2,3,....56
56

Ziua
Data calendaristic

Luni, mari, miercuri, joi....


1, 2, 3, ., 31

7
31

all
1997
I
1
ian
1

31

1999

2000

2001

II
2

feb

1998

rdcin

3
mar

anul
semestrul

trimestrul
oct

nov

dec
1

luna
31

data

Fig.10 Arborele ierarhiei Calendar a dimensiunii timp, nivele i membri

Fiecare membru al unei subdimensiuni este un nod n arbore. Nodurile aflate n subordinea
unui singur nod formeaz un set. Fiecare membru n set are un numr de ordine ncepnd cu 0.
Fiecare membru poate avea anumite proprieti asociate. Spre exemplu anumii ani sunt
biseci, anumite zile sunt srbtori legale, etc.
Structura este strict arborescent pentru c fiecare membru al unei dimensiuni are
submembri distinci, chiar dac au aceleai valori. Spre exemplu, fiecare an are setul lui de luni
(ian, feb, mar, ...dec), fiecare sptmn are setul ei de zile (luni, mari, miercuri...). Pentru
identificare, aceti membri vor fi calificai cu numele membrului de pe nivelul precedent cruia i
se subordoneaz: 1999-ian, 2000-ian, 1999-17-luni. Acest gen de dimensiuni care au membri
care se repet se pot crea i ulterior prin combinarea a dou nivele din ierarhie sau chiar din
ierarhii diferite pentru a crea un nou nivel (virtual). De exemplu, n ierarhia dimensiunii client
din figura urmtoare putem combina dimensiunile statut i jude pentru a putea grupa clienii
dup forma de asociere i localitate. Numrul de membri posibili ai noului set va fi egal cu
numrul de combinri ale elementelor celor dou mulimi (41 judee * 5 forme de asociere = 205
de membri pentru noua dimensiune jude-statut).

all
Ierarhia
Forma
Juridic

Ierarhia
Geografie

Zon
Ierarhia
Clasificare

Jude

Statut

Localitate

Categorie

Subcategorie

Client
Fig. 11. Ierarhiile alternative ale dimensiunii CLIENT

Pentru navigaia pe o structur arborescent, sistemele de gestiune ofer operatori ierarhici.


Pentru exploatarea datelor, sistemele de gestiune ofer operatori pe hipercuburi.
Din punct de vedere fizic, datele sunt stocate ntr-un fiier cu acces direct pe baza adresei
fizice absolute sau relative a nregistrrii obinute prin exploatarea tabelelor bitmap construite la
crearea structurii de date.
Tabelele bitmap fac legtura ntre structura de date i structura de metadate n felul
urmtor: pentru fiecare membru al fiecrei dimensiuni exist o coloan (1 bit) n tabela bitmap,
pentru fiecare nregistrare exist un rnd n tabela bitmap n care se stocheaz valori binare care
au 1 n dreptul biilor asociai membrului dimensiunii care se gsete n nregistrare.
Cmpul respectiv nu mai trebuie stocat n nregistrare iar structura datelor este redus la
minimul necesar.

A
D
R
E
S
A
1
2
3

timp
lun
anul
ziua
a
1
2 i
1
3
9
0 a
1
9
0 n
7
1

1
1

agent
Nume
echipa
agent
BE
A
A
c c
g
g
h h
1
2
1 2

1
1

1 1

client
zona
E S
s u
t d

Loc
B I
u a
c
i

1
1

1
1
1

produs
Nume
client
C C
l l
1 2

1
1

familie
A
l
i
m

M
e
d
i
c
a
m

1
1

categ
L
a
c
t
a
t
e

F
a
i
n
o
a
s
e

Den
produs
LU
a n
p t
t
e

1
1

Fig. 11 Masca de biti pentru interogarea:


Medicamentele vndute de echipa 1 de ageni n lai n ianuarie 2001.

Vor fi selectate din tabela de msuri nregistrrile care au un bit 1 n poziia


corespunztoare biilor 1 din masc.
Tabelele bitmap sunt greu de construit, se bazeaz n principiu pe dimensiuni cu numr fix
de membri. Membrii care apar ulterior sunt greu de inserat n poziia corespunztoare i de
regul se las bii liberi pentru extindere. Refacerea unei tabele bitmap este un proces mare
consumator de timp avnd n vedere c tabela de fapte din depozit care se transform n baz
multidimensional poate avea milioane de nregistrri.
Masca de interogare se construiete prin exploatarea structurii ierarhice a metadatelor de
unde se extrag seturile de membri ai dimensiunilor indicate prin specificatorii de axe. Pe baza
setului de adrese de nregistrri care se suprapun cu tiparul mtii se face adresarea direct a
tabelei de msuri de unde se preiau valorile ce se centralizeaz pentru celula cubului cu
dimensiunile respective (anul 2001, luna ian, echipa 1, loc. Iai, prod. medicamente).

all
1997

Select ... on columns


on rows
on pages
on...
From ...
Where ...

Masca

I
1
ian
1

2001

feb

3
mar

4
oct

nov

dec

31

31

C3

1
1

2000

1999

II

Tabela bitmap
Adr1
Adr2
Adr3
Adr4
Adr5
Adr6
Adr7

1998

1
1
1

1
1

1
1

1
1

1
1

Adr3,4,6,7

1
1
1

1
1
1

1
1
1
1
1 1 1
1
1

Adr3,4,7 Adr4,6,7

Adr4,5,7

Tabela MSURI
Lista
Adrese
nreg

Adr 4
Adr 7
Adr 18
Adr 54
Adr 112
Adr 189

dimensiuni

Fig. 13. Structura unei baze de date multidimensionale

Adr1
Adr2
Adr3
Adr4
Adr5
Adr6
Adr7
..
Adr18
.

1
1

Structura metadatelor este de tip ierarhic, fiecare dimensiune fiind stocat ntr-o structur
arborescent cu o singur rdcin (all) i multiple ramuri care pot avea frunze comune (ierarhii
alternative). Fiecare nivel n ierarhie are un nume i un set de membri. Ierarhiile alternative au
de asemenea nume pentru a putea fi distinse ntre ele. Toate ierarhiile au cel puin un nivel
comun, nivelul "frunze", care este cel mai sczut nivel de centralizare.
Structura n care se stocheaz datele este o structur cu acces direct prin tabele bitmap care
sunt exploatate prin mti.
Operaii OLAP asupra hipercubului
Proiectarea hipercubului trebuie s in seama de nivelul de detaliu necesar la analiz,
nivel de detaliu denumit granularitate i care exprim numrul de membri ai unei dimensiuni.
Spre exemplu, dac se dorete analiz la nivel de client, toi clienii societii vor fi membri ai
dimensiunii client, fapt care poate face imposibil reprezentarea lor ntr-o form perceptibil pe
ecran. De regul, acest nivel de detaliu este cerut de managerii de nivel operaional care lucreaz
direct cu un numr mic de clieni printr-un numr mic de ageni. Pentru a vizualiza datele la
aceast granularitate, trebuie realizat o selecie din hipercub pe baza unui criteriu ierarhic care
ar putea fi structura organizaional pe care o conduce managerul respectiv. Dac granularitatea
din start este prea mare (grupe de clieni sau structuri organizatorice de ageni), datele sunt prea
centralizate i nu se poate face o analiz fin, OLAP ajusteaz nivelul de granularitate prin
exploatarea ierarhiilor dimensiunilor efectund comasri i descompuneri ale msurilor prin
procedurile denumite roll-up i drill-down. Aceste proceduri deplaseaz proiecia cubului n sus
i in jos pe nivelele ierarhice ale fiecrei dimensiuni (zoom in; zoom out) efectund de fiecare
data centralizri ale msurilor stocate la cea mai mic granularitate dup criteriile ierarhice
cerute. Sub nivelul de granularitate iniial nu se poate merge, de aceea este important ca
dimensiunile de baz s fie destul de fine sau s se creeze data marts n care hipercuburile s fie
proiectate la nivelul de detaliu cerut de managementul operaional iar pentru managementul
nivelelor superioare, s se construiasc un depozit cu hipercuburi centralizatoare cu granularitate
mai mare. Operaia drill-down ofer mai multe detalii, operaia roll-up ofer date mai sintetice.
Un alt grup de operaii pe care OLAP le poate executa sunt secionarea (slicing) i
defalcarea (dicing). Secionarea este posibilitatea de a selecta pentru vizualizare doar un membru
al unei dimensiuni (un plan din cubul tridimensional). Seciunea respectiv apare ca o tabel
pivot cu valorile dimensiunilor pe laturi i cu menionarea valorii alese pentru dimensiunea
suprimat.
Vnzrile n anul 1999 pe clieni i produse
Aracet
Ciment
Gips
Alexa
Bloon
Bogza
Vox
Yeta

240

350
107

760

Var

Vopsea

270
56

850

Defalcarea (dicing) nseamn proiectarea unei dimensiuni pe o alt dimensiune, n general


una din dimensiunile din prim plan se combin cu o dimensiune din adncime. Procesul se mai
numete i imbricarea dimensiunilor.
Vnzrile ctre clieni n anul 1999 pe produse i ageni
Aracet
Alexa
Bloon
Bogza
Vox
Yeta

Ciment

Ag
1

Ag
n

120

120

Ag
1
150

320

100

160

Gips
Ag
n
100
107

280

Ag
1

Ag
n

Var
Ag
1
170

Vopsea
Ag
n
100

Ag
1
300

Ag
n

56

250

350

250

Dimensiunile unui cub pot fi private, ceea ce nseamn c aparin unui singur cub sau pot
fi utilizate n comun de mai multe cuburi (provenind din depozite cu schema tip constelaie).
Fiecare membru al unei dimensiuni poate avea anumite proprieti asociate care se
stocheaz n atribute specifice ale nivelului ierarhiei. De exemplu, anumite zile din an sunt
srbtori; calitatea respectiv va fi evideniat pentru zilele care o ndeplinesc. Noi membri ai
dimensiunii respective pot fi adugai respectnd anumite reguli, mai ales dac este o
dimensiune comun mai multor cuburi.
Proiectarea structurilor depozitelor de date i cuburilor OLAP este un proces care continu
pe parcursul ntregii viei a aplicaiei, dimensiunile cuburilor fiind strns legate de detaliile
activitii precum clieni, produse, etc. Orice nou client sau nou produs va implica o modificare
de structur.
Domenii de utilizare ale OLAP
Instrumentele OLAP i aplicaiile construite cu aceast tehnologie i gsesc multiple
domenii de utilizare n activitatea ntreprinderilor, de la vnzri i marketing la finane i
producie ca s numim numai cteva. Astfel, departamentele financiar i contabilitate pot folosi
instrumente OLAP pentru construirea bugetelor, analiza performanelor financiare i modelare
financiar; departamentul vnzri poate beneficia de analize complexe ale vnzrilor i de
previziuni; departamentul marketing poate face cercetri i analize de pia, analize ale
campaniilor publicitare, analiza clienilor i a segmentelor de pia. Activitatea de producie
poate fi susinut de aplicaii OLAP de planificare a operaiilor, de asigurare i control a calitii
produselor, de analiz a rebuturilor, de optimizare a raportului cost-performan.
Toi aceti utilizatori poteniali pot extrage prin tehnologia OLAP informaii pertinente,
personalizate, referitoare la domeniul propriu de activitate pentru fundamentarea deciziilor
curente i de perspectiv. Timpul mic de rspuns, critic pentru acest gen de aplicaii, este un
factor important de succes al OLAP, realizat prin tehnici inteligente de optimizare.