Analiza multidimendională
Un joc care ne aminteste de cubul lui Rubik. Dar infinit mai complex.
Ratiunea pentru care există depozitul de date este de a permite realizarea unor
analize economice complexe, care să folosească întreaga valoare pe care o posedă
datele colectate. Altfel spus, să valorifice informatiile în decizii manageriale
inteligente, atît la nivel strategic cît si la nivel tactic. Iar în acest proces
instrumentele de analiză au rolul principal.
Se disting două modalităti prin care se poate valorifica informatia din depozitul de
date: "mineritul" în date (data mining) si analiza multidimensională.
Data mining este o tehnică aflată în plină dezvoltare, care vizează descoperirea unor
"sabloane" (patterns) semnificative în structura datelor, care să
indice în general tendinte ale pietei. Se utilizează tehnici complexe, de diverse
facturi (inteligentă artificială, statistică matematică, etc) care vor constitui
subiectul unor articole viitoare. Se spune că mineritul în date răspunde la întrebări
pe care analistul nici măcar nu si le pune...
Întrebări
Analiza multidimensională, referită de regulă ca OLAP (On Line Analytical
Processing) este o activitate ceva mai pămînteană, care răspunde la întrebări pe
care managerii si le pun la modul concret. Singura trăsătură comună a acestor
întrebări este caracterul lor multidimensional. Există totusi cîteva tipuri uzuale de
întrebări, care pot arunca o lumină asupra complexitătii instrumentelor care trebuie
să furnizeze răspunsuri:
- Raporturi multidimensionale. Exemplu: care este contributia la vînzările
săptămînale totale a produselor farmaceutice vîndute prin magazinele situate în
regiunea Moldova între 4 si 10 februarie?
- Comparatii. Exemplu: care este media abaterii procentuale de la planul de
vînzări în lunile acestui an comparativ cu anului trecut?
- Clasificări si profiluri statistice. Exemplu: Care este volumul vînzărilor si
media profitului pentru primii 20% dintre distribuitori si care este contributia acestora
la totalul vînzărilor pe trimestrul trecut?
- Agregări libere. Exemplu: care sînt veniturile realizate în ultimele patru
trimestre de filialele judetene din regiunea Moldova?
- Evaluări What-If. Exemplu: în ce măsură ar influenta profitul total o
crestere cu 10 procente a vînzărilor în judetele din Banat?
Pentru oricine a avut vreodată de formulat interogări în baze de date, este evident
că exprimarea unor asemenea interogări depăseste posibilitătile oricărui instrument
user-friendy de raportare. Devine evidentă necesitatea unor instrumente specializate
OLAP.
Calităti
Care ar fi calitătile pe care ar trebui să le îndeplinească un bun instrument OLAP?
- Să poată să sustină analize sofisticate. Exemplele anterioare justifică pe deplin o
astfel de pretentie.
- Să poată fi utilizate eficient de diverse categorii de utilizatori. Managerii de pe
diverse nivele ierarhice nu formează o clasă omogenă de utilizatori din perspectiva
aptitudinilor si abilitătilor tehnice. Pentru a putea fi eficient utilizate, trebuie să
furnizeze viziuni intuitive, multidimensionale asupra datelor,
să permită o navigare liberă si o prezentare cît mai naturală a rezultatelor.
- Să fie scalabile la volume oricît de mari de date. Volumele depozitelor de date sînt
imense, iar cresterea lor este continuă.
- Să permită accesul concurent al unui mare număr de utilizatori. Depozitul de date
este centrul informational al întregii organizatii si este de presupus că o mare parte
dintre angajati îl vor utiliza.
- Să fie usor de întretinut si de configurat. Nevoile informationale ale unei
organizatii evoluează, iar instrumentele de analiză trebuie să se adapteze în mod
continuu.
- Să fie bazate pe o arhitectură deschisă. Evolutia tehnologică poate aduce schimbări
radicale în structura sistemului informational, care însă nu trebuie să afecteze
instrumentatia utilizată pentru analiză.
Arhitectura
Fiind o tehnologie relativ nouă, modelul care s-a impus pentru sistemele orientate
spre analiză multidimensională este unul de tip client/server în trei straturi.
- Bazele de date formează nivelul cel mai de jos, responsabil cu stocarea si
regăsirea datelor. De regulă aplicatiile tranzactionale utilizează sisteme relationale,
dar pentru depozitele de date se folosesc si sisteme multidimensionale. Dat fiind volumul
mare de date, este recomandabil ca SGBD-urile folosite să ofere suport pentru prelucrări
paralele (SMP si MPP; interogări, încărcări si indexări paralele) si distribuite, să
dispună de mecanisme performante de indexare si de optimizare, să ofere un înalt nivel
de sigurantă.
- Logica aplicatiei este sustinută de un "motor analitic" (OLAP Engine),
servind ca server pentru instrumentele desktop. Din perspectiva SGBD-ului care
administrează depozitul de date, motorul analitic este un client.
- Logica prezentării este reprezentată de instrumentele mînuite de utilizatorul
final. Acestea au acces la datele din depozit prin intermediul motorului analitic. Dacă
motorul analitic este un instrument foarte specializat si care de regulă este cumpărat
"de gata", aplicatiile front-end folosite de utilizatorii finali sînt extrem de
diverse. Există aplicatii generale care răspund suficient de bine nevoilor unei
categorii largi de utilizatori, există instrumente specializate pe domenii (cum ar fi de
pildă analiza financiară) si, în fine, există posibilitatea de a dezvolta instrumente
foarte specifice unor anumite nevoi, utilizînd medii de dezvoltare comerciale (de pildă
Visual Basic) si interfetele de programare furnizare de serverul OLAP.
Rolul motorului analitic
Principala sarcină a motorlui OLAP este de a prelua cererile exprimate de clienti si,
pe baza consultării metadatelor, să genereze cererile necesare pentru obtinerea datelor
ce vor fi redirectate către clienti. În plus, datelor obtinute li se pot aplica la acest
nivel o serie de prelucrări.
- Generarea de interogări - se bazează pe criteriile furnizate de clienti sub
forma unor formule exprimate prin operatori logici. Pentru a genera interogările (SQL sau
specifice SGBD-urilor multidimensionale), motorul OLAP dispune de algoritmi care aplică
criteriile asupra metadatelor, obtinînd căile de acces la datele referite si
transformările necesare. Urmează apoi optimizarea cererii în vederea obtinerii unei
viteze optime.
- Manipulările matematice se aplică pentru a aduce datele la forma dorită de
clienti. Acestea constau de cele mai multe ori în calcularea unor metrici derivate pe
baza unor formule date, analize statistice complexe, etc.
- Sintetizarea rezultatelor (cross-tabulation) este o altă sarcină a motorului
analitic. Desi depozitul de date contine si date deja agregate, adeseori utilizatorul
doreste consolidarea unor sinteze pe baza unor combinatii de atribute care nu au fost
prevăzute. În această situatie, motorul analitic solicită depozitului toate datele
necesare la nivel de detaliu si realizează sumarizările necesare.
Rolul aplicatiilor
Din punctul de vedere al utilizatorului final, aplicatia front-end pe care o foloseste
trebuie să-i asigure două functionalităti importante: navigarea liberă prin depozitul
de date în căutarea informatiilor relevante si posibilităti diverse de prezentare a
datelor. Aceste functionalităti sînt strîns legate între ele si este greu de spus care
operatie este de navigare si care de prezentare.
- Specificarea criteriilor de selectie este primul pas în orice analiză.
Utilizatorul trebuie să poată exprima cu usurintă criterii simple, bazate pe valori ale
atributelor si/sau pe valori ale metricilor. Aceste criterii simple trebuie să poată fi
apoi combinate prin operatori logici si trebuie să poată fi salvate în biblioteci
pentru eventuale reutilizări.
- Rotatiile sînt operatii care permit utilizatorului să găsească pespectiva
care-l interesează specificînd dimensiunile si directiile de rotatie sau indicînd un
pivot.
- Schimbarea nivelului de agregare permite găsirea nivelului de granularitate optim
pentru analiză. Se poate adînci analiza spre nivele de detaliu (drill-down) pentru
anumite dimensiuni în timp ce pentru alte dimensiuni se creste nivelul de agregare
(drill-up). De regulă căile de navigare sînt date de ierarhiile de atribute
corespunzătoare atributelor.
- Specificarea modului de prezentare trebuie să permită analistului să
găsească modalitătile optime de valorificare vizuală a datelor extrase. În afară de
posibilitătile grafice tipice pentru prezentare, este important ca utilizatorul să
poată vizualiza date multidimensionale într-o manieră tabelară. În acest sens se pot
utiliza tabele complexe, care să poată grupa coloane si linii exprimînd dimensiuni
diferite (de pildă timpul si geografia) si nivele de agregare diferite.