Sunteți pe pagina 1din 15

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

2
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.

3
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.

4
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.

5
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;

6
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;

7
- partajarea datelor intre diferiti utilizatori sau intre diferite aplicatii informatice
care ruleaza sub diferite sisteme;
2) 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 

8
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  (OnLine  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  (OnLine
Analytical Processing) şi  oferă  tehnologii de agregare  a datelor stocate  în
depozitele  de date  întro  abordare  multidimensională,  cu  acces rapid  la
informaţiile  necesare, întro  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

9
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.

10
- 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

11
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.

12
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

13
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.

14
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

15

S-ar putea să vă placă și