Let's Do It Romania - 24 Septembrie 2011



   

Analiza multidimensională

   
   

Un joc care ne aminteşte de cubul lui Rubik. Dar infinit mai complex.

Mircea Sârbu


Raţiunea 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 informaţiile în decizii manageriale inteligente, atât la nivel strategic cât şi la nivel tactic. Iar în acest proces instrumentele de analiză au rolul principal.

Se disting două modalităţi prin care se poate valorifica informaţia din depozitul de date: "mineritul" în date (data mining) şi analiza multidimensională. Data mining este o tehnică aflată în plină dezvoltare, care vizează descoperirea unor "şabloane" (patterns) semnificative în structura datelor, care să indice în general tendinţe ale pieţei. Se utilizează tehnici complexe, de diverse facturi (inteligenţă 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 şi 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 şi le pun la modul concret. Singura trăsătură comună a acestor întrebări este caracterul lor multidimensional. Există totuşi câteva tipuri uzuale de întrebări, care pot arunca o lumină asupra complexităţii instrumentelor care trebuie să furnizeze răspunsuri:

  • Raporturi multidimensionale. Exemplu: care este contribuţia la vânzările săptămânale totale a produselor farmaceutice vândute prin magazinele situate în regiunea Moldova între 4 şi 10 februarie?
  • Comparaţii. Exemplu: care este media abaterii procentuale de la planul de vânzări în lunile acestui an comparativ cu anului trecut?
  • Clasificări şi profiluri statistice. Exemplu: Care este volumul vânzărilor şi media profitului pentru primii 20% dintre distribuitori şi care este contribuţia acestora la totalul vânzărilor pe trimestrul trecut?
  • Agregări libere. Exemplu: care sunt veniturile realizate în ultimele patru trimestre de filialele judeţene din regiunea Moldova?
  • Evaluări What-If. Exemplu: în ce măsură ar influenţa profitul total o creştere cu 10 procente a vânzărilor în judeţele din Banat?

Pentru oricine a avut vreodată de formulat interogări în baze de date, este evident că exprimarea unor asemenea interogări depăşeste posibilităţile oricărui instrument user-friendy de raportare. Devine evidentă necesitatea unor instrumente specializate OLAP.

Calităţi

Care ar fi calităţile pe care ar trebui să le cumuleze un bun instrument OLAP?

  • Să poată să susţină 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 şi abilităţilor tehnice. Pentru a putea fi eficient utilizate, trebuie să furnizeze viziuni intuitive, multidimensionale asupra datelor, să permită o navigare liberă şi o prezentare cât mai naturală a rezultatelor.
  • Să fie scalabile la volume oricât de mari de date. Volumele depozitelor de date sunt imense, iar creşterea lor este continuă.
  • Să permită accesul concurent al unui mare număr de utilizatori. Depozitul de date este centrul informaţional al întregii organizaţii şi este de presupus că o mare parte dintre angajaţi îl vor utiliza.
  • Să fie uşor de întreţinut şi de configurat. Nevoile informaţionale ale unei organizaţii evoluează, iar instrumentele de analiză trebuie să se adapteze în mod continuu.
  • Să fie bazate pe o arhitectură deschisă. Evoluţia tehnologică poate aduce schimbări radicale în structura sistemului informaţional, care însă nu trebuie să afecteze instrumentaţia 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 şi regăsirea datelor. De regulă aplicaţiile tranzacţionale utilizează sisteme relaţionale, dar pentru depozitele de date se folosesc şi sisteme multidimensionale. Dat fiind volumul mare de date, este recomandabil ca SGBD-urile folosite să ofere suport pentru prelucrări paralele (SMP şi MPP; interogări, încărcări şi indexări paralele) şi distribuite, să dispună de mecanisme performante de indexare şi de optimizare, să ofere un înalt nivel de siguranţă.
  • Logica aplicaţiei este susţinută 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 şi care de regulă este cumpărat "de gata", aplicaţiile front-end folosite de utilizatorii finali sunt extrem de diverse. Există aplicaţii 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ă) şi, în fine, există posibilitatea de a dezvolta instrumente foarte specifice unor anumite nevoi, utilizând medii de dezvoltare comerciale (de pildă Visual Basic) şi interfeţele de programare furnizare de serverul OLAP.

Rolul motorului analitic

Principala sarcină a motorlui OLAP este de a prelua cererile exprimate de clienţi şi, pe baza consultării metadatelor, să genereze cererile necesare pentru obţinerea datelor ce vor fi redirectate către clienti. În plus, datelor obţinute li se pot aplica la acest nivel o serie de prelucrări.

  • Generarea de interogări - se bazează pe criteriile furnizate de clienţi 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, obţinând căile de acces la datele referite şi transformările necesare. Urmează apoi optimizarea cererii în vederea obţinerii unei viteze optime.
  • Manipulările matematice se aplică pentru a aduce datele la forma dorită de clienţi. 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. Deşi depozitul de date conţine şi date deja agregate, adeseori utilizatorul doreşte consolidarea unor sinteze pe baza unor combinaţii de atribute care nu au fost prevăzute. În această situaţie, motorul analitic solicită depozitului toate datele necesare la nivel de detaliu şi realizează sumarizările necesare.

Rolul aplicaţiilor

Din punctul de vedere al utilizatorului final, aplicaţia front-end pe care o foloseşte trebuie să-i asigure două funcţionalităţi importante: navigarea liberă prin depozitul de date în căutarea informaţiilor relevante şi posibilităţi diverse de prezentare a datelor. Aceste funcţionalităţi sunt strâns legate între ele şi este greu de spus care operaţie este de navigare şi care de prezentare.

  • Specificarea criteriilor de selecţie este primul pas în orice analiză. Utilizatorul trebuie să poată exprima cu uşurintă criterii simple, bazate pe valori ale atributelor şi/sau pe valori ale metricilor. Aceste criterii simple trebuie să poată fi apoi combinate prin operatori logici şi trebuie să poată fi salvate în biblioteci pentru eventuale reutilizări.
  • Rotaţiile sunt operaţii care permit utilizatorului să găsească pespectiva care-l interesează specificând dimensiunile şi direcţiile de rotaţie sau indicând un pivot. (vezi caseta Dimensiuni şi atribute)
  • 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 creşte nivelul de agregare (drill-up). De regulă căile de navigare sunt date de ierarhiile de atribute corespunzătoare atributelor.
  • Specificarea modului de prezentare trebuie să permită analistului să găsească modalităţile optime de valorificare vizuală a datelor extrase. În afară de posibilităţile 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 şi linii exprimând dimensiuni diferite (de pildă timpul şi geografia) şi nivele de agregare diferite.

 

(Publicat în PC Report - martie 1996)

 

Copyright © 1996 Agora Media

Creative Commons License
This work is licensed under a Creative Commons License.