Sunteți pe pagina 1din 10

ABORDAREA MULTIDIMENSIONAL A DATELOR.

Elemente OLAP (ON-Line Analytical Processing)


Modelarea (multi)dimensional presupune generarea unui cub OLAP (hipercub/ cub multidimensional), cu ajutorul cruia se poate modela aspectul complex al unor activiti desfurate. Activitatea modelat se va exprima cu ajutorul unor indicatori, ale cror valori vor depinde de o serie de parametrii ai activitii, denumii dimensiuni ale abordrii.

Indicator = profitul obtinut Dimensiuni = produs, client, timp

ntrebare fundamental:
Ce profit s-a obtinut din vnzarea unui produs fiecrui client in parte, intr-o anumit unitate de timp considerat ?
1

La nivelul dimensiunilor putem avea una sau mai multe ierarhii. Nivelele ierarhiilor sunt utilizate ca nivele de agregare a valorilor pentru indicatorii considerati. Implicit, agregarea se realizeaza la nivelul cel mai de jos al ierarhiilor, dar cubul OLAP permite deplasarea in sus/in jos pe dimensiunile considerate. Ex. ALL ALL ALL CAT_PRODUS AN AN PRODUS LUNA

TRIMESTRU SEMESTRU

Profit = SUM (client, produs, luna)


Obs. In unele situatii este posibil ca, la nivelul cel mai scazut de rezumare/ agregare al datelor sa avem o situatie identica cu cea detaliata !!

cub OLAP DEPOZIT DE DATE O R A C L E + principiile OLAP = (M)OLAP

proces de tip ETL = Extract-Transform-Load

A S I S T A R E A

BAZE DE DATE

principiile OLAP

= (R)OLAP

D E C I Z I I L O R

SQL Server/Oracle
3

Evolutia facilitatilor/sistemelor OLAP

1962 - Ken Iverson descrie primul limbaj multidimensional APL implementat de IBM pe mainframe-uri;
1974 au aparut sistemele de gestiune a deciziilor (Management Decision Systems) scrise in FORTRAN si inzestrate cu o biblioteca de functii analitice; 1976 facilitati de gestiune a datelor + functii analitice limbajul EXPRESS;
si dupa 30 de ani EXPRESS ramane una dintre principalele tehnologii OLAP;

1978 firma Comshare creaza sistemul SYSTEM W SS primul instrument OLAP ptr. aplicatii financiare (foloseste conceptul de hipercub);
sistemul are la baza un limbaj de modelare financiara realizat prin combinarea functiilor analitice de modelare cu tehnologia gestiunii datelor memorate in volume mari de date asociate cu conceptul de multidimensionalitate;

1985 - apare PILOT COMMAND CENTER primul instrument OLAP stil EIS cu o arhitectura client/server; 1991 Firma Arbor Software creaza server-ul de baze de date multidimensionale cu acces multiutilizator la date ESSBASE;

1993 Codd introduce termenul de OLAP si cele 12 reguli referitoare la sistemele OLAP ;
stabileste diferentele semnificative dintre tehnologia sistemelor multidimensionale si cea a sistemelor tranzactionale;

1995 Oracle achizitioneaza EXPRESS; totodata se formeaza Consiliul OLAP (OLAP Council)
din 4 producatori de software cu scopul de a face sistemele OLAP mai atragatoare pe piata;

DEF. OLAP = o categorie de instrumente software, care permite analistilor, managerilor sa inteleaga esenta datelor printr-un acces rapid, consistent si/interactiv la o mare varietate de viziuni posibile ale informatiilor, ce au fost obtinute prin transformarea datelor primare astfel incat sa reflecte dimensiunile reale ale intreprinderii asa cum o percepe si intelege utilizatorul. 1997 apare Microsoft OLEDB for OLAP un standard pentru OLAP API dezvoltat de Microsoft ca un set de obiecte COM si interfete destinate a oferi acces la sursele de date multidimensionale prin OLEDB; acest standard dezvolta un model pentru cuburile de date; ofera un limbaj MDX (Multidimensional Expressions) pentru calcul si vizualizarea cuburilor de date; 1998 apare IBM DB2 OLAP SERVER, o versiune a lui ESSBASE, care utilizeaza date stocate in baze de date relationale si creaza viziuni multidimensionale a acestora; 2002 Oracle lanseaza Oracle 9i Release 2 OLAP ce integreaza toate facilitatile OLAP in baze de date relationale; etc. Oracle promoveaza modulul de WAREHOUSING de creare a depozitelor de date. 2004 MS SQL SERVER se imbogateste cu capabilitati OLAP
5

