Depozite de date – procesare in-memory



Yüklə 78,61 Kb.
tarix29.01.2018
ölçüsü78,61 Kb.
#41070
növüReferat


Referat

Depozite de date – procesare in-memory


Autor: Badescu Viorel

Grupa 1068

An II


ASE - Masterat Informatica Economica Aprofundare
Cuprins


Aspecte fundamentale ale depozitelor de date ....................................................... 3

Organizarea datelor in depozitele de date ...............................................................3

Facilitati ale depozitelor de date ...............................................................................5

Arhitectura pe componente a depozitelor de date ................................................. 5

Realizarea depozitelor de date ................................................................................. 6

Produse software pentru lucrul cu depozite de date............................................... 7

Procesarea in-memory ...............................................................................................9

Procesarea in-memory pentru depozite de date .................................................... 11

Concluzii ................................................................................................................... 14

Bibliografie ............................................................................................................... 15

Aspecte fundamentale ale depozitelor de date
Depozitele de Date (Data Warehouse) reprezinta rezultatul interferentei mediului economic si al tehnologiilor informatice avansate.

Mediul economic este tot mai competitive, tinde spre globalizare, devine tot mai complex si solicita informatii elaborate pentru sprijinirea deciziilor strategice. Evolutia tehnologiilor informatice ofera solutii eficiente de gestionare a unor volume foarte mari de date integrate ( de ordinal TB) asigurand niveluri de sinteza si detaliere adecvate. Costul realizarii unui depozit de date este foarte mare si recuperarea se face in timp indelungat. Dintre aceste costuri, 1/3 se cheltuiesc cu software necasar, 1/3 cu hardware si 1/3 cu servicii profesionale.


Depozitele de date furnizeaza arhitecturi si interfete utile conducerii executive prin organizarea sistematica, intelegerea si utlizarea datelor in luarea deciziilor strategice, intr-un mediu economic competitiv si in rapida evolutie. Managerii au inteles ca date stocate de sistemele informatice operationale, in fisiere sau baze de date, reprezinta o mina de aur informational care se cere exploatata.

Cele mai importante domenii in care se preteaza bine aplicarea depozitelor de date sunt: bancile, asigurarile, telecomunicatiile, hipermarketurile, transporturile etc. In aceste domenii, au o foarta mare importanta datele istorice din ultimii cinci-zece ani.

Parintele necontestat al tehnologiei depozitelor de date este William Inmon, iar viziunea sa se concentreaza asupra rolului acestora ca baza informationala a deciziei manageriale, pastrand un nivel inalt de generalitate si permitand unor multiple implementari sa inte in sfera acestei notiuni.

Depozitul de date este un ansamblu de colectii de date de dimensiuni foarte mari, care este intretinuta separat de bazele de date operationale ale unei organizatii si care este construita din date provenite din sistemele sursa, prin operatii de extragere, filtrare, transformare si stocare, in depozite speciale, in scopul sprijinirii proceselor decizionale.


Organizarea datelor in depozitele de date
Sursele de date pentru depozitul de date provin, in special, din datele importate din sistemul informatic operational, dar mai pot proveni si din datele de arhiva perecum si din sursele externe ( date publice, date demografice, date statistice, date obtinute in urma unor sondaje de opinie etc.).

Informatiile sunt organizate in depozitele de date intr-o maniera care sa permita analizarea lor complexa, deci extragerea semnificatiei economice pe care o poarte. Datele operationale (BD sau fisiere) sunt orientate pe aplicatii, in sensul ca organizarea lor este optimizata pentru a servi procesului tranzactional, dinamicii sistemului. De exemplu, o comanda lansata de un client va aparea in sistemul operational ca un set de inregistrari care vor contine date despre client, despre produsele sau serviciile comandate, despre modul de transport si despre modul de plata.

Depozitul de date este orientat pe subiectele importante alea procesului economic: clientii, furnizorii, produsele, activitatile etc.

Integrarea datelor reprezinta un aspect important al depozitului de date si anume ratiunea pentru care acesta este creat. Datele sunt adunate pentru a raspunde nevoilor informationale ale intregii organizatii, asigurand faptul ca rapoartele generate pentru diverse compartimente vor contine aceleasi rezultate.

Sistemul operational este format din mai multe subsisteme, relativ independente, create la momente diferite, de echipe diferite, in maniere diferite, ceea ce face greoaie folosirea unui astfel de sistem pentru analiza.

