Let's Do It Romania - 24 Septembrie 2011



   

În căutarea definiţiei

   
   

A deţine o imagine unitară, actuală şi semnificativă asupra întregii organizaţii 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 ani, mai ales în cercurile manageriale. Spre deosebire de mulţi alţi astfel de termeni "la modă", inventaţi şi întreţinuţi în actualitate din motive pur comerciale, depozitele de informaţii reprezintă o cerinţă acută a organizaţiilor moderne (fie ele întreprinderi, bănci, administraţie etc.) şi, 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 intervievaţi intenţionau lansarea unor proiecte de implementare a acestui concept. Segmentul de piaţă legat de depozitele de date are o rată anuală de creştere 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 înţeles că datele capturate de sistemele informatice operaţionale reprezintă o mină de aur informaţional care se cere exploatată. Eforturile în această direcţie au născut generaţii de acronime care au făcut epocă şi 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ăţii informatice la sfârşitul deceniului trecut. La începutul anilor 90 ideea capătă contur, iar IBM se grăbeşte 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 noţiunii în înţelesul ei curent (Inmon deţine de altfel trademark-ul termenului Data Warehouse). Viziunea sa despre depozitele de informaţii se concentrază asupra rolului acestora de bază informaţională a deciziei manageriale, păstrînd astfel un nivel înalt de generalitate şi permiţând unor multiple implementări să intre în sfera acestei noţiuni.

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

Contextul

Este firesc în aceste condiţii să ne întrebăm totuşi cum se explică explozia interesului pentru depozitele de date în anul care a trecut. Răspunsul este că s-a întîmplat ca tendinţele economice şi progresele tehnologice să se intersecteze în acest punct.

Din perspectivă economică, globalizarea comerţului, ascuţirea dramatică a concurenţei, scurtarea spectaculoasă a ciclurilor de viaţă a produselor datorită dinamicii tehnologiei, impunerea unor cerinţe calitative extrem de ridicate precum şi alte asemenea evoluţii, au evidenţiat şi mai mult valoarea strategică a informaţiei. Manipularea operativă a informaţiei a impus la rândul ei noi modele manageriale, mai suple şi mai funcţionale. Nevoia de a răspunde în timp optim cerinţelor pieţei a condus la descentralizare şi la reducerea numărului nivelelor decizionale, consacrând asa-numitele "ierarhii plate" care se bazează pe delegarea puterii decizionale operative către eşalonul managerial secund. Practic, clasicul funcţionar este pe cale de a fi înlocuit de "lucrătorul cu informaţii". Atât la nivelul conducerii strategice cât şi la nivelul managementului operativ, nevoia de informaţie pură, corectă şi semnificativă a devenit vitală.

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

PC-urile au ajuns şi ele la maturitate. Puterea lor este acum suficientă pentru funcţiile de analiză şi prezentare care le sunt rezervate, iar interfeţele grafice intuitive le fac accesibile utilizatorilor neprofesionişti, în speţă managerilor.

Şi acum, joncţiunea: sistemele informatice operaţionale există, datele pot fi accesate oriunde, nevoia de informaţie este acută, puterea de calcul şi de stocare este ieftină, instrumentele soft sunt accesibile. E vremea pentru Data Warehouse.

Ce este Data Warehouse?

Înainte de a enunţa o definiţie este util să precizez că depozitul de date este într-un fel complementul sistemului informatic operaţional. Deoarece acesta din urmă este familiar cititorilor (aplicaţiile de contabilitate, gestiune a stocurilor, urmărirea comenzilor, facturare, etc) o bună parte din expunere va fi axată pe evidenţierea diferenţelor între aspectele operaţionale şi cele informaţionale.

Definiţia 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 enunţul cu ochiul unui matematician, acesta ar putea fi descompus într-o definiţie ("un depozit de date este o colectie de date destinate fundamentării deciziei manageriale") şi o caracterizare ("o astfel de colecţie de date este (1) tematică, (2) integrată, (3) plasată într-un context temporal, şi (4) permanentă"). Vom începe cu definiţia.

Genul proxim: o colecţie de date. Datele din data warehouse provin în principal din datele capturate din sistemul operaţional, dar mai pot proveni din datele de arhivă (în perioada de constituire a depozitului) precum şi din surse externe, cum ar fi baze de date publice. Câteva exemple posibile: date demografice (obţinute în urma unui recensământ), date statistice (furnizate de institute specializate), date de prognoză economică (furnizate de instituţii orientate pe studiul pieţei), date obţinute î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.

