În căutarea definitiei

A detine o imagine unitară, actuală si semnificativă asupra întregii organizatii este visul oricărui manager. Data Warehouse este promisiunea că visul poate deveni realitate

Mircea Sârbu

Ideea "depozitelor de date" nu este nouă. Cu toate acestea, termenul Data Warehouse a devenit un termen la modă (un buzzword, cum spun americanii) abia în ultimii doi ani, mai ales în cercurile manageriale. Spre deosebire de multi alti astfel de termeni "la modă", inventati si întretinuti în actualitate din motive pur comerciale, depozitele de informatii reprezintă o cerintă acută a organizatiilor moderne (fie ele întreprinderi, bănci, administratie, etc) si, totodată, o realitate tehnologică pusă în practică din ce în ce mai frecvent. Un sondaj realizat de META Group în 1994 arăta că 90% dintre managerii intervievati intentionau lansarea unor proiecte de implementare a acestui concept. Segmentul de piată legat de depozitele de date are o rată anuală de crestere de cca. 35%, volumul estimat de Gartner Group pentru 1999 fiind de aproape 7 miliarde de dolari.

Istoria

Încă de la începuturile erei informatice, managerii au înteles că datele capturate de sistemele informatice operationale reprezintă o mină de aur informational care se cere exploatată. Eforturile în această directie au născut generatii de acronime care au facut epocă si apoi au apus: MIS (Management Information Systems), DSS (Decision Support Systems), EIS (Executive Information Systems), MSS (Management Support Systems).

Depozitele de date, sub un nume sau altul, au apărut în gîndirea comunitătii informatice la sfîrsitul deceniului trecut. La începutul anilor 90 ideea capătă contur, iar IBM se grăbeste să protejeze în nume propriu termenul Information Warehouse. Cu toate acestea, viziunea IBM se referea mai degrabă la conectivitatea globală a diverselor surse de date, fiind un fel de "middleware generalizat" bazat pe arhitectura proprie DRDA - Distributed Relational Database Architecture.

William Inmon, vicepresedintele firmei Prism Solutions, este părintele necontestat a notiunii în întelesul ei curent (Inmon detine de altfel trademark-ul termenului Data Warehouse). Viziunea sa despre depozitele de informatii se concentrază asupra rolului acestora de bază informatională a deciziei manageriale, păstrînd astfel un nivel înalt de generalitate si permitînd unor multiple implementări să intre în sfera acestei notiuni.

Un alt nume important în acest cadru este cel al lui Earl Hadden, cel care a enuntat, a fundamentat si a experimentat cu succes o metodologie riguroasă pentru implementarea rapidă a depozitelor de date (90 day winners). O serie de firme comerciale si-au adus la rîndul lor contributia la clarificarea, dezvoltarea si popularizarea noii tehnologii. Printre acestea se remarcă Software AG, Oracle, Red Brick Systems, Prism Solutions, MicroStrategy, etc.

Contextul

Este firesc în aceste conditii să ne întrebăm totusi cum se explică explozia interesului pentru depozitele de date în anul care a trecut. Răspunsul este că s-a întîmplat ca tendintele economice si progresele tehnologice să se intersecteze în acest punct.

Din perspectivă economică, globalizarea comertului, ascutirea dramatică a concurentei, scurtarea spectaculoasă a ciclurilor de viată a produselor datorită dinamicii tehnologiei, impunerea unor cerinte calitative extrem de ridicate precum si alte asemenea evolutii, au evidentiat si mai mult valoarea strategică a informatiei. Manipularea operativă a informatiei a impus la rîndul ei noi modele manageriale, mai suple si mai functionale. Nevoia de a răspunde în timp optim cerintelor pietei a condus la descentralizare si la reducerea numărului nivelelor decizionale, consacrînd asa-numitele "ierarhii plate" care se bazează pe delegarea puterii decizionale operative către esalonul managerial secund. Practic, clasicul functionar este pe cale de a fi înlocuit de "lucrătorul cu informatii". Atît la nivelul conducerii strategice cît si la nivelul managementului operativ, nevoia de informatie pură, corectă si semnificativă a devenit vitală.