Integrarea datelor provenind din sistemul operational si din alte surse se refera la urmatoarele aspecte:



  • modalitatile unice de codificare – exista nenumarate variante de a codifica un camp, insa o aplicatie pentru analiza datelor va trebui sa se bazeze pe o codificare unica

  • sistemul de unitati de masura unitar - unitatile de masura pentru diferitele campuri trebuie exprimate intr-un sistem unic ( de exemplu metrul)

  • sistemul stabil de reprezentare fizica a datelor – in aplicatiile tranzactionate este posibil ca aceleasi date sa fie memorate in moduri de organizare diferite. Acestea trebuie stabilizate dupa anumite reguli precise, stabilite la proiectare.

  • conventiile standard privind modul de reprezentare a datelor - datele calendaristice, campurile care definesct timpul; trebuie sa respecte conventiile internationale;

  • conventiile unice privind denumirile campurilor de date – in sistemul operational acestea pot sa difere de la o aplicatie la alta, iar in depozitele de date ele trebuie sa fie unice, datorita necesitatii lucrului in echipa.

Sistemul operational al unei organizatii tinde mereu sa reflecteze realitatea curenta. Astfel, el se afla intr-o continua evolutie, iar datele pe care le contine sunt relevante doar pentru momentul in care acestea sunt accesate. Orizontul de timp pe care il acopera este de regula zile sau luni, deoarece dupa acest interval tranzactiile efectuate sunt arhivate, fiind considerate deja de domeniul istoriei, deci neinteresante din perspectiva operativa.

Pentru realizarea unei analize economice este nevoie de date cu caracter istoric. Acestea sunt esentiale deoarece pun in evidenta fundamentul unei prognoze corecte. Depozitul de date este un istoric al sistemului operational. Ca si orizont de timp, depozitul de date este de cel putin cinci ani, putand sa ajunga uneori chiar la zece sau cincisprezece ani in functie de dinamica evolutiei pietei si de relevanta datelor. Din punct de vedere tehnic, analiza economica implica faptul ca orice inregistrare din depozitul de date poate fi plasata in timp, iar orice cheie de acces cuprinde si o variabila de timp.

La depozitele de date actualizarea este foarte rara, deci dinamica lipseste. Actulizarea se realizeaza doar prin adaugarea periodica a unor date extrase din alte surse de date sau sisteme operative prin utilizarea unor campanii.

In cazul depozitelor de date mecanismele de integritate sunt inutile, asfel ca gradul de libertate castigat poate fi utilizat pentru utilizarea accesului la date prin sumarizare, denormalizare, statistici ale accesarii datelor, reorganizare dinamica etc.

Un depozit de date contine un volum foarte mare de date. Unele dintre acestea provin din sursele organizationale ale organizatiei, iar altele din surse externe.

Facilitati ale depozitelor de date

Cresterea volumului de date, precum si perfectionarea produselor software de gestiune a acestuia, au condus la o noua calitate a utilizarii datelor prin analize care pot releva conducerii organizatiei informatii greu sau chiar imposibil de obtinut pe alte cai. Pentru a obtine informatiile dorite, depozitele de date sunt supuse unor prelucrari complexe, cu ajutorul unor metode specifice, cum ar fi: analiza multidimensionala a datelor, metode statistice superioare de prognoza, metode matematice aplicate unui volum foarte mare de date. Aceste metode presupun folosirea unui software specializat deosebit de complex, bazat pe noi tehnologii informatice: extrageri de date ( data mining), OLAP, concentrari de date ( data mart) etc.


Arhitectura pe componente a depozitelor de date

Arhitectura pe componente a depozitului de date evidentiaza elementele componente si anume: sursa de date ( date externe, date interne si date arhivate), depozitul de date ( metadate, date agregate si date detaliate) si interfetele de analiza ( Data Mart, Data Mining, OLAP).

Metadatele descriu datele continute in depozitul de date si modul in care ele sun obtinute si stocate. Acestea precizeaza structura datelor, provenienta lor, regulile de transformare, de agregare si de calcul.

Datele agregate, desi determina o crestere a redundantei datelor, sunt necesare in depozitul de date deoarece in acest fel se poate asigura un timp mediu de raspuns cat mai redus. Aceste date presupun un grad de prelucrare prealabila, astfel incat sa fie pregatite pentru nevoile managementului: consolidare, totalizare, sumarizare, impachetare etc.


Figura 1: Componentele software ale depozitelor de date