Diferenţa specifică: destinate fundamentării deciziei manageriale. Spre deosebire de colecţiile de date utilizate de sistemul operaţional - orientate spre optimizarea şi siguranţa procesării datelor - datele dintr-un depozit de date sunt organizate într-o manieră care să permită analizarea lor, deci extragerea semnificaţiei economice pe care o poartă. Rolul unui depozit de date este de a oferi o imagine coerentă asupra datelor relative la activitatea unei organizaţii şi a contextului în care acesta acţionează. Utilizarea acestei colecţii 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 aplicaţiile de birotică (programe de calcul tabelar, procesoare de text, programe de prezentare etc.), dar mai ales pentru a fi utilizate de către aplicaţii specializate de analiză. Acestea ar putea fi împărţite în două categorii: instrumente de analiză on-line (OLAP - On Line Analytical Processing - aplicaţii axate pe analiză multidimensională) şi instrumente pentru "minerit" în date (data mining - aplicaţii axate pe descoperirea unor şabloane semnificative în colecţii de date).

Dar partea cea mai consistentă a enunţului lui Inmon constă în caracterizarea acestor colecţii de date destinate analizei. Deci le vom examina pe îndelete.

Orientare tematică

Să remarcăm pentru început că datele operaţionale sunt orientate pe aplicaţii, în sensul că organizarea lor este optimizată pentru a servi procesului tranzacţional, dinamicii sistemului. În contrast, depozitul de date este orientat pe subiectele importante ale procesului economic, cum ar fi: clienţi, furnizori, produse, activităţi.

Un exemplu simplu poate fi edificator: o comandă lansată de un client va fi consemnată de sistemul operaţional printr-un set de înregistrări care vor contine informaţii despre client, informaţii despre produsele sau serviciile comandate, informatii despre modul de transport şi modul de plată, etc. Atenţia sistemului tranzacţional este orientată către consistenţa cheilor, astfel încât operaţia să păstreze consistenţa. Multe dintre datele esenţiale din perspectivă operaţională (numărul comenzii, poziţiile liniilor în cadrul comenzii etc.) sunt complet lipsite de relevanţă din perspectivă informaţională.

O consecinţă importantă a acestei orientări este redundanţa datelor. Dacă în sistemul operaţional redundanţa este minimizată (prin procesul de normalizare) pentru a evita anomaliile de actualizare, în depozitul de date redundanţa este creată în mod intenţionat (prin denormalizare şi sumarizare) pentru a permite un acces tematic mai facil.

Integrare

Este cel mai important aspect al depozitului de date şi, în cele din urmă, raţiunea pentru care acesta este creat. Datele sunt adunate aici pentru a răspunde nevoilor informaţionale ale întregii organizaţii, asigurând faptul că rapoartele generate pentru diverse compartimente vor conţine aceleaşi rezultate. Sistemul operaţional 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, deşi funcţională, este imposibil de folosit pentru analiză.

Integrarea datelor provenind din sistemul operaţional şi din alte surse se referă la numeroase aspecte:

  • Convenţii unice privind denumirile datelor - în sistemul operaţional acestea diferă de la aplicaţie la aplicaţie;

  • Modalităţi unice de codificare - e suficient să ne gândim la nenumăratele variante de a codifica sexul: ('m', 'f'), (0, 1), (True, False), etc. Este evident că o aplicaţie pentru analiză va trebui să se bazeze pe o codificare consistentă;

  • Sistem de unităţi de măsură consistent - lungimi, suprafeţe, volume, greutăţi, temperaturi, etc, toate trebuie exprimate într-un set unic de unităţi de măsură;

  • Sistem stabil de reprezentare fizică a datelor - în aplicaţiile tranzacţionale este posibil ca aceleaşi date să fie memorate în moduri diverse; Convenţii clare privind modul de reprezentare a datelor calendarisice, a timpului, etc;

Contextul temporal

Sistemul operaţional al unei organizaţii tinde mereu să reflecte realitatea curentă. Astfel, el se află într-o continuă evoluţie iar datele pe care le conţine sunt relevante doar pentru momentul în care sunt accesate. Orizontul de timp pe care îl acoperă este de regulă de 60 până la 90 de zile, deoarece după acest interval tranzacţiile efectuate sunt arhivate, fiind considerate deja de domeniul istoriei, deci neinteresante din perspectivă operativă.

Pentru nevoile analizei economice, dimpotrivă, informaţiile cu caracter istoric sunt esenţiale, deoarece ele pun în evidenţă tendinţe care reprezintă fundamentul unei prognoze corecte. Depozitul de date se constituie într-un istoric al sistemului operaţional, 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 puţin cinci ani, ajungând uneori la zece ani, în funcţie de dinamica evoluţiei pieţei şi, deci, de relevanţa 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 şi o variabilă temporală.