Din perspectivă tehnologică, ultimii ani au adus puterea de calcul la preturi accesibile. Servere paralele bazate pe microprocesoare ieftine rivalizează ca putere cu supercomputerele, la o fractiune din pretul acestora. Sistemele de baze de date pot exploata la maximum arhitecturile hardware paralele, iar evolutiile spre sisteme deschise permit o conectivitate aproape totală la orice fel de surse de date si interoperabilitate între diverse platforme soft/hard. Mediile de stocare magnetice si optice admit volume de ordinul giga si chiar tera.

PC-urile au ajuns si ele la maturitate. Puterea lor este acum suficientă pentru functiile de analiză si prezentare care le sînt rezervate, iar interfetele grafice intuitive le fac accesibile utilizatorilor neprofesionisti, în spetă managerilor.

Si acum, jonctiunea: sistemele informatice operationale există, datele pot fi accesate oriunde, nevoia de informatie este acută, puterea de calcul si de stocare este ieftină, instrumentele soft sînt accesibile. E vremea pentru Data Warehouse.

Ce este Data Warehouse?

Înainte de a enunta o definitie este util să precizez că depozitul de date este într-un fel complementul sistemului informatic operational. Deoarece acesta din urmă este familiar cititorilor (aplicatiile de contabilitate, gestiune a stocurilor, urmărirea comenzilor, facturare, etc) o bună parte din expunere va fi axată pe evidentierea diferentelor între aspectele operationale si cele informationale.

Definitia lui Bill Inmon este extrem de concisă: A data warehouse is a subject-oriented, integrated, time-variant and nonvolatile collection of data in support of management's decision making process.

Privind enuntul cu ochiul unui matematician, acesta ar putea fi descompus într-o definitie ("un depozit de date este o colectie de date destinate fundamentării deciziei manageriale") si o caracterizare ("o astfel de colectie de date este (1) tematică, (2) integrată, (3) plasată într-un context temporal, si (4) permanentă"). Vom începe cu definitia.

Genul proxim: o colectie de date. Datele din data warehouse provin în principal din datele capturate din sistemul operational, dar mai pot proveni din datele de arhivă (în perioada de constituire a depozitului) precum si din surse externe, cum ar fi baze de date publice. Cîteva exemple posibile: date demografice (obtinute în urma unui recensămînt), date statistice (furnizate de institute specializate), date de prognoză economică (furnizate de institutii orientate pe studiul pietei), date obtinute în urma unor sondaje de opinie, etc. Aceste date pot fi cumpărate, pot fi preluate pe bază de abonament sau pot fi date publice gratuite.

Diferenta specifică: destinate fundamentării deciziei manageriale. Spre deosebire de colectiile de date utilizate de sistemul operational - orientate spre optimizarea si siguranta procesării datelor - datele dintr-un depozit de date sînt organizate într-o manieră care să permită analizarea lor, deci extragerea semnificatiei economice pe care o poartă. Rolul unui depozit de date este de a oferi o imagine coerentă asupra datelor relative la activitatea unei organizatii si a contextului în care acesta actionează. Utilizarea acestei colectii poate consta din extragerea unor rapoarte (la cerere sau pe baza unui "abonament" cu o anumită periodicitate), extragerea unor date pentru a fi utilizate de aplicatiile de birotică (programe de calcul tabelar, procesoare de text, programe de prezentare, etc), dar mai ales pentru a fi utilizate de către aplicatii specializate de analiză. Acestea ar putea fi împărtite în două categorii: instrumente de analiză on-line (OLAP - On Line Analytical Processing - aplicatii axate pe analiză multidimensională) si instrumente pentru "minerit" în date (data mining - aplicatii axate pe descoperirea unor sabloane semnificative în colectii de date).

Dar partea cea mai consistentă a enuntului lui Inmon constă în caracterizarea acestor colectii de date destinate analizei. Deci le vom examina pe îndelete.

Orientare tematică

Să remarcăm pentru început că datele operationale sînt orientate pe aplicatii, în sensul că organizarea lor este optimizată pentru a servi procesului tranzactional, dinamicii sistemului. În contrast, depozitul de date este orientat pe subiectele importante ale procesului economic, cum ar fi: clienti, furnizori, produse, activităti.