Datele detaliate sunt cele relativ recente, livrate utilizatorilor, de regula la nivel de executie. Tot aici se gasesc date avend o anumita vechime, de cativa ani, in forma detaliata.

Construirea depozitului de date, pornind de la sursele de date presupune parcurgerea urmatoarelor detalii:



  • extragerea datelor din datele operationale si transformarea lor in formatul si structura datelor din depozitul de date;

  • filtrarea datelor, pentru verificarea corectitudinii datelor;

  • incarcarea datelor corecte in depozitul de date;

  • agregarea datelor: totaluri precalculate, subtotaluri, valori medii, care se preconizeaza ca vor fi cerute de utilizatori.


Realizarea depozitelor de date
Realizarea unui depozit de date presupune aplicarea unei scheme de analiza economica pentru a determina masura inc are depozitul de date este necesar si eficient:

  • trebuie sa furnizese avantaje competitive;

  • poate determina cresterea productivitatii;

  • faciliteaza gestiunea relatiilor cu clientii;

  • determina reducerea costurilor prin evidentierea tendintelor, directiilor si exceptiilor pe perioade lungi de timp.

In continuare sunt prezentate cateva viziuni in ceea ce priveste realizarea unui depozit de date:

  • de sus in jos ( top – down view) permite selectarea informatiilor relevante necesare in depozitul de date;

  • datele sursa ( data source view) exprima informatiile culesa, stocate si gestionate de sistemele operationale.

  • depozitele de date ( data warehous view) are in vedere tabele de fapte si tabele dimensiune si reprezinta informatiile care sunt stocate in depozitele de date, incluzand contorizari si totaluri precalculate, precum si informatii privitoare la sursa, data calendaristica, origine, adaugate pentru a furniza contextul istoric;

  • interogare (business query view) ofera o perspectiva din punctul de vedere al utilizatorului;

Ca si metodologii de lucru in procesul de proiectare si implementare a sistemelor cu depozite de date cele mai utilizate sunt: de sus in jos ( top - down) si de jos in sus ( bottom- up).

Implementarea depozitelor de date presupune parcurgerea mai multor etape:



  1. definirea ariei de cuprindere;

  2. crearea planului de implementare pentru versiunea curenta;

  3. implementarea propriu-zisa a depozitului de date;

  4. stabilirea schemei depozitului de date;

  5. construirea metadatelor depozitului de date;

  6. modul de acces la date

  7. incarcarea depozitului de date;

  8. instruirea beneficiarului;

  9. testarea depozitului de date;


Produse software pentru lucrul cu depozite de date

Majoritatea firmelor producătoare de software pentru baze de date s-au orientat către implementarea unui modul specific depozitelor de date, însă în topul preferinţelor se află Oracle Warehouse Builder, aparţinând companiei Oracle si SQL Analysis Manager, produs de Microsoft. Aceste două instrumente beneficiază de experienţa şi puterea financiară a companiilor producătoare şi au reuşit să se impună pe piaţă ca soluţii viabile.

Modulele principale pe care le poate folosi dezvoltatorul în proiectarea depozitului de date se referă la:

- stabilirea surselor de date: baze de date de pe serverul compatibil sau dintr-o altă sursă agreată;

- stabilirea tabelelor de fapte: câmpuri, chei, măsuri etc.;

- stabilirea dimensiunilor din depozitul de date: ierarhii, surse de date;

- stabilirea valorilor calculate şi a agregărilor;

- stabilirea drepturilor de utilizare şi a politicilor de securitate privind accesul.

Evoluţia continuă a acestor produse software se concretizează într-o utilizare din ce în ce mai facilă; de exemplu, utilizatorul poate gestiona vizual diferite elemente precum măsuri, ierarhii, dimensiuni, valori agregate. De asemenea, aceste produse permit utilizatorului gestionarea facilă a metadatelor, orice modificare efectuată asupra structurii depozitului fiind reflectată în cadrul secţiunii de metadate.


  1. Oracle Business Intelligence Discoverer este o interfata interactiva de interogare, analiza, raportare si de publicare WEB, care ofera utilizatorilor acces rapid la informatii.

Facilitatile oferite de Oracle BI Discoverer pot fi grupate din doua puncte de vedere: al afacerii si al tehnologiei utilizate.

Din punct de vedere al afacerii, interfata Oracle BI Discoverer ofera :



  • ascunde complexitatea structurii datelor;

  • ajuta utilizatorul sa se concentreze pe rezolvarea problemelor;

  • ofera o solutie integrata si completa de Inteligenta Afacerii;