MODELUL MULTIDIMENSIONAL AL DATELOR


Limbajul de interogare MDX

MODELUL RELATIONAL AL DATELOR


Limbajul de interogare SQL

Caracteristici MDX (MultiDimensional Expressions)

- reprezinta o extindere a limbajului SQL, fiind o componenta a serviciului OLAP;


Operatori ierarhici (necesari navigarii in cadrul ierarhiilor dimensionale): - identificarea unui element al unei ierarhii dimensionale (prin calea de la radacina); - identificarea unui set de membrii aflati pe un anumit nivel - operatorul members;
- identificarea parintelui unui element (membrul din nivelul imediat superior in a carui subordine se afla elementul vizat) operatorul parent;
-

identificarea fiilor unui element (setul de membrii de pe nivelul imediat inferior care se
afla in subordinea elementului vizat) operatorul children;

identificarea descendentilor unui element (subarborele care se afla in subordinea


elementului vizat) operatorul descendents;

operatori de adresare relativa drill-up, drill-down;


drill-upmember, drill-downmember.

Exemplu:

Timp An Trimestru Luna 2006

all 2007 I ian 1 feb 31 2008 II


III IV

mar

Zi

Dimensiunea Timp

Arborele ierarhiei Calendar a dimensiunii Timp

Sa se identifice luna ianuarie a anului 2008: [an].[2008].[trimestru].[I].[luna].[ian] Sa se identifice toti membrii aflati pe nivelul an si luna (corespunzator trimestrului II al anului 2007 ): [an].members [an].[2007].[trimestru].[II].[luna].members
8

Sa se precizeze parintele elementului iunie al anului 2006: [an].[2006][trimestru].[II].[luna].[iun].parent

Sa se identifice copiii trimestrului III al anului 2008: [an].[2008].[trimestru].[III].children Identificarea descendentilor trimestrului II anul 2008 (tot subarborele): [an].[2008].[trimestru].[II].descendents

Care este efectul urmatorilor operatori: drill_up (an.trimestru.luna)


drill-up schimba nivelul indicat cu nivelul imediat superior si inlocuieste setul de membrii curent cu setul de membrii de pe nivelul imediat superior. [an].[2006].[trimestru].members [an].[2007].[trimestru].members [an].[2008].[trimestru].members = [an].[trimestru].members

drill_down (an.trimestru.luna) drill-upmember (an.2008.trimestru.II.luna.apr)


functioneaza pentru un singur membru al nivelului indicat, efectuand operatiunea de drill-up numai pe ramura pe care este situat elementul. [an].[2008].[trimestru].[II].[luna].[apr].parent

drill-downmember

Operatori pe hipercuburi : sunt operatori asamblisti de tipul selectie, proiectie reuniune, intersectie, diferente, produs cartezian, diviziune, join.
(D. Zaharie, etc. Sisteme informatice pentru asistarea deciziei)

Limbajului MDX. Sintaxa de baza a interogarilor SELECT specificator_de_axa [, specificator_de_axa] FROM specificator_de_cub WHERE specificator_de_sectiune (slicer);
SELECT [cat_produs].members ON COLUMNS,

[an].[2008].[trimestru].children ON ROWS
FROM cub_profit WHERE [cat_client].[pers_fizica];

Obs. In limbajul MDX primele 5 axe poarta denumirile: on columns axa X, on rows axa Y, on pages axa Z, on chapters axa V, on sections axa W

10