l3info

21
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 informaţiile necesare analiştilor, managerilor şi directorilor într-o manieră consistentă, interactivă şi foarte flexibilă. OLAP şi depozitele de date se completează reciproc, OLAP transformând volumul imens de date stocate şi gestionate în depozite în informaţii utile procesului de decizie. Tehnologia OLAP nu este un concept nou dar numele este relativ recent fiind introdus în 1993 de către E. F. Codd, inventatorul modelului relaţiona1 într-un articol întitulat: "Punerea la dispoziţia analiştilor a unui instrument de procesare analitică on-line: un mandat pentru tehnologiile relaţionale". În acel articol, autorul a prezentat 12 reguli care defineau caracteristicile unei aplicatii OLAP, pe care ulterior le-a restrâns la 5 reguli grupate într-un test care se numeşte FASMI (Fast Analysis Shared Multidimensional Information): Fast - rapiditate (capacitatea de a livra informaţiile în timp util de ordinul secundelor); Analysis - analiză (capacitatea de a efectua analize numerice şi statistice prin aplicaţii predefinite sau create ad-hoc de către utilizator; Shared - partajată (utilizată în regim concurent de mai mulţi utilizatori, fapt ce impune asigurarea securităţii şi confidenţialităţii datelor) Multidimensional - caracteristica esenţială a tehnologiei OLAP; Information - acces la orice date şi informaţii relevante pentru analiză, oriunde s-ar găsi şi în orice volum. Tehnici1e utilizate de OLAP cuprind de la simpla navigaţie şi selecţie a datelor până la analize complexe incluzând modele şi serii temporale. Aplicaţiile construite cu tehnologia OLAP asigură analiza rapidă a informaţiei multidimensionale distribuită în locaţii multiple şi accesibilă în acelaşi timp unui număr mare de utilizatori. OLAP utilizează în acest scop baze de date multidimensionale, prin contrast cu bazele de date relaţionale care sunt bidimensionale prin definiţie. O facilitate extrem de puternică oferită de OLAP este

Upload: ela-costache

Post on 06-Feb-2016

11 views

Category:

Documents


0 download

DESCRIPTION

cig anul 3 spiru

TRANSCRIPT

Page 1: l3info

OLAP On-Line Analytical ProcessingDefinitie, caracteristiciOLAP este o tehnologie de agregare a datelor stocate in depozite într-o abordare

multidimensională care asigură acces rapid la informaţiile necesare analiştilor, managerilor şi directorilor într-o manieră consistentă, interactivă şi foarte flexibilă. OLAP şi depozitele de date se completează reciproc, OLAP transformând volumul imens de date stocate şi gestionate în depozite în informaţii utile procesului de decizie.

Tehnologia OLAP nu este un concept nou dar numele este relativ recent fiind introdus în 1993 de către E. F. Codd, inventatorul modelului relaţiona1 într-un articol întitulat: "Punerea la dispoziţia analiştilor a unui instrument de procesare analitică on-line: un mandat pentru tehnologiile relaţionale". În acel articol, autorul a prezentat 12 reguli care defineau caracteristicile unei aplicatii OLAP, pe care ulterior le-a restrâns la 5 reguli grupate într-un test care se numeşte FASMI (Fast Analysis Shared Multidimensional Information):

Fast - rapiditate (capacitatea de a livra informaţiile în timp util de ordinul secundelor);

Analysis - analiză (capacitatea de a efectua analize numerice şi statistice prin aplicaţii predefinite sau create ad-hoc de către utilizator;

Shared - partajată (utilizată în regim concurent de mai mulţi utilizatori, fapt ce impune asigurarea securităţii şi confidenţialităţii datelor)

Multidimensional - caracteristica esenţială a tehnologiei OLAP; Information - acces la orice date şi informaţii relevante pentru analiză, oriunde s-ar

găsi şi în orice volum.Tehnici1e utilizate de OLAP cuprind de la simpla navigaţie şi selecţie a datelor până la

analize complexe incluzând modele şi serii temporale. Aplicaţiile construite cu tehnologia OLAP asigură analiza rapidă a informaţiei multidimensionale distribuită în locaţii multiple şi accesibilă în acelaşi timp unui număr mare de utilizatori. OLAP utilizează în acest scop baze de date multidimensionale, prin contrast cu bazele de date relaţionale care sunt bidimensionale prin definiţie. O facilitate extrem de puternică oferită de OLAP este posibilitatea de a construi scenarii şi în consecinţă, posibilitatea de a răspunde la întrebări de tipul "ce ar fi dacă?" în timp ce depozitele de date pot oferi răspunsuri numai la întrebări de tipul "Cine? ", "Ce?”, “Unde?”, " Când? ".

Analiza datelor, de tip numeric sau statistic, poate fi predefinită de creatorul aplicaţiei dar şi de utilizatorul final în cadrul unor interogări 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 activităţii întreprinderii privite din diferite perspective: timp, locaţie, 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, oraşe, 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 având ca unităţi de măsură toate valorile întâlnite în dimensiunea respectivă. Aceste unităţi de măsură sunt posibile

Page 2: l3info

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 noţiunii de cub tridimensional la cub n-dimensional sau hipercub.

Capacitatea de a efectua calcule intensive se referă la abilitatea de a aplica algoritmi complecşi asupra datelor structurate în hipercub, implică posibilitatea de adresare multidimensională directă a locaţiilor (cuburile unitare) şi optimizarea timpului de răspuns.

Orientarea în timp (time intelligence) se referă la abilitatea de exploatare a acestei dimensiuni universale, necesară pentru comparaţii şi judecăţi de valoare în orice analiză economică. Timpul este preluat din datele calendaristice ale tranzacţiilor economice aşa cum apar în bazele date ale sistemelor informatice ale întreprinderilor. Pe baza acestor date primare se fac agregări pe luni, semestre, sezoane, ani, decenii, etc. Există însă şi dimensiuni mai puţin obişnuite cum ar fi: "perioada curentă", “perioada precedentă", "aceeaşi 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. Prezentăm mai jos un exemplu de migrare a datelor din depozite de date în structuri multidimensionale.

Date de sinteză referitoare la totalul tranzacţiilor lunare ale fiecărui client stocate în depozitul de date in vederea analizei clienţilor:

Nume_client SC Neptun SALocalitatea ConstanţaData_intrare 25 ian 2006Anul 2007Luna augustNr tranzacţii 18 Valoare medie 2079

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

Denumire cafeaAnul 2007Luna august

Page 3: l3info

Total cantitate 23000 Unitate_măsură kgCost marfă 12Preţ mediu 11

Date de sinteză stocate în bazele multidimensionale OLAP:

Nr de tranzacţii cu clienţii pe luni Suma tranzacţiilor cu clienţii pe luniIanuarie 2007 280566 Ianuarie 2007 2045670000Februarie 2007 245600 Februarie 2007 2345552266……..August 2007 366743 August 2007 3400033478

Nr de tranzacţii cu clienţii pe oraşe Nr de tranzacţii cu clienţii pe zone

Alba Iulia 2007 23018 Transilvania 2007 48076Bucureşti 2007 123006 Muntenia 2007 164328Craiova 2007 52658 Oltenia 2007 45980Sibiu 2007 56021 Moldova 2007 76009Constanţa 2007 12890 Dobrogea 2007 20300

Banat Crişana 2007 2100 Maramureş 2007 5603

Modelarea dimensională - cuburi OLAP

Modelarea dimensională este o tehnică ce permite conceptualizarea şi reprezentarea aspectelor cantitative, măsurabile ale activităţii în strânsă legătură cu contextul în care s-a desfăşurat activitatea respectivă. Acest context este identificat prin parametrii activităţii: unde, când s-a desfăşurat activitatea respectivă, cine a iniţiat-o, cine a executat-o, cine a beneficiat, ce resurse au fost consumate, ce structuri organizatorice au fost implicate, etc. Aceste corelaţii între valorile înregistrate ale activităţii (valoarea vânzărilor, costul mărfii, cheltuielile de transport, cheltuielile comune, etc.) şi contextul în care s-au desfăşurat sunt temele multiplelor rapoarte de sinteză pe care le produc sistemele tranzacţionale. Aceste rapoarte însă sunt predefinite şi sintetizarea lor în vederea unor analize comparative a mai multor parametri se face de obicei off-line, 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ă, păstrând în acelaşi timp legătura cu sursele iniţiale de date şi, în consecinţă, posibilitatea de drill-down (tehnica de descompunere a datelor centralizate pe niveluri succesive până la setul de tranzacţii iniţiale).

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 activităţii desfăşurată pe o lungă perioadă de timp prin trei concepte: măsura activităţii - aspectul cantitativ, comensurabil în unităţi clasice de măsură: kg, m,

bucăţi, unităţi monetare. Exemple de asemenea măsuri sunt: volumul vânzărilor (cantitativ/valoric), volumul achiziţiilor (cantitativ/valoric), volumul salariilor, costul transportului, costul mărfurilor, costul materiilor prime, volumul taxelor şi impozitelor,

Page 4: l3info

volumul datoriilor, volumul creanţelor, marja comercială brută, profitul, etc. dimensiunile activităţii - parametrii activităţii măsurate, decupajul din activitatea globală care

corespunde măsurii. Exemple de asemenea dimensiuni sunt:ziua, luna, anul, trimestrul, sezonul (interval de timp) locaţia, zona geograficăclientul sau grupa (clasă, categorie) de clienţifurnizorul, furnizoriiprodusul sau grupa (clasă, categorie) de produseangajatul, structura organizatorică

Tot ca dimensiune se pot modela variante de măsuri: valori reale, valori bugetare, valori estimate. Această dimensiune oarecum artificială se cheamă scenariu.

Dimensiunile nu se intersectează, sunt de natură complet diferită (timp, spaţiu, produse, terţi, resurse financiare, resurse materiale, resurse umane, et. Ele răspund de regulă la întrebări de tipul: când?, unde?, ce?, cine?, cu ce?, cu cine?, de la cine?, către cine?, etc.

Faptele sunt colecţii de măsuri ale activităţii şi dimensiunile care identifică contextul în care s-au desfăşurat. Faptele se colectează din înregistrările stocate în tabelele de tranzacţii ale aplicaţiilor operaţionale ce susţin activitatea respectivă. Prin intermediul dimensiunii se pot stoca şi scenarii în tabelele de fapte pe lângă măsurile reale şi măsuri imaginate care permit utilizatorului să stocheze valorile bugetate sau estimate ale măsurii respective. Aceste măsuri sunt introduse direct în tabelele de fapte de către persoanele responsabile.

Dimensiunile sunt identificate în bazele de date tranzacţionale ca fiind câmpurile ce conţin caracteristicile unei tranzacţii, datele de identificare a tranzacţiei respective, de obicei coduri-chei externe care fac legătura cu nomenclatoarele ce le explicitează. Dimensiunea se materializează prin setul de valori posibile care alcătuiesc 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 găsesc în nomenclatoare şi care pot lua aceeaşi valoare pentru mai multe valori ale cheii primare. Spre exemplu, în nomenclatorul clienţilor se pot face grupe după localitatea clientului, localitatea fiind o dimensiune superioară dimensiunii client. În acelaşi sens, o dimensiune superioară localităţii 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 neapărat de aceeaşi natură cu dimensiunea primară care de altfel poate avea mai multe seturi de multipli în funcţie de caracteristicile luate în considerare. De exemplu, dimensiunea client se poate grupa şi în funcţie de vechime (data intrării în portofoliul de clienţi) în clienţi vechi, clienţi relativ noi, clienţi foarte noi şi clienţi ocazionali.

Dimensiunile şi multiplii lor formează structuri arborescente cunoscute de OLAP sub numele de ierarhii. Ierarhiile pot fi regulate (toate ramurile au acelaşi număr de ramificaţii sau nivele) sau neregulate (pe anumite ramuri lipsind un nivel de ramificaţie).

La rădăcina arborelui se găseşte o caracteristică care are aceeaşi valoare pentru toţi membrii dimensiunii de bază, de obicei o caracteristică implicită - compania care desfăşoară activitatea analizată sau all.

Frunzele arborelui sunt întotdeauna membrii dimensiunii iniţiale.Dimensiunile intermediate pot fi pe mai multe nivele.

Page 5: l3info

Dacă arborele este neregulat, un membru de tipul "alte" poate adăugat pentru a uniformiza ierarhia; altfel, centralizările pe nivelul respectiv nu vor reprezenta 100% din valoarea centralizată pe nivelul cel mai de jos.

Fig.7 Un exemplu de ierarhie a dimensiunii client:Atributele care definesc ierarhia sunt atribute derivate din atributul ce defineşte

dimensiunea faptelor măsurate, prin raportare la nomenclatoare sau prin clasificări ale valorilor luate de atributul respectiv. Spre exemplu, clienţii se pot clasifica în clienţi vechi dacă fac tranzacţii cu compania respectivă de mai mult de 3 ani, clienţi relativ noi dacă au vechimea între 3 şi 1 an, clienţi noi dacă sunt sub 1 an şi clienţi ocazionali dacă nu au completat câmpul Data_intrare în portofoliul de clienţi şi alte date de referinţă. Asemenea clasificări conduc la atribute derivate prin calcul din caracteristicile aflate în nomenclatoare, care vor da naştere la un set de membri calculaţi ai dimensiunii respective.

De exemplu, pe baza datei calendaristice se pot calcula anul, săptămâna, luna, trimestrul, semestrul, sezonul. Aceşti membri calculaţi nu se pot integra într-o singură ierarhie pentru că nu sunt complet ierarhizabili: o săptămână poate aparţine la două luni succesive iar sezoanele se stabilesc în funcţie de data solstiţiilor şi echinocţiilor sau arbitrar (primăvară-vară, toamnă-iarnă).

Europa

America de Nord

Asia

Divizia

Anglia

Franţa

România

SUA

Canada

India

China

Japonia

Ţara

Londra

Manchester Paris

Lyon

MarsiliaBucureşti

IaşiCluj

New YorkDallasChicagoTorontoMontrealNew DehliMadrasBeijingShangaiTokyo

Oraş

HP ltdS&M ltdAxelYodineT&CoMerlinGaliaBoudinCoMMM srlCam SA…..

MoritaSeikoClient

Comp XXX

Compania

Page 6: l3info

Dimensiunile ierarhizabile însă se constituie obligatoriu în ierarhii alternative:

Anul 1999 Semestrul 1 Trimestrul 1 Ianuarie Ziua 1Ziua 2…..Ziua 31

Februarie Ziua32Ziua33

MartieTrimestrul2 Aprilie

MaiIunie

Semestrul2 Trimestrul 3Trimestrul 4

Anu11999 Săptămâna 1 Ziua lZiua 2……Ziua 7

Săptămâna 2 Ziua8

……Săptămâna 52 ….

Ziua365

Fig. 8. Ierarhii alternative ale dimensiunii timpNivelele ierarhiilor sunt utilizate ca nivele de agregare a valorilor stocate în tabela de fapte

ca măsuri ale activităţii. Membrii dimensiunilor sunt utilizaţi pentru identificarea unei măsuri a activităţii 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 înregistrări (toate valorile posibile pentru dimensiunile nespecificate). Pentru prezentarea unei singure măsuri pe un set restrâns de dimensiuni, înregistrările selectate se vor centraliza şi prezenta ca un singur fapt, dimensiunile nespecificate fiind eliminate din prezentare. De exemplu, tabela de fapte prezintă volumul vânzărilor pe zi, client, produs. Dacă se doreşte volumul vânzărilor pe zi pe fiecare produs, se însumează vânzările 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 desfăşurat în secţiuni sau proiecţii tridimensionale pentru a putea fi înţeles (secţiunea este o felie transversală din cub, identificată prin coordonatele secţiunii, proiecţia este o secţiune care centralizează datele de pe toate dimensiunile suprimate). De altfel, şi vizualizarea on-line se face tot în secţiuni sau proiecţii tridimensionale iar datele din celule pot fi prezentate numai în secţiuni sau

Page 7: l3info

proiecţii 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 măsuri.

Pentru modelare, hipercubul se prezintă în forma tabelară cu coloane pentru măsuri şi rânduri pentru combinaţiile de dimensiuni.

Dimensiuni Măsuri Anul Luna Agent Client Produs Cantitate Valoare Cost

marfăChelt transp

Altechelt

1999 1 AAA Alexa Ciment 100 33000 20700 500 2341999 1 AAA Alexa Var 30 5000 4300 120 57

2001 10 XXX YETA Vopsea 400 132000 82800 780 560

Şi în plan fizic, hipercubul poate fi stocat într-o tabelă cu multiple coloane în care sunt stocate măsurile şi cu identificatori de rânduri (chei) formaţi din toate combinaţiile posibile de valori ale dimensiunilor. Utilizarea indecşilor pentru acces rapid nu este de prea mare ajutor întrucât cheia este formată din multe caracteristici iar câmpurile de valoare sunt puţine şi numerice. Tabela de indecşi este aproape la fel de mare ca şi tabela iniţială. Accesul direct rapid este asigurat prin tabele bitmap. Bazele de date dedicate datelor modelate ca hipercuburi sunt bazele de date multidimensionale.

Baze de date multidimensionaleO bază de date multidimensională este formată din două structuri: Structura datelor - în care sunt stocate măsurile activităţii preluate din tabela de fapte a

depozitului de date (cantităţi, 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 informaţiile care apar pe axele cuburilor şi sunt prezentate utilizatorului ca nume de rânduri şi coloane în tabelele pivot.

Page 8: l3info

Fig.9 Ierarhii alternative ale dimensiunii TIMP

Nivelele sunt numerotate de la rădăcină (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_zile0 Timp Timp Timp1 Ani Ani Săptămâna2 Semestre Sezoane Ziua3 Trimestre Luni Data calendaristică4 Luni Date calendaristice5 Date calendaristice

Pe fiecare nivel se stochează membrii dimensiunii respective. Rădăcina 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 membriTimp all 1Anul 1997,1998,1999,2000,2001 5Semestrul I, II 2Trimestrul 1,2,3,4 4Luna Ian,feb,mar,apr,... dec 12Săptămâna 1,2,3,....56 56Ziua Luni, marţi, miercuri, joi.... 7

TIMP

Anul

Semestrul

Trimestrul

Luna

Data calendaristică

Săptămână

Ziua

Sezonul

Ierarhia Anotimp

Ierarhia Calendar

Ierarhia Sapte_zile

Page 9: l3info

Data calendaristică 1, 2, 3, …., 31 31

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 număr de ordine începând cu 0.

Fiecare membru poate avea anumite proprietăţi asociate. Spre exemplu anumiţi ani sunt bisecţi, anumite zile sunt sărbători legale, etc.

Structura este strict arborescentă pentru că fiecare membru al unei dimensiuni are submembri distincţi, chiar dacă au aceleaşi valori. Spre exemplu, fiecare an are setul lui de luni (ian, feb, mar, ...dec), fiecare săptămână are setul ei de zile (luni, marţi, miercuri...). Pentru identificare, aceşti membri vor fi calificaţi cu numele membrului de pe nivelul precedent căruia 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 următoare putem combina dimensiunile statut şi judeţ pentru a putea grupa clienţii după forma de asociere şi localitate. Numărul de membri posibili ai noului set va fi egal cu numărul de combinări ale elementelor celor două mulţimi (41 judeţe * 5 forme de asociere = 205 de membri pentru noua dimensiune judeţ-statut).

all rădăcină

1997 1998 1999 2000 2001 anul

I II semestrul

1 2 3 4 trimestrul

luna

data

ian feb mar oct nov dec

1 31 1 31

Page 10: l3info

Fig. 11. Ierarhiile alternative ale dimensiunii CLIENT

Pentru navigaţia 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 fişier cu acces direct pe baza adresei fizice absolute sau relative a înregistrării obţinute prin exploatarea tabelelor bitmap construite la crearea structurii de date.

Tabelele bitmap fac legătura între structura de date şi structura de metadate în felul următor: pentru fiecare membru al fiecărei dimensiuni există o coloană (1 bit) în tabela bitmap, pentru fiecare înregistrare există un rând în tabela bitmap în care se stochează valori binare care au 1 în dreptul biţilor asociaţi membrului dimensiunii care se găseşte în înregistrare.

Câmpul respectiv nu mai trebuie stocat în înregistrare iar structura datelor este redusă la minimul necesar.

all

Zonă

Judeţ

Localitate

Client

Categorie

Subcategorie

Statut

Ierarhia Forma Juridică

Ierarhia Geografie

Ierarhia Clasificare

Page 11: l3info

timp agent client produs

anulluna

ziua echipaNume agent

zona LocNume client

familie categDen

produsADRESA

1997

2001

ian

1 31

Bch1

Ech2

Ag1

Ag2

Est

Sud

Buc

Iaşi

Cl1

Cl2

Alim

Medicam

Lactate

Fainoase

Lapte

Unt

1 1 1 1 1 1 1 1 1 12 1 1 1 1 1 1 1 13

1 1 1 1 1

Fig. 11 Masca de biti pentru interogarea: Medicamentele vândute de echipa 1 de agenţi în laşi în ianuarie 2001.

Vor fi selectate din tabela de măsuri înregistrările care au un bit 1 în poziţia corespunzătoare biţilor 1 din mască.

Tabelele bitmap sunt greu de construit, se bazează în principiu pe dimensiuni cu număr fix de membri. Membrii care apar ulterior sunt greu de inserat în poziţia corespunzătoare şi de regulă se lasă biţi liberi pentru extindere. Refacerea unei tabele bitmap este un proces mare consumator de timp având în vedere că tabela de fapte din depozit care se transformă în bază multidimensională poate avea milioane de înregistrări.

Masca de interogare se construieşte 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 înregistrări care se suprapun cu tiparul măştii se face adresarea directă a tabelei de măsuri de unde se preiau valorile ce se centralizează pentru celula cubului cu dimensiunile respective (anul 2001, luna ian, echipa 1, loc. Iaşi, prod. medicamente).

Select ... on columnson rowson pages …on...From ...

Where ...

Page 12: l3info

dimensiuni

Masca 1 1 1 1

Tabela bitmap

Adr1 1 1 1 1 1 1 1Adr2 1 1 1 1 1Adr3 1 1 1 1 1 1 1 1 1Adr4 1 1 1 1 1 1 1 1 1 1 1 1Adr5 1Adr6 1 1Adr7 1 1 1 1

Adr1Adr2Adr3Adr4Adr5Adr6Adr7…..Adr18….

Fig. 13. Structura unei baze de date multidimensionale

all

1997 1998 1999 2000 2001

I II

1 2 3 4

ian feb mar oct nov dec

1 31 1 31

Adr3,4,6,7 ∩ Adr3,4,7 ∩ Adr4,6,7 ∩ Adr4,5,7

Adr 4Adr 7

Adr 18Adr 54

Adr 112Adr 189

Lista Adrese

Înreg

C3

Tabela MĂSURI

Page 13: l3info

Structura metadatelor este de tip ierarhic, fiecare dimensiune fiind stocată într-o structură arborescentă cu o singură rădăcină (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 puţin un nivel comun, nivelul "frunze", care este cel mai scăzut nivel de centralizare.

Structura în care se stochează datele este o structură cu acces direct prin tabele bitmap care sunt exploatate prin măşti.

Operaţii OLAP asupra hipercubului

Proiectarea hipercubului trebuie să ţină seama de nivelul de detaliu necesar la analiză, nivel de detaliu denumit granularitate şi care exprimă numărul de membri ai unei dimensiuni. Spre exemplu, dacă se doreşte analiză la nivel de client, toţi clienţii societăţii 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 operaţional care lucrează direct cu un număr mic de clienţi printr-un număr mic de agenţi. Pentru a vizualiza datele la această granularitate, trebuie realizată o selecţie din hipercub pe baza unui criteriu ierarhic care ar putea fi structura organizaţională pe care o conduce managerul respectiv. Dacă granularitatea din start este prea mare (grupe de clienţi sau structuri organizatorice de agenţi), datele sunt prea centralizate şi nu se poate face o analiză fină, OLAP ajustează nivelul de granularitate prin exploatarea ierarhiilor dimensiunilor efectuând comasări şi descompuneri ale măsurilor prin procedurile denumite roll-up şi drill-down. Aceste proceduri deplasează proiecţia cubului în sus şi in jos pe nivelele ierarhice ale fiecărei dimensiuni (zoom in; zoom out) efectuând de fiecare data centralizări ale măsurilor stocate la cea mai mică granularitate după criteriile ierarhice cerute. Sub nivelul de granularitate iniţial 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 operaţional iar pentru managementul nivelelor superioare, să se construiască un depozit cu hipercuburi centralizatoare cu granularitate mai mare. Operaţia drill-down oferă mai multe detalii, operaţia roll-up oferă date mai sintetice.

Un alt grup de operaţii pe care OLAP le poate executa sunt secţionarea (slicing) şi defalcarea (dicing). Secţionarea este posibilitatea de a selecta pentru vizualizare doar un membru al unei dimensiuni (un plan din cubul tridimensional). Secţiunea respectivă apare ca o tabelă pivot cu valorile dimensiunilor pe laturi şi cu menţionarea valorii alese pentru dimensiunea suprimată.

Vânzările în anul 1999 pe clienţi şi produseAracet Ciment Gips Var Vopsea

Alexa 350 270Bloon 240 107 56Bogza

VoxYeta 760 850

Page 14: l3info

Defalcarea (dicing) înseamnă proiectarea unei dimensiuni pe o altă dimensiune, în general una din dimensiunile din prim plan se combină cu o dimensiune din adâncime. Procesul se mai numeşte şi imbricarea dimensiunilor.

Vânzările către clienţi în anul 1999 pe produse şi agenţiAracet Ciment Gips Var Vopsea

Ag1

Agn

Ag1

Agn

Ag1

Agn

Ag1

Agn

Ag1

Agn

Alexa 150 100 100 170 100 300Bloon 120 120 107 56Bogza

VoxYeta 320 160 280 250 350 250

Dimensiunile unui cub pot fi private, ceea ce înseamnă că aparţin unui singur cub sau pot fi utilizate în comun de mai multe cuburi (provenind din depozite cu schema tip constelaţie).

Fiecare membru al unei dimensiuni poate avea anumite proprietăţi asociate care se stochează în atribute specifice ale nivelului ierarhiei. De exemplu, anumite zile din an sunt sărbători; calitatea respectivă va fi evidenţiată pentru zilele care o îndeplinesc. Noi membri ai dimensiunii respective pot fi adăugaţi respectând 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 vieţi a aplicaţiei, dimensiunile cuburilor fiind strâns legate de detaliile activităţii precum clienţi, produse, etc. Orice nou client sau nou produs va implica o modificare de structură.

Domenii de utilizare ale OLAPInstrumentele OLAP şi aplicaţiile construite cu această tehnologie îşi găsesc multiple

domenii de utilizare în activitatea întreprinderilor, de la vânzări şi marketing la finanţe şi producţie ca să numim numai câteva. Astfel, departamentele financiar şi contabilitate pot folosi instrumente OLAP pentru construirea bugetelor, analiza performanţelor financiare şi modelare financiară; departamentul vânzări poate beneficia de analize complexe ale vânzărilor şi de previziuni; departamentul marketing poate face cercetări şi analize de piaţă, analize ale campaniilor publicitare, analiza clienţilor şi a segmentelor de piaţă. Activitatea de producţie poate fi susţinută de aplicaţii OLAP de planificare a operaţiilor, de asigurare şi control a calităţii produselor, de analiză a rebuturilor, de optimizare a raportului cost-performanţă.

Toţi aceşti utilizatori potenţiali pot extrage prin tehnologia OLAP informaţii pertinente, personalizate, referitoare la domeniul propriu de activitate pentru fundamentarea deciziilor curente şi de perspectivă. Timpul mic de răspuns, critic pentru acest gen de aplicaţii, este un factor important de succes al OLAP, realizat prin tehnici inteligente de optimizare.