Din punctul de vedere al tehnologiilor utilizate, Oracle BI Discoverer permite:

  • regasirea datelor intr-o baza de date relationala sau multidimensionala;

  • accesarea datelor rapid si eficient, fara a fi necesara o cautare in toate baza de date;

  • vizualizare datelor intr-un format agreat de utiliazatori;

  • analiza complexa a datelor;

  • cautarea datelor dupa anumite conditii simple sau complexe;

  • ordonarea datelor dupa anumite chei;

  • construirea de rapoarte de diferite tipuri si afisarea lor;

  • partajarea datelor intre diferiti utilizatori sau intre diferite aplicatii informatice care ruleaza sub diferite sisteme;

  1. Oracle Warehouse Builder (OWB)

- OWB permite proiectarea şi construirea depozitelor de date, a centrelor de date (data mart) şi a aplicaţiilor BI (Business Intelligence)

- OWB conţine un set de instrumente grafice care asistă utilizatorul în proiectare, pentru crearea obiectelor memorate într-un spaţiu de lucru (workspace) memorat în baza de date Oracle

- Toolset-ul Design Center permite importul obiectelor sursă şi proiectarea proceselor ETL şi a obiectelor de corespondenţă (mapping)

- Un mapping (mapare) defineşte un flux de date de la sursă la depozitul ţintă (target warehouse)

- OWB generează codul pentru extragerea, transferul şi încărcarea datelor (procesul ETL)

-Toolset-ul Repository Browser asigură o interfaţă Web pentru inspectarea metadata din depozit

- Control Center Service – controlează deploymentul bazei de date target

-Schema depozitului creat (target schema) conţine: codul generat, cuburile, dimensiunile, tabelele, vederile, mapările şi pachetele care execută procesul ETL


3) Microsoft SQL Server 2000 Analysis Services include Analysis Manager, o aplicatie consola, care ofera o interfata utilizator pentru accesarea serverelor de analiza si registrele lor de metadate. Analysis Manager poate fi utilizat pentru:

- administrarea serverelor de analiza. Mai multi utilizatori pot administra un server;

- crearea de baze de date si depozite de date din surse de date specifice;

- construirea si procesarea de cuburi. Cuburile sunt descrise de dimensiuni şi conţin măsuri ale datelor care ne interesează. Într-o implementare relaţională cubul este realizat ca o tabelă relaţionala, în timp ce în mediul OLAP cubul este creat ca o structură separată.

- specificarea optiunilor de stocare si optimizarea performantei interogarilor;

- managementul securitatii;



- cauta surse de date, roluri de securitae si alte obiecte.
O  comparaţie  între  bazele  de  date şi depozitele  de  date  pune  în  valoare rolul  depozitelor de  date,  ca model de organizare  şi sursă  suport de  informaţii pentru fundamentarea deciziei. Atat bazele de date cat şi depozitele de date sunt structuri logice de organizare de date,  exploatează tehnologii informatice de organizare şi gestiune de  date diferite şi înmagazinează mari cantităţi de date. Diferenţele semnificative între cele două modele de organizare logică de date  pot fi structurate astfel:

  • Bazele  de  date  din sistemele  informatice conţin  date  curente, detaliate, care  sunt actualizate şi interogate în aceleaşi perioade cu culegerea şi procesarea lor şi fac obiectul sistemelor informatice de  prelucrare  a  tranzacţiilor (TPS). Depozitele  de  date  sunt construite  special ca sisteme  suport de  asistare  a  deciziei şi au  ca obiectiv regruparea  şi consolidarea  datelor, agregarea  şi  sintetizarea  lor, reorganizarea şi stocarea informaţiilor provenite din  surse  diverse şi variate de date inclusiv date multimedia, hipermedia şi de localizare  spaţială şi fac obiectul sistemelor informatice inteligente – sisteme suport de  asistare a deciziei (DSS). Ele se aplică asupra unor volume foarte mari de date, eterogene, constituite ca depozite de istoric/arhivă de date şi presupun calcule  complexe  (analiză  de  tendinţă, corelaţii între  evenimente, asociaţii intre  anumite fapte, secvenţe, tipare de comportament, modele de cunoaştere) ;

  • Sistemele de gestiune a bazelor de date sunt adecvate aplicaţiilor curente de  gestiune  şi servesc  la  crearea şi întreţinerea  sistemelor de  baze  de  date 

