Retele calculatoare
Depozitele de date si asistarea deciziei - sistemele OLTP versus sistemele OLAPAbstract Since the early 1990s, data warehouses have been at the forefront of information technology applications as a way for organizations to effectively use digital information for business planning and decision making. As information professionals, we no doubt will encounter the data warehouse phenomenon if we have not already been exposed to it in our work. Hence, an understanding of data warehouse system architecture is or will be important in our roles and responsibilities in information management. Transformari profunde au loc in toate intreprinderile. Diferitele sectoare economice se confrunta cu clienti din ce in ce mai exigenti, schimbari din ce in ce mai rapide si o concurenta tot mai puternica. Pentru a face fata acestor provocari trebuie sa anticipezi. Sa anticipezi schimbarile, sa anticipezi noile nevoi ale clientilor, sa anticipezi evolutia concurentilor. Pentru ca aceasta anticipare sa fie eficienta trebuie sa dispui de informatii pertinente. Toate inteprinderile dispun de date. Ele provin fie din propriile sisteme operationale, fie din exterior. Problema acestor intreprinderi este de a atinge obiectivele specifice sectorului lor, luand decizii pe baza datelor de care ele dispun. Intreprinderea actuala se sufoca sub date. Aceasta abundenta are drept efect o eliminare prin saturatie. Totusi datele reprezinta o mina de informatii. Ele constituie un avantaj de care intreprinderea trebuie sa tina seama. De aceea este esential a pune in practica o noua informatica decizionala pentru obtinerea unei mai bune intelegeri a valorii informatiilor disponibile, a defini indicatori economici pentru a facilita luarea deciziilor operationale si a pastra memoria intreprinderii. A decide, dupa Petit Robert, inseamna a lua o hotarare si a adopta o concluzie definitiva pentru a merge intr-o directie. Informatica decizionala vizeaza furnizarea informatiilor necesare decidentului pentru asistarea deciziei. Ideea de informatica decizionala e destul de veche. La inceput au existat infocentrele si SIAD (Sisteme interactive de asistare a deciziei). Infocentrele permiteau crearea de mici baze de date on-line interactive si usor de utilizat de catre SIAD. Acestea din urma vizau mai ales extrapolarea tendintei, raspunzand la intrebari de tipul „ Ce s-ar intampla daca?”. Astazi, arhitectura sistemelor decizionale prezinta patru elemente esentiale: sursele datelor, depozitele de date, magaziile de date si instrumentele de analiza si interogare. Sursele de date sunt numeroase, variate, distribuite si autonome. Ele pot fi interne sau externe intreprinderii. Depozitul de date este locul de stocare centralizata a informatiilor utile pentru decidenti. El pune in comun datele provenite din diferite surse si le conserva evolutia. Magaziile de date sunt extrageri din depozitele de date orientate subiect. Datele sunt organizate intr-o maniera adecvata pentru a permite analize rapide in scopul luarii deciziilor. Instrumentele de analiza permit vizualizarea si manipularea datelor de-a lungul dimensiunilor unei afaceri (clienti, furnizori, timp, produs etc.). Informatia este vizualizata prin intermediul interfetelor interactive dedicate decidentilor, care adesea nu sunt informaticieni. Depozitele de date sunt construite de regula cu tehnologii relationale si au aparut ca extensii ale sistemelor de baze de date relationale cu arhitectura client server (Microsoft SQL Server, Oracle). Pentru accesul rapid la informatiile necesare analistilor, managerilor si directorilor intr-o maniera consistenta, interactiva si flexibila se folosesc instrumente OLAP. OLAP si depozitele de date se completeaza reciproc, OLAP transformand volumul imens de date stocate si gestionate in depozite in informatii utile decidentilor. Paragraful urmator prezinta o comparatie intre modul de exploatare a depozitelor de date (procese OLAP) si cel al bazelor de date folosite intr-un sistem tranzactional (procese OLTP). Sistemele OLTP versus sistemele OLAP Cea mai mare parte a informaticienilor stapanesc, pentru realizarea sistemelor informatice, abordari cel mai adesea centrate pe metodologia Merise. Prin componentele lor legate de modelarea datelor aceste metodologii sunt precise, puternice si destul de putin contestate. La nivelul modelului de date, modelul entitate-asociere este cel mai utilizat, teoriile asociate acestuia fiind pe scara larga folosite in toate intreprinderile. Aceste tehnici sunt astazi atat de bine ancorate in obisnuinta noastra, incat uitam adesea sa ne intoarcem la origini. Ele au aparut atunci cand informatica era destinata automatizarii productiei si sunt in continuare utilizate cu succes in acest context, mai ales pentru aplicatiile cu caracter tranzactional, numite OLTP. Totusi, informatica de decizie, identificata adesea cu termenul OLAP, justifica o analiza a metodelor de conceptie a unui model de date. Bazele de date sunt utilizate de intreprinderi pentru importantele volume de date continute in sistemele lor operationale. Aceste date sunt gestionate de procese tranzactionale on-line, care se caracterizeaza prin urmatoarele: sunt numeroase in cadrul intreprinderii; au ca principal obiectiv actualizarea datelor; trateaza un numar redus de inregistrari; sunt definite si executate de numerosi utilizatori. Exploatarea informatiilor continute de aceste sisteme operationale a devenit o preocupare esentiala pentru conducatorii intreprinderii care doresc ameliorarea luarii deciziilor printr-o mai buna cunoastere a propriei lor activitati, a concurentei, a angajatilor, a clientilor si furnizorilor. Intreprinderile sunt deci in cautarea de sisteme care sa suporte eficient aplicatiiile de asistare a deciziei. Aceste aplicatii utilizeaza procese de analiza on-line a datelor (OLAP: On-line Analitycal Processing), care raspund nevoilor specifice analizei informatiilor. Principalele caracteristici ale proceselor OLAP sunt urmatoarele:
sunt putin numeroase, dar datele si tratamentele sunt complexe; se refera numai la tratarea semiautomata vizand interogarea, vizualizarea si sintetizarea datelor; sunt definite si realizate de catre un numar mic de utilizatori, care sunt decidentii. Tabelul urmator prezinta comparativ principale caracteristici ale celor doua tipuri de procese:
Depozitul de date – definitie, arhitectura si concepte Definitia clasica a depozitului de date data de Bill Inmon in opera sa de referinta „Using the Data Warehouse” este urmatoarea: „ Depozitul de date este o colectie de date orientate subiect, integrate, non-volatile si arhivate, organizate pentru suportul proceselor de asistarea a deciziei”. Depozitul de date este organizat in jurul subiectelor majore ale intreprinderii. Asadar datele sunt organizate pe teme, contrar datelor organizatiilor traditionale organizate de obicei pe procese functionale. Interesul acestei organizari este acela de a pregati ansamblul informatiilor utile unui subiect care este, cel mai adesea, transversal structurii functionale si organizationale a interprinderii. Aceasta orientare va permite dezvoltarea unui sistem decizional printr-un proces incremental, subiect dupa subiect. Integrarea diferitelor subiecte intr-o structura unica este necesara deoarece informatiile comune mai multor subiecte nu trebuie sa fie duplicate. Depozitul de date este un proiect de intreprindere. De exemplu, in distributie, acelasi indicator al cifrei de afaceri intereseaza atat fortele de vanzare, cat si departamentul financiar si cumparatorii. Acest punct de vedere unic constituie un avantaj pentru intreprindere, avantaj care se realizeaza prin integrarea datelor. Consolidarea ansamblului informatiilor referitoare la un client dat este necesara pentru a oferi analistilor o viziune omogena asupra acestuia. Inainte de a fi integrate in depozit, datele trebuie sa fie puse intr-o forma si, de asemenea, unificate pentru a avea o stare coerenta. O data trebuie sa aiba o descriere si un codaj unic. Diferentele depind de viziunea urmarita de utilizator sau de programator. Intr-un sistem tranzactional, data este actualizata cu fiecare noua tranzactie. Valoarea veche este pierduta, iar data ramane constant actualizata. Sistemele tranzactionale pastreaza destul de rar istoricul valorilor acestei date. Intr-un datawarehouse, data nu trebuie niciodata sa fie actualizata. Ea reprezinta o valoare inserata in sistemul decizional la un moment dat. Depozitul de date va stoca asadar istoricul, adica ansamblul de valori pe care data le-a avut in decursul timpului. Este evident atunci ca trebuie asociat un referential temporal datei pentru a putea identifica o valoare particulara in timp. Non-volatilitatea este intr-un fel consecinta arhivarii descrise anterior. Asadar, o interogare identica efectuata la un interval de trei luni, pastrandu-se datele de referinta, va returna acelasi rezultat. Intr-un sistem de productie, informatia este volatila, datele fiind cu regularitate actualizate. Interogarile vizeaza datele curente si e imposibil sa regasesti un rezultat mai vechi. Doua consecinte se desprind din absenta actualizarii datelor. Prima priveste organizarea interna a bazei de date pe care este constituit depozitul de date. Ea va putea fi adaptata (denormalizata) pentru optimizarea accesului la date. A doua priveste tehnologiile necesare accesului curent al utilizatorilor. Intr-adevar, daca nici o actualizare nu este realizata, numeroase tehnologii costisitoare in termen de timp de raspuns (gestiunea tranzactiilor, gestiunea accesului concurent etc.) integrate in SGBD nu servesc decat in faza de incarcare initiala si inserarilor. Ele vor putea fi deci dezactivate in fazele utilizarii curente. Un depozit de date este conceput pentru a raspunde nevoilor de date ale decidentilor. Totusi, sub acest termen generic, se regasesc doua categorii de depozite: depozitul propriu-zis, extras din baza de date a inteprinderii si in care datele sunt curatate, integrate, arhivate si, in general, organizate dupa un model informatic; magaziile de date, extrase dintr-un depozit ale carui date sunt adaptate unei clase de decidenti sau unei probleme particulare; organizarea datelor urmeaza, in general, un model multidimensional care faciliteaza tratamentele decizionale. Arhitectura unui depozit de date prezinta trei niveluri esentiale: nivelul extragerii datelor din bazele existente, care, in cazul abordarii „push”, se realizeaza prin detectarea actualizarii bazelor de date din sistemele tranzactionale inainte de trimiterea acestora catre depozit. In cazul abordarii „pull”, mai putin avansata, extragerea va fi activata periodic pentru a reflecta actualizarile bazei de productie; nivelul fuziunii datelor realizeaza integrarea datelor provenind din diferite baze pe care intreprinderea le stocheaza in depozit, respectand orientarea sa pe subiect. Acesta este pus in evidenta in momentul incarcarii initiale a depozitului, apoi in mentinerea acestuia pe masura actualizarii datelor; nivelul exploatarii datelor permite analiza si explorarea datelor depozitate. El permite formularea de cereri complexe pentru descoperirea faptelor, analiza tendintelor (curbe de evolutie), asistarea luarii deciziilor (extrapolari) si descoperirea cunostintelor. Acest nivel este realizat plecand de la extrageri prin intermediul cererilor si prezentari grafice variate. In privinta extragerii trebuie remarcat faptul ca un depozit de date este un ansamblu de date extrase din diferite surse cum ar fi: bazele de productie ale intreprinderii, date furnizate de parteneri (furnizori, clienti, administratii publice), date externe intreprinderii si utile luarii deciziilor (documentatii juridice, pagini web etc.) Extragerea si integrarea, atat fizica cat si semantica, a datelor provenind din surse eterogene se afla la baza notiunii de depozit de date. Productia de date integrate este realizata prin diferite arhitecturi care au in comun urmatoarele componente: metadatele, care explica fluxurile si transformarile datelor, de la sursa pana la utilizator, instrumentele de extragere a datelor, instrumentele de „curatire” a datelor si instrumentele de integrare a datelor. In contextul unui depozit de date, a descrie o data consta in principal in a indica modul de obtinere a acesteia plecand de la sursa. Metadatele joaca un rol important, pe de o parte in algoritmul de extragere si integrare, iar, pe de alta parte, in prezentarea unei viziuni globale a datelor administratorilor si utilizatorilor. O parte a metadatelor este proprie unei aplicatii (de exemplu descrierea atributelor sursei) si datelor generale. O alta parte este obtinuta prin personalizarea cunostintelor generale (de exemplu dictionarele de sinonime). Eterogenitatea fizica a surselor este tratata prin atasarea unui extractor (wrapper – in limba engleza) fiecarei surse, care extrage datele dorite si le transpune intr-un model comun. Acest model comun este, in general, modelul relational, datorita in principal faptului ca datele extrase reprezinta un volum gigantic de informatie si sunt, intr-o prima faza, stocate cu ajutorul unui SGBD relational adaptat. „Curatirea” (uneori numita „epurare” sau „analiza calitatii datelor”) are drept scop rezolvarea problemei consistentei datelor. Acesta inconsistenta poate aparea la nivelul unei inregistrari, la nivelul unei surse (de exemplu o aceeasi persoana are doua adrese diferite) sau poate aparea atunci cand se pun in comun doua surse (de exemplu o persoana are o adresa diferita in fiecare din cele doua surse). Au fost reperate zeci de tipuri de inconsistente. Ele se datoreaza prezentei de date false, confruntarii intre datele exacte, semantic identice, dar sintactic diferite. Munca de cercetare care trateaza „curatirea” datelor priveste, in principal, tehnicile de potrivire intre doua inregistrari (matching). Un punct adesea abordat in potrivirea tuplurilor il reprezinta diferenta de tratament intre atributele cheie, atributele non-cheie dar semantic discriminatorii si atributele mai putin semnificative. Aceasta scara conduce la un matching strict sau vag (cu o gradatie). Doua principale abordari permit un acces unificat la sursele de date eterogene: o abordare virtuala (adesea numita abordare prin mediator) si o abordare materializata (abordare prin depozit). Abordarile virtuale se bazeaza pe o ierarhie de mediatori, situata deasupra extractorilor. Datele nu sunt stocate decat in sursele lor de origine. In acest caz, atunci cand un utilizator formuleaza o cerere, aceasta este trimisa unui mediator, care trimite cererea catre alt mediator sau catre extractor. Interogarea se realizeaza viziune cu viziune (view) de catre fiecare mediator, raspunzand in mod unic unei cereri a utilizatorului. In cazul abordarii materializate, datele sunt efectiv extrase, curatate, integrate si stocate intr-un depozit. Cererile se adreseaza direct datelor depozitului. Metadatele descriind schema globala a depozitului trebuie sa includa cat mai multe explicatii posibile asupra originii, semnificatiei datelor, ele jucand rolul unei harti pentru orientare si pentru formularea de cereri catre depozit. O problema de rezolvat in acest caz o reprezinta repercursiunea actualizarilor sursei de date asupra depozitului. Abordarea virtuala a fost traditional folosita pentru sistemele distribuite si eterogene. Ea prezinta in momentul de fata avantajul aplicatiilor incluzand surse de date nestructurate, cum ar fi cele provenite din Internet. Abordarea prin depozit este in mod particular adaptata exploatarii bazelor de date ale intreprinderii prin tratamente mai complexe, de exemplu datamining. Trebuie precizat totusi ca cele doua abordari pot fi combinate. Un mediator poate materializa viziunea sa din motive de performanta. Mediatoarele SQUIRREL sunt destul de sofisticate pentru a nu materializa decat o parte din viziuni. Alegerea viziunilor de materializat este, de asemenea, unul din subiectele de cercetare actuala. Depozitele de date constituie asadar o tehnologie care, dupa debutul rapid si pragmatic, devine matura si se consolideaza in jurul conceptelor mai bine intelese si mai clar definite. Raman totusi probleme de rezolvat mai ales in privinta suportului pentru tehnicile avansate de explorare a datelor care se profileaza la orizont. Bibliografie:
|