Un exemplu simplu poate fi edificator: o comandă lansată de un client va fi consemnată de sistemul operational printr-un set de înregistrări care vor contine informatii despre client, informatii despre produsele sau serviciile comandate, informatii despre modul de transport si modul de plată, etc. Atentia sistemului tranzactional este orientată către consistenta cheilor, astfel încît operatia să păstreze consistenta. Multe dintre datele esentiale din perspectivă operatională (numărul comenzii, pozitiile liniilor în cadrul comenzii, etc) sînt complet lipsite de relevantă din perspectivă informatională.

O consecintă importantă a acestei orientări este redundanta datelor. Dacă în sistemul operational redundanta este eliminată (prin procesul de normalizare) pentru a evita anomaliile de actualizare, în depozitul de date redundanta este creată în mod intentionat (prin denormalizare si sumarizare) pentru a permite un acces tematic mai facil.

Integrare

Este cel mai important aspect al depozitului de date si, în cele din urmă, ratiunea pentru care acesta este creat. Datele sînt adunate aici pentru a răspunde nevoilor informationale ale întregii organizatii, asigurînd faptul că rapoartele generate pentru diverse compartimente vor contine aceleasi rezultate. Sistemul operational este de cele mai multe ori format din subsisteme semi-independente, create la momente diferite, de echipe diferite, în maniere diferite, rezultînd o babilonie care, desi functională, este imposibil de folosit pentru analiză.

Integrarea datelor provenind din sistemul operational si din alte surse se referă la numeroase aspecte:

Contextul temporal

Sistemul operational al unei organizatii tinde mereu să reflecte realitatea curentă. Astfel, el se află într-o continuă evolutie iar datele pe care le contine sînt relevante doar pentru momentul în care sînt accesate. Orizontul de timp pe care îl acoperă este de regulă de 60 pînă la 90 de zile, deoarece după acest interval tranzactiile efectuate sînt arhivate, fiind considerate deja de domeniul istoriei, deci neinteresante din perspectivă operativă.

Pentru nevoile analizei economice, dimpotrivă, informatiile cu caracter istoric sînt esentiale, deoarece ele pun în evidentă tendinte care reprezintă fundamentul unei prognoze corecte. Depozitul de date se constituie într-un istoric al sistemului operational, constituit dintr-o serie de "instantanee", imagini la diverse momente în timp. Orizontul de timp pe care îl acoperă depozitul de date este de cel putin cinci ani, ajungînd uneori la zece ani, în functie de dinamica evolutiei pietei si, deci, de relevanta datelor cu caracter istoric pentru nevoile analizei.

Din punct de vedere tehnic, acesta implică faptul că orice înregistrare din depozitul de date poate fi plasată în timp. Orice cheie de acces cuprinde si o variabilă temporală.

Permanenta

Esenta aplicatiilor operationale este actualizarea continuă a colectiilor de date, actualizare realizată în general pe bază tranzactională. Orice tranzactie procesată implică inserarea unor noi înregistrări, modificarea sau eventual stergerea altora, etc. Cu totul altfel stau lucrurile în cazul depozitului de informatii, unde o astfel de dinamică lipseste. Practic singura actualizare care se realizează aici este adăugarea periodică a unor date extrase din sistemele operative. Din punctul de vedere al aplicatiilor care folosesc depozitul de date, accesul la date este doar pentru citire.

Din punctul de vedere al proiectării, acestă diferentă este extrem de importantă. În sistemul operational, o tranzactie trebuie să ducă colectia de date dintr-o stare consistentă într-o altă stare consistentă, iar această implică mecanisme extrem de complexe de mentinere a integritătii datelor, mai ales în situatia sistemelor intens concurentiale: mecanisme de jurnalizare, mecanisme de salvare/restaurare/refacere, mecanisme de detectare a blocărilor circulare (dead lock), etc. În cazul depozitelor de date, aceste mecanisme sînt inutile, astfel că gradul de libertate cîstigat poate fi utilizat pentru optimizarea accesului la date prin denormalizare, sumarizare, statistici ale accesării datelor si reorganizare dinamică a indexării, etc.

Structura