Permanenţa

Esenţa aplicaţiilor operaţionale este actualizarea continuă a colecţiilor de date, actualizare realizată în general pe bază tranzacţională. Orice tranzacţie procesată implică inserarea unor noi înregistrări, modificarea sau eventual ştergerea altora etc. Cu totul altfel stau lucrurile în cazul depozitului de informaţii, unde o astfel de dinamică lipseşte. Practic, singura actualizare care se realizează aici este adăugarea periodică a unor date extrase din sistemele operative. Din punctul de vedere al aplicaţiilor care folosesc depozitul de date, accesul la date este doar pentru citire.

Din punctul de vedere al proiectării, acestă diferenţă este extrem de importantă. În sistemul operaţional, o tranzacţie trebuie să ducă colecţia de date dintr-o stare consistentă într-o altă stare consistentă, iar această implică mecanisme extrem de complexe de menţinere a integrităţii datelor, mai ales în situaţia sistemelor intens concurenţiale: mecanisme de jurnalizare, mecanisme de salvare/restaurare/refacere, mecanisme de detectare a blocărilor circulare (deadlock) etc. În cazul depozitelor de date, aceste mecanisme sunt inutile, astfel că gradul de libertate câştigat poate fi utilizat pentru optimizarea accesului la date prin denormalizare, sumarizare, statistici ale accesării datelor şi reorganizare dinamică a indexării, etc.

Structura

Cu toate că definiţia 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ă şi mai precisă. În principiu este considerată comună, uzuală, o structurare a datelor pe patru nivele, în funcţie de nivelul de agregare şi 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 sunt în principiu livrate utilizatorilor finali, de regulă funcţionari de execuţie. La primul etaj se vor afla date "semipreparate" printr-o sumarizare uşoară, destinate în principal managementului mediu. La al doilea etaj se vor afla date preparate pentru nevoile managementului superior. Prepararea implică consolidare, sumarizare şi î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 sunt disponibile într-o formă sumarizată la "etajul al doilea" (eventual şi la primul).

Această structură este dinamică, datele intră în depozitul de date, circulă pe diverse nivele, îşi schimbă forma şi poziţia ş.a.m.d. 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 sunt altceva decât date despre date, date care descriu conţinutul depozitului şi furnizează, asemenea fişelor dintr-o bibliotecă, trimiteri directe la date. Tot la nivelul metadatelor se definesc şi diverse vederi (views) asociate unor categorii specifice de utilizatori.

Dar metadatele nu sunt utile doar utilizatorului final. Ele sunt intens folosite pentru administrarea depozitului de date, conţinând informaţii despre provenienţa datelor, algoritmii de sumarizare, statistici de utilizare şi multe altele.

Redundanţă?

Deoarece sursa celor mai multe date stocate în depozitul de informaţii o constituie mediul operaţional, am putea crede că nivelul de redundanţă între cele două sisteme (cel operaţional şi cel informaţional) 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 consideraţii pe această temă pot fi edificatoare în ceea ce priveşte chiar definiţia depozitului de informaţii.

În primul rând trebuie să subliniez că din punct de vedere funcţional cele două sisteme sunt disjuncte. Sistemul operaţional procesează tranzacţii în timp ce sistemul informaţional este exploatat prin interogări. Cerinţele sunt diametral opuse. Orice administrator de baze de date cunoaşte faptul că optimizările vizând siguranţa şi coerenţa datelor, esenţiale într-un sistem tranzacţional, conduc inevitabil la încetinirea dramatică a interogărilor, cu deosebire a celor ad-hoc, bazate pe criterii neprevăzute (acestea sunt cele specifice analizei economice). Reciproc, aceste interogări - implicând de regulă volume mari de date şi fiind adesea lipsite de suportul unor indecsi prestabiliţi - pot compromite performanţele operaţiilor tranzacţionale până sub limitele acceptabile.

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

  • Filtrarea datelor la transferul din sistemul operaţional în cel informaţional face ca doar datele relevante pentru analiza economică să treacă acest prag.

  • Orizontul temporal al celor două sisteme este diferit. Există o suprapunere foarte mică între cele două.

  • Depozitul de date conţine şi date sumarizate, care nu există niciodată în sistemele operaţionale.

  • La preluarea în depozitul de date, datele sunt supuse unor transformări radicale atât din punct de vedere fizic cât şi logic.

Conform aprecierii lui Inmon, redundanţa 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 organizaţiei o imagine unică, coerentă şi semnificativă asupra datelor relevante din perspectiva analizei economice.

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


 

(Publicat în PC Report - martie 1996)

 

Copyright © 1996 Agora Media

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