tranzacţionale  OLTP  (On­Line  Transaction Processing) şi au  ca obiectiv  execuţia  în timp  real a  tranzacţiilor zilnice (aprovizionare, vînzari, stocuri, producţie, decontări, plăti, activităţi de  marketing  şi management, contabilitate) cât şi a procedurilor de interogare (Query). Sistemele de gestiune  a  depozitelor de  date,  pe  de  altă  parte, servesc top  managerii, managerii, utilizatorii sau specialiştii în domeniul analizei şi fundamentării deciziei, fac  obiectul sistemelor informatice OLAP  (On­Line Analytical Processing) şi  oferă  tehnologii de agregare  a datelor stocate  în depozitele  de date  într­o  abordare  multidimensională,  cu  acces rapid  la informaţiile  necesare, într­o  manieră consistentă, interactivă şi foarte flexibilă;

  • Un sistem OLTP  este  centrat pe  client (customer  oriented)  şi este  utilizat  pentru  procesarea  tranzacţiilor şi interogărilor din bazele  de date  constituite  operaţional, baze  care  pot oferi răspunsuri la  întrebări de  tipul Cine?, Ce?, Unde?, Când? prin analiza  datelor de  tip  numeric sau statistic.  Un sistem  OLAP  este  orientat spre  piaţă (maket oriented) şi este  utilizat de  manageri, analişti, specialişti prin instrumente  FASMI (Fast Analysis Shared  Multidimensional Information) de  analiza rapidă  a  informaţiei  multidimensionale  distribuită  în locaţii multiple şi accesibilă  în  acelaşi timp  unui număr  mare de  utilizatori pentru  analize complexe  prin  agregare, sintetizare, consolidare şi care permit construirea de scenarii, prin posibilitatea de a răspunde la întrebări de tipul „Ce ar fi dacă?” pentru a descoperi între  evenimente,  asociaţii între  anumite fapte, secvenţe şi tipare de  comportament;

  • Tehnologiile OLAP  utilizează bazele de date  multidimensionale, construite de regulă  din  date  de  istoric  sau  date  care  provin de  la  diferite  organizaţii ,integrând  informaţii din  surse eterogene,  de  tipuri  şi naturi diferite.  Tehnologiile OLTP  utilizează  baze de  date  relaţionale, care  sunt  bidimensionale prin  definiţie,  fiind  focalizate  pe  datele curente  dintr­o  organizaţie  sau  departament fără  a  referi date  istorice sau  date  din alte  organizaţii.


Procesarea in-memory
Existenta business-urilor care solicita accesul rapid si usor la informatii in scopul de a lua decizii corecte si rapide a dus la aparitia tehnologiei procesarii in-memory, o tehnologie in curs de dezvoltare, dar care se bucura de o atentie deosebita. Aceasta tehnologie permite utilizatorilor sa aiba acces imediat la informatiile ce provin din diferite parti. In tehnologa Business Intelligence traditionala, datele sunt incarcate si salvate pe disc sub forma tabelelor, bazelor de date, depozite de date etc. iar apoi sunt procesate prin interogari. Utilizarea tehnologiei in-memory presupune incarcarea datelor in RAM (Random Access Memory) in loc de hard disk si, prin urmare timpul de procesare a datelor scade semnificativ.

Fiecare calculator are doua tipuri de mecanisme de stocare a datelor – pe hard disk si in memoria RAM. Computerele moderne au un spatiu de salvare pe disc mult mai mare decat in RAM, dar citirea datelor se face mult mai lent (de sute de ori mai incet) mai ales cand este vorba de citirea datelor de dimensiuni foarte mari, cum sunt depozitele de date. Tehnologiile traditionale bazate pe lucrul cu hard diskul sunt cunoscute si ca sisteme de management al bazelor de date relational, cum ar fi SQL Server, MySQL, Oracle si multe altele. RDMS(Relational Databaze Management Systems) sunt concepute sa pastreze in memorie procesele tranzactionale. Lucrand cu o baza de date care suporta atat adaugari, modificari cat si agregari de date, procese de jonctiune toate acestea nu pot fi realizate simultan. De asemenea SQL(Structured Query Language) este conceput pentru a prelucra eficient randuri de date, in timp ce procesele de Business Intelligence implica prelucrarea partiala a unor date si efectuarea in acelasi timo de calcule grele.

Aparitia bazelor de date centrate pe coloana a determinat stocarea mult mai eficienta a datelor, aparand astfel posibilitatea stocarii datelor in memoria RAM. Cu baza de date in memorie, toate informatiile sunt incarcate initial in memorie.