Cu toate că definitia lui Inmon este suficientă pentru a răspunde la întrebarea ce este depozitul de date?, cîteva aspecte legate de structura tipică a unui astfel de depozit pot crea o imagine mai concretă si mai precisă. În principiu este considerată comună, uzuală, o structurare a datelor pe patru nivele, în functie de nivelul de agregare si de vechimea acestora.

Dacă vom face o analogie cu un depozit adevărat, atunci este normal ca datele cele mai utilizate să se găsească la parter. Aici se vor găsi datele relativ recente, en detail. Acestea sînt în principiu livrate utilizatorilor finali, de regulă functionari de executie. La primul etaj se vor afla date "semipreparate" printr-o sumarizare usoară, destinate în principal managementului mediu. La al doilea etaj se vor afla date preparate pentru nevoile managementului superior. Prepararea implică consolidare, sumarizare si împachetare în formate accesibile instrumentelor de analiză utilizate.

În fine, la subsol se vor afla date accesate cel mai rar. Este vorba de date avînd o oarecare vechime (de regulă peste doi-trei ani), în formă detaliată. Datele istorice folosite de obicei de managementul superior sînt disponibile într-o formă sumarizată la "etajul al doilea" (eventual si la primul).

Această structură este dinamică, datele intră în depozitul de date, circulă pe diverse nivele, îsi schimbă forma si pozitie, etc. Dar aceste aspecte dinamice vor fi analizate mai tîrziu.

Poate cea mai importantă componentă a depozitului de date o reprezintă nivelul metadatelor. Pentru a putea utiliza depozitul de date, utilizatorii trebuie să cunoască ce date se găsesc aici, iar metadatele nu sînt altceva decît date despre date, date care descriu continutul depozitului si furnizează, asemenea fiselor dintr-o bibliotecă, trimiteri directe la date. Tot la nivelul metadatelor se definesc si diverse vederi (views) asociate unor categorii specifice de utilizatori.

Dar metadatele nu sînt utile doar utilizatorului final. Ele sînt intens folosite pentru administrarea depozitului de date, continînd informatii despre provenienta datelor, algoritmii de sumarizare, statistici de utilizare, si multe altele.

Redundantă?

Deoarece sursa celor mai multe date stocate în depozitul de informatii o constituie mediul operational, am putea crede că nivelul de redundantă între cele două sisteme (cel operational si cel informational) este foarte ridicat. De asemenea faptul că ambele sisteme se bazează pe operarea cu sisteme de gestiune a bazelor de date, că ambele sisteme implică volume mari de date, etc, pot accentua această impresie. Cîteva consideratii pe această temă pot fi edificatoare în ceea ce priveste chiar definitia depozitului de informatii.

În primul rînd trebuie să subliniez că din punct de vedere functional cele două sisteme sînt disjuncte. Sistemul operational procesează tranzactii în timp ce sistemul informational este exploatat prin interogări. Cerintele sînt diametral opuse. Orice administrator de baze de date cunoaste faptul că optimizările vizînd siguranta si coerenta datelor, esentiale într-un sistem tranzactional, conduc inevitabil la încetinirea dramatică a interogărilor, cu deosebire a celor ad-hoc, bazate pe criterii neprevăzute (acestea sînt cele specifice analizei economice). Reciproc, aceste interogări - implicînd de regulă volume mari de date si fiind adesea lipsite de suportul unor indecsi prestabiliti - pot compromite performantele operatiilor tranzactionale pînă sub limitele acceptabile.

În ceea ce priveste datele propriu-zise, cîteva aspecte pot fi edificatoare:

Conform aprecierii lui Inmon, redundanta datelor între cele două sisteme are de regulă o rată mai mică de 1%. Dar chiar dacă acestă rată ar fi mult mai mare, valoarea depozitului de date este imensă, deoarece oferă managementului organizatiei o imagine unică, coerentă si semnificativă asupra datelor relevante din perspectiva analizei economice.

Mai mult, instrumente specializate OLAP permit utilizatorilor să exploreze efectiv această bază informatională, fără a avea nevoie de intermedierea unui serviciu specializat. Iar într-un context economic în care o decizie luată dimineata are deja efecte sensibile la ora prînzului, "efectiv" înseamnă de fapt "vital".


(C) Copyright Computer Press Agora