Cele mai multe instrumente de procesare in-memory folosesc algoritmi de compresie care reduc dimensiunea de datelor stocate. Utilizatorii interogheaza datele incarcate in memoria sistemuli, evitandu-se astfel accesarea bazei de date care duce la ingreunarea procesului. Acest lucru este diferit de lucrul cu memoria cache, o metoda foarte utilizata pe scara larga pentr a accelera performantele de interogare, in care cache-urile sunt zone de memorie in care sunt plasate subseturi de date. Utilizand instrumentele de procesare in-memory, datele pentru analiza pot fi foarte mari, organizate in depozite de date, concentrari de date sau depozite mai mici de date aflate in intregime in memorie. Aceste structuri de date pot fi accesate in termen de cateva secunde de utilizatori concurenti pentru diferite interogari. Teoretic exista o crestere a vitezei de acces la date de la 10.000 la 1.000.000 de ori fata de accesarea si procesarea datelor aflate pe disc.

Factori care au determinat aparitia produselor de procesare in-memory sunt:


  • aparitia hardware-ului mai ieftin si cu performante ridicate. Conform legii lui Moore, puterea de calcul se dubleaza la fiecare doi sau trei ani, in timp ce costurile scad. Inovatiile hardware, cum ar fi arhitectura multi-core, servere de procesare paralela, capacitedea de procesare mai mare in memorie si aparitia software-lui bazat pe baze de date orientat pe coloane si tehnici de compresie si de manipulare a tabelelor agregate au condus la dezvoltarea tot mai accentuata a produselor de procesare in-memory.

  • Sistemele de operare pe 64 biti. Aparitia la scara tot mai larga a procesoarelor puternice si a sistemelor de operare pe 64 biti a dus la dezvoltarea procesarii in-memory. Sistemele de operare pe 64 biti permit accesul mult mai mult la memoria RAM(pana la 100 GB RAM) fata de 2-4 GB RAM la sistemele pe 32 biti.

  • Volumele mari de date nu mai pot fi salvate in depozite de date traditionale. Procesele ETL care actualizeaza periodic depozitele de date pot dura de la cateva ore pana la saptamani pentru volume foarte mari de date. Procesarea in memorie faciliteaza accesul imediat la terabytes de date pentru raportarea in timp real.

  • Costuri reduse. Procesarea in-memory este disponibila pentru preturi relativ mici, iar produsele pot fi usor instalate si intretinute in comparatie cu produsele traditionale de BI. Conform unui sondaj Gartner, implementarea solutiilor de BI traditionale poate dura 17 luni. Multi comercianti de produse pentru realizarea depozitelor de date aleg implementarea procesarii in-memory in schimbul BI traditional pentru a diminua timpul de implementare.

  • Comerciantii de servicii de procesare in-memory ofera posibilitatea conectarii la surse de date existente si pun la dispozitie tablouri de bord interactive pentru utilizatori si analistii de business. Navigarea usoara si posibilitatea realizarii rapide a diverselor interogari este un factor ce atrage multi utilizatori.

Utilizand tehnologia de procesare in-memory sursa de date este accesata o singura data in loc de accesarea acesteia la fiecare interogare, reducandu-se astfel sarcinii serverelor de baze de date.

Securitatea trebuie sa fie tratata ca un punct foarte important in momentul implementarii unei solutii de procesare in-memory, deoarece se expun cantitati imense de date utilizatorilor finali. Trebuie sa se aiba grija cine are acces la aceste date, unde si cum sunt aceste date stocate. Utilizatorii finali descarca volume imense de date pe calculatoare proprii unde acestea pot fi modificate sau pierdute. Trebuie luate masuri pentru a asigura accesul la date doar pentru utilizatorii autorizati.


Procesarea in-memory pentru depozite de date
Depozitele de date sunt folosite pentru a stoca volume mari de date pentru analiza. Acestea colecteaza date dintr-o varietate de surse si stocheaza datele astfel incat sa fie disponibile pentru o mare varietate de interogari. Potrivit unor arhitecturi, imediat dupa ce datele sunt primite si prelucrate de un depozit de date, acestea sunt stocate intr-un sistem de management al bazelor de date. De exemplu depozitul de date poate fi o aplicatie software care opereaza pe unul sau mai multe computere. La diferite puncte de timp in prelucrarea datelor, depozitul de date poate interfera cu un sistem de management al bazelor de date pentru a stoca date intr-o anumita tabela. Tabelele accesate de depozitul de date in momentul unei cereri sunt o tabela activa si tabela de log a respectivei baze de date. Tabela activa poate stoca valori de date, care sunt curente, la un anumit moment, pe cand, tabela de log stocheaza modalitatea in care datele au fost schimbate in timp. O problema cu arhitectura prezentata o reprezinta interbalul de timp asociat cu accesarea datelor stocate in tabelele sistemului de baze de date. De fiecare data cand este primita o inregistrare, datele sunt citite din tabelul de date activ in baza de date si incarcate in depozitul de date ce face cererea.

Procesarea in-memory a depozitelor de date presupune stocarea intr-o structura de baze de date a datelor din depozite de date, aceste baze de date aflandu-se in memoria RAM. Datele primite de la depozitul de date poti fi stocate intr-o coada si incarcate in strucura de stocare a datelor in conformitate cu reguli prestabilite. Datele stocate sunt asociate cu tranzactii in memorie, iar datele ce urmeaza a fi preluate sunt comparate cu datele care au fost deja stocate. Se realizeaza astfel o mapare pentru asocierea cererilor aplicate de depozitul de date cu tranzactiile de baze de date din memorie.



Figura 2: Pocesarea in-memory a depozitelor de date


Figura ilustreaza un depozit de date si o baza de date in memorie. In acest exemplu, o aplicatie cu depozite de date (301) depoziteaza date de la o baza de date stocata in memorie (310).

Tabelul 1 prezinta un exemplu de trei inregistrari de date de la (302) sursa de date care urmeaza sa fie stocata in baza de date din memorie(310).



Record number

Customer

Amount

Record mode

1

Abc co

10

New

2

Xyz co

5

New

3

Aaa co

6

New

Tabelul 1

Fiecare inregistrare de date contine un numar de inregistrare, client, suma si mod de inregistrare.

Aplicatia pentru depozite de date (301) poate stoca datele de la sursa de date(302) folosind unul sau mai multe cereri de date(303). Fiecare cerere de stocare a datelor poate avea atribuit un identificator unic(de exemplu un numar) de catre aplicatia pentru depozitul de date(301). In acest exemplu, in baza de date din memorie(310) sunt stocate datele din depozitul de date al aplicatiei (301) intr-o structura de tip coada(304). In acest exemplu coada poate fi stocata ca o coloana din tabela, dar in alte exemple pot fi folosite alte structuri pentru salvarea acesteia, cum ar fi tabele relationale sau obiecte. Prin urmare, cele trei inregistrari din tabela 1 sunt stocate in coada de asteptare 304 dupa cum se arata in tabelul 2, de mai jos. Transferul de date de la depozitul de date al aplicatiei (301) la coada de mesaje(304) poate fi efectual utilizand o singura cerere de stocare a datelor sau mai multe. In exemplul dat, cele trei inregistrari sunt stocate in coada folosind o singura cerere, careia ii este atribuit un numar de cerere(CERERE =1). Pe masura ce fiecare inregistrare din tabela este stocata in coada de asteptate, numarul de cerere care produce inregistrarea se inregistraza in tabelul 2.

Request

Record number

Customer

Amount

Recort mode

1

1

Abc co

10

New

1

2

Xyz co

5

New

1

3

Aaa co

6

New

Tabelul 2.

Baza de date din memorie(310) mai include o strucura de stocare a datelor(305). In acest exemplu, aceasta structura de stocare(305) este de asemenea un tabel. Tabelul 3 arata schema pentru strucutura de stocare 305. Pentru motive ilustrative, tabelul 3 este prezentat initial ca fiind gol:



Customer

Amount

$cid_from$

$cid_to$

Tabelul 3.

Structura de stocare 305 poate stoca valori de la inregistrarile de date primite de la aplicatia pentru depozitul de date(301), de exemplu coloanele client si suma au fost preluate. Inregistrarile de date primite de la aplicatia pentru depozitul de date pot fi de asemena manipulate folosinduse reguli de codficare (351). Campul $cid_from$ din tabelul 3 stocheaza o valoare unica in baza de date din memorie(305). Deoarece datele sunt stocate intr-o structura de date, numarul de tranzactie care a cauzat stocarea datelor va fi stocat in campul „$cid_from$”. Campul $cid_to$ salveaza in tabela un identificator unic cauzat de modificarea in structura de stocare(305) a datelor existente. Modificari pot sa apara cand noi valori pentru datele stocate existente sunt inregistrat sau cand sunt sterse o parte din date. In consecinta, datele sunt valide la numarul de tranzactie din campul „from” pentru toate tranzactiile de baze de date din memorie, pana la numarul de tranzactie din campul „to”.Semnul $ indica faptul ca aceste campuri poti fi ascune in unele implementari.

Baza de date din memorie(310) include o structura de date de cartografiere, mapare(306) care poate fi reprezentata tot printr-o tabela -> tabela 4.

Request

$cid_from$

Tabelul 4.

Atunci cand datele sunt transferate de la coada(304) la structura de stocare(305), 306 asociaza cererile realizate de aplicatia pentru depozitul de date (301) cu tranzactiile realizate in baza de date stocata in memorie(305). In acest exemplu, 306, mapping include un camp „request” si unul „$cid_from$”. Campul „request”retine „request number” din depozitul de date asociat cu fiecare record din coada de mesaje. Aceste informatii pot fi utilizate pentru a furniza depozitului de date datele modificate.

In unele implementari, datele poti fi transferate de la coada de asteptare (304) la structura de stocare(305) ca raspuns la un semnal extern, cum ar fi semnalul de activare(350) care este primit in baza de date din memorie de la depozitul de date al aplicatiei pentru a comite o cerere asupra datelor aflate in baza de date din memorie.



Request

Recorn number

Customer

Amount

Record mode

Tabelul 5.

Customer

Amount

$cid_from$

$cid_to$

IBM

10

753




SAP

5

753




HP

6

753




Tabelul 6

Request

$cid_from$

1

753

Tabelul 7

Asa cum am ilustrat in tablul 6, dupa activare, datele de la coada(304) sunt incarcate in structura de stocare(305), coada poate sa fie golita si se realizeaza o mapare pentru asocierile dintre tranzactii si cererile realizate de depozitul de date, asocieri salvate in tabelul de mapare.

Regulile prezentate mai sus sunt doar cateva exemple cum depozitele de date sunt procesate in memorie.

Pentru recuprarea datelor, aplicatia pentru depozitul de date(301) poate generea si trimite o cerere de recuperare a datelor (309) catre baza de date din memorie(310). Recuperarea datelor(309) poate fi folosita pentru a extrage datele din baza de date in-memory(310) intr-un format de date acceptat de depozitul de date. In acest exemplu, aplicatia pentru depozitul de date(301) foloseste o viziune(308) care poate declansa o schimbare a calculului valorilor din baza de date pe baza unui script rulat tot in-memory(307). Scriptul de calcul citeste datele active stocate in baza de date in-memory(305), calculeaza valorile corespunzatoare si intoarce valorile catre viziune(308).


Concluzii
Pe baza articolelor parcurse in realizarea acestui referat consider ca tehnologia de procesare a depozitelor de date in-memory reprezinta un mare progres tehnologic in domeniul informaticii si fiind o solutie relativ noua permite diverse abordari si posibilitatea aparitiei de imbunatatiri. Plusul adus de aceasta tehnologie domeniului IT consta in reducerea timpului de prelucrare a cantitatilor mari de date ceea ce duce la usurarea muncii depuse de angajati si obtinerea rezultatelor necesare in timp record.

Domeniul inteligentei afacerilor este un domeniu care are nevoie de sisteme care sa realizeze rapid interogari si sa raspunda cerintelor complexe in timpi redusi fiind un domeniu in care timpul este foarte important. Astfel de sisteme sunt cele bazate pe procesarea in-memory a datelor, bazate pe aducerea cat mai aproape de unitatea centrala de procesare a datelor ce trebuiesc prelucrate.




Bibliografie


http://www.accenture.com/us-en/blogs/analytics/archive/2012/11/01/how-the-data-warehouse-evolved-into-in-memory-hana.aspx

http://en.wikipedia.org/wiki/In-Memory_Processing

http://www.freepatentsonline.com/20120259809.pdf

http://www.freepatentsonline.com/y2012/0259809.html

http://www.editurauranus.ro/marketing-online/12/pdf/4.pdf

http://www.cio.com.au/article/373945/in-memory_computing/

andrei.clubcisco.ro/.../f/f.../Depozite_de_date.ppt

http://www54.sap.com/solutions/tech/data-warehousing/software/netweaver-business-warehouse/index.html

http://msdn.microsoft.com/en-us/library/aa178261(v=sql.80).aspx


Yüklə 78,61 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin