Sunteți pe pagina 1din 31

CUPRINS

1.

SISTEME DE BAZE DE DATE DISTRIBUITE ....................................................3

1.1 INTRODUCERE N SISTEME DE BAZE DE DATE DISTRIBUITE ........................................3


1.2 FRAGMENTAREA .........................................................................................4
1.2.1 Fragmentarea orizontal ..................................................................6
1.2.2 Fragmentarea vertical ....................................................................7
1.2.3 Fragmentarea mixt .........................................................................9
1.2.4 Fragmentarea derivat .....................................................................9
1.2.5 Relaii nefragmentate..................................................................... 10
1.3 REPLICAREA ............................................................................................. 10
1.4 PROIECTAREA ALOCRII ............................................................................... 11
1.5 O ARHITECTUR DE REFERIN A UNUI SISTEM DISTRIBUIT .................................... 11
1.6 PRINCIPIILE LUI C.J. DATE REFERITOARE LA SISTEMELE DISTRIBUITE ......................... 13
1.7 PROCESAREA I OPTIMIZAREA CERERILOR ......................................................... 13
1.8 GESTIUNEA ACCESULUI CONCURENT N MEDII DISTRIBUITE .................................... 14
1.9 AVANTAJELE I DEZAVANTAJELE SISTEMELOR DISTRIBUITE..................................... 15
1.10
BAZE DE DATE FEDERATIVE ....................................................................... 16
1.10.1 Introducere................................................................................... 16
1.10.2 Caracteristicile sistemelor federative............................................. 17
1.10.3 Integrarea bazelor de date............................................................ 19
1.10.4 Concluzii privind sistemele federative............................................ 19
1.11
DEPOZITE DE DATE ................................................................................. 20
1.12
ELEMENTE PRIVIND PRELUCRAREA ANALITIC I DE EXTRAGERE A DATELOR LEGATE DE
BAZE DE DATE DISTRIBUITE I FEDERATIVE ............................................................................... 22
1.12.1 Introducere................................................................................... 22
1.12.2 Instrumentele OLAP ...................................................................... 23
1.12.3 Data mining ................................................................................. 24
1.12.4 Concluzii privind prelucrarea analitic i extragerea datelor .......... 25
1.13
BAZELE DE DATE I INTERNETUL ................................................................. 26
1.14
CONCEPTUL DE BIG DATA ........................................................................ 27
1.14.1 Introducere................................................................................... 27
1.14.2 Bazele de date NoSQL ................................................................... 28
1.15
NTREBRI RECAPITULATIVE ...................................................................... 28
BIBLIOGRAFIE .................................................................................................... 29

1. SISTEME DE BAZE DE DATE DISTRIBUITE1


Autor: Dan Andrei Sitar Tut

1.1 Introducere n sisteme de baze de date distribuite


Bazele i sistemele distribuite au aprut ntr-un moment n care tehnologia bazelor
de date i cea a reelelor erau destul de avansate individual, ns la nivelul integrrii lor,
lucrurile nu stteau att de bine.
Un exponent al hibridizrii celor dou tehnologii amintite este sistemul cu
prelucrare distribuit, adic un sistem centralizat de baze de date. Este un precursor al
sistemelor distribuite i implic accesarea unei singure baze de date (baza de date central)
prin intermediul unei reele de calculatoare. Punctele forte ale acestor sisteme ar fi integrarea
aplicaiilor i a datelor din cadrul unei organizaii i simplitatea proiectrii. Neajunsurile se
refer la rezolvarea problemei accesului concurent, vulnerabilitatea i disponibilitatea
nodului central, numr relativ sczut de utilizatori i accese concomitente, precum i viteza
sczut i distana acceselor.
Dei considerate de muli ca fiind destul de primitive, sistemele centralizate dein
nc o cot destul de ridicat n implementrile existente i de multe ori constituie o variant
mult mai bun de regul pentru comunitile informatice de dimensiuni mici dect
sistemele distribuite. Totui, att comunitatea academic, ct i cea economic au consimit
c e nevoie s se fac un nou pas n evoluia integrrii bazelor de date cu reelele de
calculatoare.
De-a lungul timpului n literatura de specialitate au fost formulate o serie de definiii
ale bazelor de date distribuite.
Definiie: O baz de date distribuit reprezint o colecie de date integrate logic,
ns repartizate2 fizic pe siturile3 unei reele de calculatoare [Gardarin & Valduriez 1989],
[Lungu et al. 1995], [Connolly et al. 2001], [Messaoui 2001] etc.
Aadar, o baz de date distribuit e un ansamblu de baze de date administrate de
diferite situri, dar care apar pentru utilizator ca o baz unic. Ele sunt proiectate sub forma
unor colecii de date integrate, omogene sau nu, mprtiate cu discernmnt ntr-o reea de
calculatoare sub forma unei baze de date globale. [Schmitt & Saake 2005]
n majoritatea cazurilor definiiile surprind dou elemente importante:
Integrarea logic. Se refer la aspectul c datele nmagazinate nu sunt simple
colecii de fiiere. Ele reprezint o structur bine organizat pe care utilizatorul potrivit
unor principii ce vor fi enunate ulterior trebuie s-o perceap ca fcnd parte dintr-o singur
baz de date global, la fel ca i n cazul bazelor de date locale sau centralizate;
Repartizarea fizic. Relev faptul c baza de date nu este stocat ntr-o singur
locaie, precum n cazul bazelor de date locale i sistemelor centralizate, ci este mprit
ntre mai multe staii de lucru.

Acest material este preluat/adaptat dup [Sitar 2005]


n general n literatura de specialitate se folosete termenul distribuit. Am evitat utilizarea
unor definiii recursive, pentru a nu spune c bazele de date distribuite sunt ceva ... distribuit.
3
vom utiliza n general noiunea de sit, ca sinonim pentru site, nod, staie etc.
2

Sisteme de baze de date distribuite


Prin natura lor, datele din cadrul unei organizaii sunt dispersate att logic, ct i
fizic. Angajaii colaboreaz la realizarea unui proiectul prin intermediul a mai multe
calculatoare amplasate fizic n birouri, cldiri, ateliere specifice etc. Accesarea se poate face
de pe aceeai main de calcul sau de pe maini diferite, indiferent de apartenena
utilizatorului la un anumit departament sau birou. La fel, baza de date poate fi i ea plasat
ntr-o singur locaie sau n locaii diferite. Dispersarea poate s se fac depind bariera unui
birou sau a unei cldiri, ajungndu-se n seciile sau atelierele unitii de producie sau n
diferite sucursale, agenii sau puncte de lucru ale organizaiei respective rspndite n diverse
coluri ale unui ora, ar, continent, sau chiar ale lumii. n exemplele furnizate n acest
capitol vom considera o baz de date care reflect evidena studenilor facultii noastre n
condiiile unei activiti repartizate pe secretariate din doar dou locaii posibile: ClujNapoca i Sighetu Marmaiei.
Apariia reelelor de calculatoare a fost un prim pas n integrarea informaiei
existente ntr-o companie. Integrarea tehnologiei bazelor de date cu cea a reelelor a dat
natere unei tehnologii mult mai puternice dect era fiecare dintre cele dou domenii anterior
momentului hibridizrii. Dei exploziv, dezvoltarea s-a fcut n trepte de evoluie. Cu toate
acestea, nici acum i niciodat nu vom putea spune c s-a epuizat cu totul acest domeniu.
Sistemele de Gestiune a Bazelor de Date Distribuite (SGBDD4) au ca obiectiv
crearea unei puni ntre insulele de informaii. Ideea unui astfel de sistem este de a face
accesibile toate datele necesare funcionrii unei organizaii, oriunde s-ar afla ele, i de a le
rspndi fizic, dac este cazul, n acele locaii unde vor fi utilizate cel mai des. [Date 2005]
SGBDD-ul este o extensie software i funcional a sistemelor SGBD locale.
Definiie: Un sistem de gestiune al bazelor de date distribuite reprezint sistemul
software care permite gestiunea bazelor de date distribuite, fcnd distribuirea fizic
transparent pentru utilizatori [Gardarin & Valduriez 1989], [Connolly et al. 2001].
Atunci cnd se vorbete despre sisteme distribuite, cei mai utilizai termeni sunt:
fragmentare, alocare i replicare.

1.2 Fragmentarea
n literatura de specialitate, pentru conceptul de fragmentare se folosete alternativ
i denumirea de partiionare.
Definiie: Fragmentarea reprezint procedeul de spargere a relaiilor utilizate ntrun sistem distribuit prin operaiuni relaionale de proiecie i selecie controlate, n vederea
plasrii aa-numitelor partiii (fragmente) rezultate n locul n care sunt cel mai frecvent
solicitate datele pe care le conin.
Fragmentarea reprezint o abordare a dimensiunii bazei de date, care se realizeaz
prin divizarea tabelelor de date n unul sau mai multe fragmente disjuncte, n scopul stocrii
fizice.
[Connolly et al. 2001] consider urmtoarele motive ca fiind premisele de baz n
favoarea recurgerii la fragmentare:
Uzana. n aplicaiile proiectate pentru baze de date n general, multiutilizator se
practic frecvent utilizarea tabelelor virtuale n detrimentul relaiilor ntregi. De cele mai
multe ori un operator nu are nevoie de toate informaiile, att ca i structur, ct i ca i
4

n literatura de specialitate se utilizeaz abrevierea DDBMS, acronim pentru Distributed


DataBase Management Systems

Sisteme de baze de date distribuite


coninut, pe care o relaie ntreag este capabil s le furnizeze. Astfel, acesta poate s se
concentreze strict asupra problemelor cu care interacioneaz i nu asupra unor aspecte
colaterale. Datorit acestui aspect, unitatea atomic de proiectare i utilizare n cadrul unor
astfel de sisteme, nu va fi relaia (de cele mai multe ori), ci o subdiviziune a acesteia;
Eficiena. Distribuirea unor relaii ntregi pe diferite staii de lucru ar anula aspectul
semantic al siturilor n funcionalitatea sistemului distribuit. Cu ce ar ajuta dac n situl X
localizat n Cluj-Napoca am avea stocat relaia ce conine materiile de studiu, iar pe nodul
Y aflat n Sighetu Marmaiei am avea relaia care conine datele de identificare a tuturor
studenilor? n mod uzual secretariatul din Cluj-Napoca (X) ar dori s utilizeze informaiile
privind studenii care frecventeaz cursurile n Cluj-Napoca, iar cel din Sighet (Y),
informaiile referitoare la cei din Sighet;
Paralelismul. Mai multe fragmente ale unei baze de date permit sporirea accesului
concurent. Mai mult, sistemul va fi capabil s rspund aproximativ n acelai timp la mai
multe cereri tocmai datorit acestui aspect. De exemplu, mult mai rapid se va rspunde unor
cereri lansate simultan, una de pe situl X i una de pe Y, n cazul n care X solicit mediile
studenilor ce frecventeaz cursurile n Cluj-Napoca, iar Y ale celor din Sighet. Dac relaia
ce conine toi studenii ar fi stocat ntr-un singur loc s zicem n Sighet rezolvarea
cererilor ar fi ncetinit de secvenialitatea procesrii (mai nti una din cereri, apoi cealalt)
sau ntrzieri datorate metodelor de gestionare a accesului concurent, dimensiunea mai mare
a relaiei (prelucrare mai greoaie), i nu n ultimul rnd, distana;
Securitatea. n ceea ce privete securitatea, un atac din partea unor persoane ruvoitoare n-ar afecta funcionarea ntregului sistem (i n general chiar deloc, datorit replicrii
datelor) n cazul unui atac asupra unui sit, care conine doar cteva fragmente ale bazei de
date i nicidecum ntreaga baz sau relaii ntregi. Pentru succesul atacului acesta ar trebui s
fie direcionat asupra mai multor noduri, iar probabilitatea unui asemenea eveniment este
mult mai mic dect cea a reuitei asupra unui singur nod.
Cu toate punctele tari, aceasta prezint i unele dezavantaje:
Complexitatea proiectrii. Un sistem distribuit este mai greu de proiectat dect unul
nedistribuit. Existena fragmentelor implic o serie de factori suplimentari, cum ar fi de
exemplu stabilirea locaiei unui fragment, optimizarea interogrilor etc.;
Performana. Chiar dac n general, datorit unei alocri eficiente a fragmentelor,
performanele unui sistem distribuit sunt mai mari dect ale unui sistem nedistribuit, lucrurile
se pot complica n cazul unor interogri mai complexe ce solicit informaii prea disparate
(de pe mai multe situri);
Controlul integritii. Pstrarea integritii bazei de date este dezideratul primordial
al oricrui sistem tranzacional. Fa de abordarea n cazul unui sistem centralizat, existena
fragmentelor rspndite pe siturile sistemului, complic lucrurile.
Fragmentarea nu poate fi fcut la voia ntmplrii. Fragmentele rezultate trebuie s
ndeplineasc anumite condiii de la care nu se poate face rabat:
Completitudinea fragmentrii. Divizarea unei relaii n fragmente trebuie fcut de aa
manier nct, fragmentele rezultate, s asigure acoperirea ntregii relaii iniiale. Potrivit
acestei cerine, fragmentarea are ca obiectiv eliminarea apariiei pierderilor
informaionale i nu cea a redundanelor.
Refacerea relaiei iniiale. Fragmentarea se face astfel nct, n orice moment s poat
fi reprodus relaia iniial din care fragmentele provin. Operatorii de recompunere
trebuie s fie strict relaionali.
Caracterul disjunct [Connolly et al. 2001]. Fragmentele provenite din aceeai relaie
trebuie s fie disjuncte, adic s nu se suprapun, att ca tuple ct i ca atribute. La
aceast condiie avem i o excepie de la regul, fireasc de altfel. Pentru a nu pierde

Sisteme de baze de date distribuite


legtura ntre datele unui tuplu i pentru a putea face recompunerea cu uurin, cheile
primare trebuie replicate pentru fiecare fragment creat de-a lungul atributelor.
n funcie de operatorii relaionali care se aplic asupra relaiilor, fragmentarea
(partiionarea) poate fi de mai multe tipuri: orizontal, vertical i mixt. Pe lng aceste
tipuri clasice, uneori situaia impune necesitatea unor fragmentri derivate sau chiar a unor
relaii nefragmentate. Toate acestea vor fi discutate mai pe larg n paragrafele urmtoare.
Limitele n care se ncadreaz fragmentarea sunt de la un tuplu, atribut, o valoare a
unui tuplu, pn la ntreaga relaie sau baz de date (n cazul fragmentrii derivate). ntre
aceste granie se afl granulaia fragmentrii. Ce, cum i ct fragmentm sunt ntrebrile pe
care i le pun toi proiectanii de baze de date.

1.2.1 Fragmentarea orizontal


Fragmentarea orizontal, dup cum sugereaz numele, se face de-a lungul tuplelor
unei relaii. Aadar, un fragment orizontal, este format dintr-o submulime a tuplurilor unei
relaii, submulime obinut n urma unei operaii de restricie. Restricia trebuie s asigure o
descompunere ortogonal n fragmente orizontale.
Reprezentarea simbolic a unui fragment orizontal F, realizat pe baza unei relaii R,
prin specificarea modalitii de obinere, este urmtoarea:
Fi: p(R), unde Fi reprezint numele fragmentului, p fiind un predicat bazat pe unul
sau mai multe atribute ale relaiei [Connolly et al. 2001], iar R reprezint denumirea relaiei.
este simbolul operaiei de restricie (selecie).
S presupunem c n relaia STUDENT avem atributul Locatia, a crui valori indic
locul unde urmeaz cursurile studenii de la FSEGA Cluj-Napoca. Considernd c acetia
pot s fie ntr-una din cele dou locaii posibile, avem fragmentele:
CJ_STUD: Locatia = Cluj-Napoca(STUDENT)
SM_STUD: Locatia = Sighetu Marmatiei(STUDENT)
Deci, vom avea dou fragmente. Fragmentul CJ_STUD pentru studenii nscrii la
FSEGA Cluj-Napoca i urmeaz cursurile n Cluj-Napoca i fragmentul SM_STUD pentru
studenii nscrii la FSEGA Cluj-Napoca, dar care frecventeaz cursurile n Sighetu
Marmaiei. Cele dou fragmente ndeplinesc cele trei reguli de baz.
Dup cum s-a vzut, fragmentarea orizontal se realizeaz prin operaiuni de selecie
aplicate relaiei globale. n proiectarea fragmentelor se ine cont de aspectul logic i cel
statistic. Componenta logic a unui fragment este dat de predicatul pe baza cruia se face
fragmentarea. Acesta poart numele i de calificare. Proprietile statistice se refer la
afinitatea (numr i frecven) unor aplicaii sau cereri pentru fragmentul n cauz. [Lungu
et al. 1995]
Predicatele pe baza crora se abordeaz problematica fragmentrii orizontale sunt
predicatele minterm. Ele sunt conjuncii de predicate simple sau negaii ale acestora.
Predicatele simple sunt de forma pi: Aj <valoare>, i=1, 2, ... ,n, iar A1, ...,Am reprezint
atributele relaiei, iar ia una din valorile {=, <, >, <=, >=}.
Fie urmtoarul set de predicate simple: p1: CodSectie = 1, p2: CodSectie = 2, p3:
CodSectie > 2, p4: Media < 8, p5: Media >= 8. Predicatele minterm aferente sunt:
m5: CodSectie = 2 Media < 8
m1: CodSectie = 1 Media < 8
m2: CodSectie = 1 ~(Media < 8)
m6: CodSectie = 2 ~(Media < 8)
m3: CodSectie = 1 Media >= 8
m7: CodSectie = 2 Media >= 8
m8: CodSectie = 2 ~(Media >= 8)...
m4: CodSectie = 1 ~(Media >= 8)

Sisteme de baze de date distribuite


n ceea ce privete aspectul semantic al acestui tip de predicate, putem spune c
unele sunt fr neles. Nu este cazul nostru, dect dac am fi construit predicate minterm i
ntre p1 i p2, respectiv ntre p3, p4 i p5. Un alt aspect se refer la faptul c unele predicate
minterm se suprapun (de exemplu m1 cu m4). Mai mult, pot s apar contradicii n cazul unui
astfel de predicat, ceea ce ar avea drept urmare constituirea unui fragment vid. Spre exemplu,
un predicat simplu ar referi studenii cu numrul matricol ntre 8.000 i 10.000, iar un altul
studenii din anul 3. ntmpltor, chiar aceti studeni din anul 3 au numerele matricole chiar
ntre intervalele stabilite. Acest lucru va conduce la eliminarea a dou predicate minterm.
Mai mult, n acest caz particular, cele dou predicate sunt echivalente.
Un predicat este considerat relevant n raport cu un set de predicate date dac
prezena sa influeneaz setul de tuple al seleciei referite de o aplicaie.
n termeni formali, fie dou predicate minterm mi i mj care difer prin faptul c
unul conine pi, iar cellalt ~pi. Cele dou predicate minterm determin fragmentele fi i fj. pi
este relevant n raport su setul de atribute dac i numai dac:
acc(mi)/card(fi) acc(mj)/card(fj). [Sacca & Wiederhold 1985]
Un set de predicate se consider complet dac i numai dac probabilitatea de
referire a dou tupluri din cadrul aceluiai fragment este egal.
Un set de predicate este minimal dac i numai dac toate predicatele sunt relevante.
La capitolul informaii cantitative putem defini selectivitatea predicatului
minterm (cardinalitatea seleciei); frecvena accesului: (frecvena accesrii datelor de ctre
aplicaii).
n cazul n care avem n predicate simple, atunci numrul predicatelor minterm ce
pot fi definite pe baza acestora este de 2n. Acesta este numrul maxim teoretic de fragmente
orizontale care pot fi constituite. Totui, acest numr poate fi redus prin simplul fapt c o
serie de predicate se pot suprapune sau devin contradictorii intern.

1.2.2 Fragmentarea vertical


Fragmentarea vertical reprezint o descompunere de-a lungul atributelor unei
relaii. Realizarea acesteia presupune operaii de proiecie asupra atributelor, prin includerea
n cazul fiecrui fragment a unei chei alternative a relaiei. Scopul includerii acesteia este
obinerea unei descompuneri fr pierderi, deci una care s verifice fr probleme cele trei
condiii impuse fragmentrii, de orice fel ar fi ea.
Simbolistica reprezentrii unui fragment vertical Fi obinut prin proiecia atributelor
a1, a2, ..., an ale unei relaii R este urmtoarea:
Fi: a1, a2, ... ,an(R), unde simbolul reprezint nsemnul proieciei din algebra
relaional.
Pentru exemplificarea acestui nou tip de fragmentare vom lua cazul relaiei
LOCALITATI(CodLoc, Loc, CodJud), prezentat n subcapitolele anterioare. Numrul
redus de atribute i dimensiunea unui tuplu, precum i a relaiei n sine, nu ar justifica o astfel
de fragmentare. Totui putem avea urmtoarele fragmente:
L_LOC: CodLoc, Loc(LOCALITATI)
J_LOC: CodLoc, CodJud(LOCALITATI)
n ambele fragmente a trebuit s includem cheia primar a relaiei LOCALITATI i
respect cele 3 reguli, recompunerea relaiei iniiale presupunnd operaia de JOIN.
Partiionarea vertical e mult mai complex dect cea orizontal. Am vzut c n
cazul fragmentrii orizontale numrul de variante posibile la un numr dat (n) de predicate

Sisteme de baze de date distribuite


simple este 2n. Exist preri cum c la un numr dat de m atribute non-cheie ale unei relaii,
numrul de variante este determinat de o funcia B(m), care reprezint al m-lea numr Bell.
[Niamir 1978] Pentru valori mai mari ale lui m, numrul de variante posibile tinde spre 10m.
Pentru m=15, B(m) 109, iar pentru m=30, B(m) 1023.
Exist dou modaliti de abordare a proiectrii fragmentrii verticale:
Gruparea atributelor. A fost propus pentru prima dat spre a fi utilizat n bazele
de date centralizate n 1978 [Niamir 1978], iar mai apoi, n 1985 [Sacca & Wiederhold
1985], n bazele de date distribuite. Presupune iniial stabilirea cte unui fragment pentru
fiecare atribut. Apoi, pn la satisfacerea unor criterii stabilite se agreg noi atribute. Aceast
tehnic ncalc proprietatea de disjunctivitate a fragmentelor. De aceea, se recomand ca
atributele replicate s nu fie deloc, sau eventual doar foarte rar actualizate [Lungu et al.
1995];
Partiionarea atributelor. Tehnica a fost discutat i propus pentru bazele de date
centralizate [Hoffer & Severance 1975], pentru a fi extins [Navathe et al. 1984] i n cazul
bazelor de date distribuite. Se pornete de la schema iniial a relaiei i pe baza unor criterii
statistice (numr de accese din partea aplicaiilor).
n general se aplic cea de-a doua metod. Pentru stabilirea atributelor care vor face
parte dintr-un anumit fragment se vor identifica mai nti aplicaiile (cererile) care acioneaz
asupra acestor atribute. Se va determina matricea afinitilor dintre atribute, iar apoi se va
utiliza algoritmului energiei de angajament (BEA5), propus de Mc Cormick [Mohan et al.
1986], care este special proiectat pentru a grupa atributele cu afiniti apropiate. Efortul
computaional al acestuia este rezonabil (O(n2)), iar n plus permite i determinarea
legturilor secundare dintre diferitele grupuri de atribute. [Hoffer & Severance 1975]
Algoritmul se bazeaz pe permutarea coloanelor i liniilor matricei de afinitate i obinerii
matricei de afinitate partiionat. Permutrile trebuie fcute de aa manier nct s se
maximizeze cuantumul afinitii globale.
Deoarece i matricea care va rezulta este o matrice simetric, formula de maximizare
a afinitii globale poate fi redus la:
n

aff ( A , A )[aff ( A , A
i

j 1

) aff ( Ai , A j 1 )] 6

i 1 j 1

Crearea matricei este un proces iterativ care presupune mai nti mutarea unei
singure coloane n noua matrice, apoi plasarea celorlalte n aa manier nct s fie n acord
cu condiiile expuse anterior. Dup plasarea tuturor coloanelor, i liniile trebuie
interschimbate astfel nct s potriveasc poziia relativ a coloanelor.
Dup gsirea matricei de afinitate partiionat, pe diagonala matricei trebuie s
fixm un punct, numit punct de divizare, care mparte mulimea atributelor relaiei n dou
submulimi formate din atributele {A1, A2, Ai}, respectiv {Ai+1, An}, alctuind matricele
(ptratele) TA7 i BA8.
Dup identificarea posibilelor fragmente n funcie de afinitile atributelor i
frecvenelor aplicaiilor care le solicit este necesar efectuarea procedurii de verificare a
celor trei condiii definitorii ale fragmentrii. Singura de la care putem face rabat ntr-o
anumit msur ar fi cea de disjunctivitate a fragmentelor. Aa cum am mai menionat, n
5

Bond Energy Algorithm


formul preluat din [zsu & Valduriez 1991], pagina 126
7
Top Attributes
8
Bottom Attributes
6

Sisteme de baze de date distribuite


cazul fragmentelor verticale disjunctivitatea nu poate fi realizat n proporie de 100%, dect
atunci cnd se folosesc identificatoare de tuplu, invizibile pentru utilizator. n celelalte cazuri,
pentru fiecare fragment n parte trebuie s se replice cheia primar.

1.2.3 Fragmentarea mixt


Fragmentarea mixt numit i hibrid de ctre unii autori nu reprezint un tip
special de fragmentare, ci o combinaie a celorlalte dou enunate anterior. Combinaia se
datoreaz aplicrii celor doi operatori din algebra relaional utilizai pentru fragmentarea pe
orizontal i pentru cea pe vertical. n funcie de ordinea n care sunt aplicai, putem s avem
dou tipuri de fragmentri mixte. Dac mai nti avem o operaie de selecie, urmat apoi
pentru fiecare fragment, de operaii de proiecie obinem fragmente orizontale partiionate
vertical. Dac ordinea operaiilor este inversat, atunci vom avea fragmente verticale
partiionate orizontal.
n reprezentarea simbolic se vor folosi notaiile deja amintite. Un astfel de fragment
poate fi descris ca fiind rezultatul aplicrii fie a unei operaii de proiecie asupra uneia de
restricie, fie rezultatul unei restricii aplicat asupra rezultatului unei proiecii:
Fi: a1, a2, ... ,an(p(R)) sau Fj: p(a1, a2, ... ,an(R))
n Figura 6. 1 Tipuri de fragmente mixte sunt prezentate cele dou tipuri de
fragmentri mixte:

F1
F3

F2
F4

F1
F5

F6

F3

F4
F5

F2

F6

Figura 6. 1 Tipuri de fragmente mixte


Din imagine se poate observa caracterul complet al fragmentrii mixte, indiferent
de cazul analizat. Cele 6 fragmente acoper pe de-a-ntregul relaia studiat.
Reconstrucia se face prin operaii de uniune i reuniune.
R = (F1 F2) U (F3 F4 F5) U F6, sau
R = (F1 U F2) F3
(F4 U F5 U F6).
Caracterul disjunct poate fi sesizat cu uurin din figur prin faptul c niciun
fragment nu ncalc teritoriul unui alt fragment.

1.2.4 Fragmentarea derivat


Fragmentarea derivat reprezint un tip mai aparte de fragmentare, chiar dac n
practic este posibil a fi cel mai des ntlnit. Pn acum s-a vorbit de fragmentri a cror
surs erau relaii ntregi stocate n cadrul a diferitelor situri. Fragmentarea de care vorbim
este impus de anumite nevoi practice menite s optimizeze accesul la date prin reducerea
timpului de transmisie. Fragmentarea derivat este o fragmentare orizontal care se face ntre
dou relaii: una printe i cealalt fiu. Se va porni de la relaia copil, care va fi fragmentat
conform predicatului prestabilit. Predicatul implic n mod obligatoriu cheia extern.

Sisteme de baze de date distribuite

1.2.5 Relaii nefragmentate


n anumite cazuri fragmentarea ar fi mai degrab un disconfort dect un lucru care
s aduc ntr-adevr performane sistemului. Aadar, nu ntotdeauna fragmentarea va fi
eficient i de aceea nici nu va fi aplicat. Relaiile care se preteaz la o astfel de abordare
sunt acelea care au un numr relativ mic de nregistrri. n astfel de situaii se recomand fie
replicarea acestora pe fiecare sit n parte, fie meninerea lor n acele noduri unde se utilizeaz
cel mai des, iar n cazul unei cereri la distan care le solicit, strategia optim ar fi cea de
mutare a acestei relaii, i nu a celorlalte, fie n situl din care s-a solicitat cererea, fie ntr-un
alt sit n care exist deja una sau mai multe din relaiile implicate.

1.3 Replicarea
Unul din aspectele importante ce caracterizeaz sistemele distribuite este fiabilitatea
i disponibilitatea. Aceasta nseamn c o pan n unul dintre siturile sistemului nu va paraliza
funcionarea sistemului i nici nu va afecta disponibilitatea datelor care au fost nmagazinate
n situl respectiv. Atingerea acestei performane nu se poate realiza dect cu ajutorul replicrii
fragmentelor.
Replicarea cunoscut n literatura de specialitate i ca reproducere presupune
copierea unor fragmente n mai multe locaii. ntr-o baz de date distribuit exist mai multe
nivele de replicare. Astfel, avem:
Baze de date centralizate. Sunt sistemele cu prelucrare distribuit (centralizate), n
care avem o singur baz de date stocat pe nodul central. La fel avem un singur SGBD.
Caracterul local al referinei este cel mai sczut, deoarece doar nodul central poate face
accesri sau prelucrri locale. Securitatea, fiabilitatea i disponibilitatea sunt sczute i
depind n cea mai mare msur de nodul central. Costul comunicaiei este ridicat;
Baze de date partiionate, fragmentate sau nereplicate. Sunt acele baze de date
distribuite n care toate fragmentele apar o singur dat. Implementarea se face cu cel mai
sczut cost al stocrii. O astfel de baz de date nu ofer fiabilitate i nici disponibilitate prea
ridicate, ns este mai mare dect n cazul sistemelor centralizate. Caracterul local al referinei
este la un nivel acceptabil. Costurile de comunicaie sunt mai moderate. Actualizrile i
consultrile se fac eficient;
Baze de date replicate integral. Orice sit conine cte o copie a ntregii baze de
date. Caracterul local al referinei, disponibilitatea, securitatea i fiabilitatea sunt maxime.
Probleme ntmpinm la costul ridicat al echipamentelor de stocare, comunicaia aglomerat
n cazul actualizrilor. O rezolvare parial a acestor inconveniente ar fi utilizarea
instantaneelor, adic imagini ale bazei de date care se actualizeaz periodic. Dezavantajul lor
este c nu ntotdeauna ofer o situaie actualizat, iar n momentul actualizrii se genereaz
trafic mare pe reea;
Baze de date replicate parial sau selectiv. Anumite fragmente sunt replicate, altele
nu. Sunt replicate fie acele fragmente cu utilizare frecvent, fie relaii ntregi de dimensiuni
mici care nu merit s fie fragmentate, ci mai degrab memorate pe fiecare sit. n aceast
ultim situaie intr i acele relaii sau fragmente cu actualizri sporadice. Aceast strategie
este o mbinare a celor 3 enunate anterior. ncearc s le preia avantajele i s le minimizeze
dezavantajele. De aceea aceasta se implementeaz cel mai adesea. Costurile de comunicaie
i de stocare sunt relativ reduse. Caracterul local al referinei, securitatea, fiabilitatea i
disponibilitatea sunt apropiate de maxim. [Connolly et al. 2001]

Sisteme de baze de date distribuite


Replicarea favorizeaz performanele sistemului la consultare. Atunci cnd e ns
vorba de actualizri, replicarea poate constitui un impediment: se genereaz trafic
suplimentar, pot aprea inconsistene datorit indisponibilitii temporare a unei replici.

1.4 Proiectarea alocrii


Alocarea reprezint procesul de repartizare a fragmentelor pe situri. S presupunem
c avem un set de fragmente F = {F1, F2, ..., Fi, ..., Fn} ntr-o reea format din siturile S =
{S1, S2, ..., Sj, ..., Sm} i asupra crora se execut anumite aplicaii (interogri) Q = {q1, q2,
..., qk, ..., qq}. Problema proiectrii alocrii se refer la distribuirea optim cost minim,
performan maxim a fragmentelor F pe siturile S.
Alocarea poate s fie neredundant sau redundant. Alocarea neredundant este
cea mai ieftin n ceea ce privete efortul de proiectare i cea mai uor de realizat. Un alt
avantaj l confer posibilitatea de actualizare a fragmentelor. Realizarea unei astfel de
proiectri se bazeaz pe metoda celei mai bune alegeri, care stipuleaz c unei staii pe care
deja a fost plasat un fragment, nu poate s-i mai fie alocat un fragment nrudit. Alocarea
redundant este o problem de proiectare mult mai complex. Mai mult, att consultrile de
date ct i actualizrile sunt problematice. Exist dou variante de abordare a proiectrii n
acest caz:
a) Metoda selectrii. Identificarea acelor situri pentru care beneficiul alocrii unei
copii depete costul alocrii;
b) Metoda alocrii progresive. Se implementeaz mai nti o alocare neredundant.
Apoi, n funcie de gradul de profitabilitate al staiilor se vor rspndi replici ale fragmentelor
deja alocate, pn cnd nu mai exist candidai.
Suntem de prere c o abordare mai eficient, dar i mai selectiv, ar fi aplicarea
metodei celei mai bune alegeri i n etapa de proliferare a copiilor. Atta doar c se va ncepe
cu fragmentele considerate ca fiind cele mai importante, inndu-se cont la fiecare alocare de
relaia de rudenie a tuturor fragmentelor ce exist sau urmeaz a fi stocate ntr-un sit.

1.5 O arhitectur de referin a unui sistem distribuit


Dup o propunere iniial din partea grupului DataBase Task Group (DBTG) din
1971 de a standardiza sistemele de baze de date pe dou nivele schem i subschem n
1975 a fost abordat o arhitectur pe trei nivele: extern, conceptual i intern, care i-a
propus separarea viziunii utilizatorului de modul fizic de reprezentare a datelor. Astfel a
rezultat arhitectura ANSI-SPARC pentru sisteme centralizate, prin iniiativa comun a dou
organisme: Institutului Naional American pentru Standarde (ANSI) i Comitetul de
Planificare i Cerine privind Standardele (SPARC). Dei intenia era una de standardizare a
proiectrii acestor sisteme, arhitectura amintit s-a impus doar ca una de referin, larg uzitat
n mediile academice i chiar pragmatice ale bazelor de date. [Connolly et al. 2001] Datorit
complexitii domeniului bazelor de date distribuite fa de cele centralizate, impunerea unei
arhitecturi standardizate ar fi cu mult mai greu de realizat. Totui, ne permitem s prezentm
o astfel de variant (vezi Figura 6. 2).
Arhitectura este format din:
schemele externe globale, care reprezint viziunea fiecrui utilizator asupra sistemului;

Sisteme de baze de date distribuite

o schem conceptual global, adic o imagine complet a ntregii baze de date, fr a


ls mcar pentru vreun moment impresia c aceasta ar putea fi una distribuit;
schema de fragmentare, ce reprezint ideea proiectantului de partiionare a ntregii
baze de date;
schema de alocare se refer la modul de amplasare fizic a fragmentelor i replicilor
acestora n vederea deservirii optime a interogrilor i tranzaciilor sistemului distribuit;
Pentru fiecare sit avem o arhitectur ANSI-SPARC pe trei nivele:
schema de transformare reflect o armonizare de interese ntre fragmentele amplasate
conform schemei de alocare i vederile utilizatorilor bazei de date locale;
schema conceptual local este descrierea logic a bazei de date amplasate pe un
anumit sit;
schema intern local indic modalitatea de stocare a datelor locale (reprezentarea
fizic a bazei de date locale).

Figura 6. 2 O arhitectur de referin pentru un SGBDD9


Avem o singur baz de date cu o singur schem conceptual global. innd cont
de schema de fragmentare i de cea de alocare schema conceptual global este implementat
pe siturile sistemului distribuit. Fiecare sit prezint propria schem intern i conceptual,
precum i o schem de transformare local. Schemele externe sunt independente de SGBD
i asigur interfaa cu sistemul distribuit. Ele confer suport pentru sistemele federative,
despre care se va vorbi n subcapitolul Baze de date federative.

exemplu preluat din [Connolly et al. 2001], pagina 628

Sisteme de baze de date distribuite


Dup cum aminteam, arhitectura prezentat este una orientativ, de care se poate
sau nu, ine seama. n funcie de specificul sistemului distribuit, o serie de componente ale
acesteia pot fi ignorate.

1.6 Principiile lui C.J. Date referitoare la sistemele distribuite


Chris J. Date este autorul unor reguli10 care privesc ndeaproape sistemele
distribuite. El a formulat un set de fapt, ad-literam, sunt dou seturi, o duzin de astfel de
principii pe care sistemele distribuite trebuie sau ar trebui s le respecte. Acestea sunt
completate de un principiu fundamental, intitulat Principiul 0, Regula 0, sau Regula de
aur. n cele ce urmeaz le vom trece succint n revist.
Principiul fundamental al bazelor de date distribuite stipuleaz c pentru utilizator,
sistemul distribuit trebuie s arate am completa noi: i s se comporte la fel cu unul
nedistribuit. [Date 2005]
Aadar, indiferent dac utilizatorul dorete s acceseze sau s prelucreze date care
sunt stocate n situl X, Y sau Z, acesta s nu perceap faptul c de oriunde i-ar lansa cererile
s spunem situl A, B sau C sistemul se comport n acelai mod ca i cum datele ar fi fost
locale (de pe A, B sau C), deci s nu trdeze faptul c ele au fost chemate din situl X, Y sau
Z. Conceptul fundamental este succint, ns prea sumar pentru un domeniu att de complex
precum sistemele distribuite. De aceea, autorul se simte obligat s fac o detaliere a tuturor
aspectelor de ordin mai tehnic, pe care regula de aur le presupune. Acestea sunt:
autonomia local, absena unei dependene de un sit central, operarea continu,
independena de fragmentare11, independena de localizare, independena de replicare,
prelucrarea distribuit a interogrilor, gestionarea distribuit a tranzaciilor,
independena de hardware, independena de sistemul de operare, independena de
reea i independena de sistemul SGBD.

1.7 Procesarea i optimizarea cererilor


La nceputuri, s-a lucrat destul de mult la capitolul prelucrare interogri pentru
bazele de date relaionale, deoarece acestea ofereau o gam generoas de oportuniti de
optimizare. Limbajul de interogare putea s fie bazat att pe algebr relaional, ct i pe
calcul relaional. n cazul limbajelor pe calcul relaional era necesar o faz suplimentar de
translatare a interogrilor n algebra relaional. Acum ns, n contextul sistemelor
distribuite, aceast etap este nglobat direct n sistem. [Gardarin & Valduriez 1989]
Potrivit aceleiai lucrri, procesarea interogrilor presupune 4 etape importante:
Descompunerea interogrilor, Localizarea datelor, Optimizarea cererilor globale i
Optimizarea cererilor locale.
Primele trei etape sunt executate la nivel centralizat, pe cnd ultima la nivelul
siturilor locale. Descompunere a interogrilor, mpreun cu localizare datelor sunt
considerate ca fiind modaliti de abordare a optimizrii cererilor globale. Mai mult, se
introduce i o extensie a algebrei relaionale intitulat algebra relaiilor calificate, utilizat
n optimizare.
10
11

aa au fost intitulate de ctre Date n prima lucrare pe aceast tem


n lucrarea original aceasta este prezentat dup independena de localizare

Sisteme de baze de date distribuite

1.8 Gestiunea accesului concurent n medii distribuite


Gestiunea tranzaciilor acoper problema accesului concurent i refacerea
sistemului n caz de defeciuni. Materialul de fa nu-i propune trecerea n revist a
protocoalelor care se refer la cel de-al doilea aspect al gestiunii tranzaciilor.
Fa de mediul cu prelucrare distribuit, ntr-un sistem de baze de date distribuite
protocoalele de acces sunt mai complexe, lucru care va putea fi observat i n cele ce urmeaz.
ntr-un sistem centralizat subsistemul tranzacional al unui SGBD este format din:
administratorul de tranzacii, planificator, administratorul de refacere i
administratorul de buffere (memorie-tampon). Administratorul de tranzacii dirijeaz
execuia tranzaciilor. n funcie de caracteristicile tranzaciei, planificatorul va hotr ce
strategie de control a concurenei se va impune n aceast situaie. Aceast strategie trebuie
s maximizeze gradul de concuren, fr ns s cauzeze interferen cu alte tranzacii.
Administratorul de refacere intervine atunci cnd execuia a fost ntrerupt sau perturbat de
anumite incidente. Rolul su este de a repune n funciune sistemul i de a aduce baza de date
n cea mai apropiat stare de consisten posibil. Administratorul de buffere gestioneaz
memoria tampon aferent execuiei tranzaciilor i asigur transferul bidirecional ntre
memoria de lucru i dispozitivul fizic de stocare.
Toate aceste componente exist n cadrul fiecrui sit al unui sistem distribuit. Pe
lng acestea mai avem i cte un administrator de tranzacii global sau coordonator de
tranzacii responsabil cu execuia tranzaciilor globale sau locale iniiate de situl respectiv.
Comunicarea dintre situri se realizeaz prin intermediul componentei de comunicaii de
date, care nu este specific procesului tranzacional.
n sistemele distribuite un mecanism de control al concurenei trebuie s fie flexibil
la cderile pariale ale sistemului, s permit un grad nalt de paralelism al tranzaciilor n
condiiile meninerii integritii bazei de date, s genereze un trafic rezonabil al reelei i s
nu suprasolicite resursele sistemului. [Kohler 1981]
Controlul concurenei tranzaciilor n cazul unui sistem centralizat se refer la
evitarea urmtoarelor posibile anomalii ce caracterizeaz execuia simultan a unor tranzacii
ce reclam aceleai resurse: actualizarea pierdut, dependena nefinalizat i analiza
inconsistent. O metod de evitare a acestora este transformarea accesului concurent n acces
secvenial. O soluie cu aplicabilitate doar teoretic, ns totui de referin. Rezultatul
execuiilor seriale este reperul n controlul corectitudinii execuiilor paralele. Aadar, atunci
cnd exist posibilitatea interferrii a dou sau mai multe tranzacii, o planificare este
considerat o soluie bun din acest punct de vedere dac i numai dac rezultatul ei este
identic cu al unei planificri seriale. O astfel de planificare se numete serializabil.
Identificarea tuturor sau doar uneia din aceste planificri n momentul execuiei nu constituie
o soluie pragmatic rezonabil. De aceea se recomand utilizarea unor metode dovedite c
garanteaz planificri serializabile. n funcie de gradul de concuren al tranzaciilor dintrun sistem, de probabilitatea de apariie a interferenelor i de complexitatea i costul
implementrii anumitor strategii se pot aplica metode pesimiste, optimiste i mixte. [Sitar
2004-2], [Sitar 2004-3] i [Sitar 2005]
Pe lng anomaliile ce pot s intervin n cazul n care nu se aplic vreo metod
suplimentar de protecie, n mediul distribuit mai poate s apar problema incoerenei
copiilor multiple. Aceasta apare n special la bazele de date cu fragmente replicate total sau
parial, dar i atunci cnd e vorba de actualizarea dicionarelor sau cataloagelor.
Problematica tranzaciilor din cadrul unui sistem distribuit este ns mai complex.
i n sistemele distribuite, tranzaciile att cea global ct i cele locale trebuie s respecte

Sisteme de baze de date distribuite


proprietile ACID. Respectarea acestora se face cu sacrificii mai mari dect n cazul
sistemelor centralizate, aici existnd mult mai multe tentaii de eludare a lor. Cu ct ntr-un
sistem coexist n acelai moment mai multe tranzacii care i pot disputa aceleai date, cu
att gestiunea tranzaciilor devine mai complex. Tranzaciile globale, subtranzaciile
acestora i toate celelalte care ruleaz la un moment dat, trebuie s asigure transparena la
nivelul concurenei i a toleranei la defecte.
n sistemele distribuite controlul accesului concurent se poate face prin: blocare
(Protocolul 2PL centralizat, Protocolul 2PL de copie primar, Protocolul 2PL distribuit i
Protocolul de zvorre a majoritii) sau prin utilizarea mrcilor de timp.

1.9 Avantajele i dezavantajele sistemelor distribuite


Orice lucru are att avantaje ct i dezavantaje. O gndire raional se va orienta
evident spre acele lucruri ale cror avantaje sunt mai mari dac se poate chiar s surclaseze
dect dezavantajele. n general nu putem cuantifica raportul avantaje/dezavantaje la nivel
absolut. ntotdeauna n evaluarea calitilor sau defectelor se are n vedere un etalon. Putem
spune c un obiect este mai bun dect altul n funcie de un criteriu valabil n anumite
circumstane: loc, timp, cost, variante disponibile etc. n aceast categorie intr i sistemele
de baze de date distribuite, despre care ne permitem s afirmm c n general au mai multe
avantaje dect dezavantaje, rmnnd ns la latitudinea factorilor decizionali s stabileasc
dac un sistem distribuit i ce sistem distribuit ar fi soluia ideal pentru succesul afacerii
sale.
Autorii lucrrilor [Connolly et al. 2001] i [Gardarin & Valduriez 1989]
sintetizeaz avantajele i dezavantajele sistemelor distribuite. Dei cele dou materiale au
fost elaborate la un deceniu distan, problemele semnalate sunt n linii mari aceleai. Nu vor
lipsi nici opiniile autorului n legtur cu problematica abordat.
Avantajele se refer la urmtoarele aspecte:
Structura organizaional
Caracterul partajabil i autonomia local
Disponibilitate i fiabilitate crescute
Performane mbuntite
Dezvoltare modular
Economie.
Dezavantajele sistemelor distribuite sunt:
Complexitatea
Lipsa de standarde
Securitatea
Dificultatea controlului integritii i a concurenei
Lipsa de experien
Dificultatea de nlocuire sau schimbare.
Acestea sunt principalele beneficii i neajunsuri ale sistemelor de baze de date distribuite.

Sisteme de baze de date distribuite

1.10 Baze de date federative


1.10.1 Introducere
n ultimele decenii s-a manifestat o mod necesar am putea spune n ceea ce
privete sistemele de baze de date multiple, cunoscute n literatura de specialitate ca i
MultiDataBase Systems (MDBS).
Definiie: Sistemele de baze de date multiple reprezint un sistem de baze de date
distribuite n care fiecare sit pstreaz o autonomie total. [Connolly et al. 2001]
n general, rolul acestora este de a se interconecta logic mai multe sisteme de baze
de date n vederea atingerii unui el comun. Sistemele locale i pstreaz controlul complet
asupra bazei de date prin intermediul aplicaiilor existente. De aceea, sistemul global nu poate
aduce atingeri asupra structurii sau aplicaiilor care ruleaz local. Dialogul dintre cele dou
nivele se face prin intermediul unei interfee software i la nivelul datelor pe care situl local
consimte s le partajeze. Putem s avem sisteme de baze de date multiple n care nu avem
utilizatori locali. Acestea se numesc sisteme de baze multiple nefederative.
Principiul federalizrii, care s-a dovedit a fi un tipar comportamental att n cazul
organismelor biologice, dar i n comunitile de succes, poate fi de asemenea un curs firesc
de urmat i n cazul corporaiilor. Acesta presupune existena unor entiti mici care i pot
ndeplini autonom pe ct se poate cu putin sarcinile, fr a se abate att de la obiectivul
individual, ct i global de sporire a profitului i de micorare a costurilor. Dac principiul
federalizrii este acceptat ca un comportament strategic n viaa real, atunci de ce nu, i
structurile informatice ar putea fi supuse proiectrii conform aceluiai principiu. [Schmitt &
Saake 2005] Fiecare membru al federaiei este i va rmne independent att timp ct
activitatea lui urmrete i binele ntregii federaii. Ca principiu antreprenorial, federalismul
promoveaz expansiunea clar i difereniat a reelelor i proceselor corporatiste. Din
punctul de vedere structural i organizaional, sistemul federativ protejeaz mai micile entiti
mpotriva coloilor, fr a fi private de sprijinul de care au nevoie pentru desfurarea
activitii i paradoxal conferindu-le un nivel ridicat de libertate.
Necesitatea n continu cretere de cooperare ntre diferite entiti impune un acces
integrat la baze de date distribuite heterogene, dar autonome. Acesta trebuie s confere
imaginea unei singure baze de date i necesit interconectarea sistemelor de baze de date prin
intermediul unei reele de comunicaii i suprapunnd un nivel software deasupra sistemelor
de gestiune a bazelor de date n vederea susinerii comunicrii, s partajeze anumite date,
ns s pstreze autonomia de la nivelul local. [W3C FDMS Group] La nceputul anilor `90
integrarea diferitelor surse heterogene de informaii a devenit un important i interesant
domeniu de investigaie. Pn s se sedimenteze denumirea de sisteme federative, n
publicaiile acelor vremuri ele figurau fie ca next-generation gateways, data access
middleware, sau multi-database servers. Activitile din acest domeniu i-au propus
combinarea sistemelor informatice existente. Realizarea unei integrri iscusite va permite
accesul transparent la aceste sisteme heterogene.
Definiie: Un sistem de baze de date federative (FMDBS12) este o colecie de
sisteme de baze de date colaborative care sunt autonome i posibil heterogene. [Sheth &
Larson 1990]
[Buch 2002] i [Nukpe 2001] susin ideea c bazele de date federative reprezint
unificarea logic a unor baze de date distincte ce ruleaz pe servere independente, (n general
12

Federated MultiDataBase System

Sisteme de baze de date distribuite


descentralizate geografic) fr partajare de resurse i conectate prin intermediul unui LAN.
Reprezentnd un sistem transparent i integrat de metabaze de date, ele modeleaz universuri
similare sau complementare [Bouguettaya 1998]. Ct timp bazele de date rmn autonome,
federalizarea constituie o alternativ viabil n raport cu principiul centralizrii. [Wikipedia
BDF]
Cea mai sugestiv exemplificare a conceptului o reprezint nsui Internetul, care,
la rndul su, reprezint un sistem federativ de dimensiuni mari.
Un sistem de baze de date federative al unei agenii de turism interconecteaz
sistemele unor tipuri de instituii cu domenii de activitate diferite (hoteluri, agenii de turism,
sisteme de rezervare etc). Din necesitatea de ntmpinare a nevoilor clientului, sunt necesare
i comunicarea cu bncile ofert de instrumente comode de plat, acordarea la faa locului
a unor eventuale credite pentru excursii, i chiar pentru verificarea bonitii clientului sau a
situaiei ncasrilor, tranzacii bancare cu partenerii i cu societile de asigurri (asigurri
medicale pentru strintate sau ar, a mijloacelor de transport proprii i pentru punerea la
adpost fa de situaii neprevzute ce pot rezulta din activitatea pe care o presteaz). Este de
la sine neles c activitatea partenerilor va fi autonom, adic agenia nu va putea efectua
orice i pentru oricine tranzacii bancare sau s modifice salariul angajailor din hoteluri.
elul comun al federaiei este de maximizare a profiturilor individuale i deci i a celui
global, ctigarea de noi clieni, reducerea timpilor de desfurare a unor tranzacii obinuite
etc.
Un sistem federativ reprezint o mbinare ntre un sistem distribuit i unul
centralizat, adic un sistem distribuit pentru utilizatorii globali i unul centralizat pentru cei
locali. Nu aderm ntru totul la aceast accepiune pe motivul c utilizatorii sistemului local
ar putea fi tot att de bine utilizatori ai unui sistem distribuit, iar n al doilea rnd un sit nu
i-ar putea permite libertatea s-i condiioneze virtualului nod central ce date i va pune la
dispoziie, ce tranzacii sau ce interogri i d voie s lanseze. Un al treilea punct de vedere
ar fi c dac am avea de-a face cu o cdere a nodului central, activitatea sitului nu are de ce
s fie ntrerupt.

1.10.2 Caracteristicile sistemelor federative


Potrivit lui Flix Saltor, exist trei elemente eseniale care caracterizeaz sistemele
federative:
Autonomia. Fiecare baz de date a fost proiectat autonom i i pstreaz libertatea
de a-i modifica sau nu design-ul; este liber s decid ce date i cui le va partaja, precum i
modul de gestionare al interogrilor i tranzaciilor provenite din exterior; disponibilitatea
datelor rmne din nou la latitudinea siturilor. Aceste nivele de autonomie sunt descrise sub
denumirile de: autonomie de proiectare, autonomie de comunicare, autonomie de
execuie. Atunci cnd se atinge autonomia deplin vom referi sistemele de baze distribuite
doar ca sisteme de baze de date multiple [Kosch 2000];
Heterogenitatea. Se concretizeaz n diferene de hardware, sisteme de operare,
SGBD (heterogenitate de sistem); modele de date i limbaje i dialecte (heterogenitate
sintactic); diferene n ceea ce privete modul de percepere a realitii, diferene conceptuale
i de reprezentare n cadrul bazelor de date (heterogenitate semantic). Un sistem federativ
din cadrul unei organizaii poate avea nodurile formate din maini cu tehnologii diferite
avem laptop, maini Mac, server, mainframe, desktop, staii de lucru, calculatoare generice
sunt conectate la o reea local de calculatoare. Heterogenitatea este completat i la nivelul

Sisteme de baze de date distribuite


bazelor de date care interopereaz, avnd fiiere clasice, baze de date ierarhice, reea,
funcionale, relaionale, obiectuale i obiect-relaionale.
Distribuirea. Aici nu este vorba doar de o singur baz de date distribuit, ci i de
un numr de baze de date separate ce pot fi localizate n diferite noduri ale unui sistem
distribuit [Saltor 1995], [Nukpe 2001].
Caracterul heterogen al datelor provenite din varii surse reprezint o mare i
continu provocare adresat tehnicii, de mai bine de un deceniu. S lum drept exemplu
terminologia bancar. Fiecare banc i are propriile denumiri i caracteristici pentru
instrumentele de creditare. Privite la nivel internaional, nsemnele monetare i ratele de
schimb sunt de asemenea diferite. S nu uitm i faptul cnd n lumea financiar se constituie
acele consorii bancare, sau sunt tot mai dese prelurile sau absorbiile unor bnci de ctre
altele. Toate acestea sunt premisele necesitii unei comunicri mai de suprafa sau mai n
profunzime ntre acestea, fr ca heterogenitatea s devin o barier informaional.
Faetele heterogenitii din cadrul bazelor de date multiple sunt uneori categorisite
doar n heterogenitate fizic i heterogenitate semantic. [Litwin 1988] Prima dintre ele
se refer la diferenele n reprezentarea datelor: unele sunt reprezentate ca ntregi, numere
reale, iruri de caractere, date calendaristice, reprezentri n virgul fix mobil cu simpl
sau dubl precizie .a.m.d.; sisteme de gestiune a bazelor de date (Oracle, Access, Visual
Fox, Sysbase, Informix, SQL Server, Paradox etc.); limbajul de interogare; modelul de date
etc. Cel mai des utilizat soluie pentru dobndirea interoperabilitii este utilizarea
conexiunilor active la bazele de date (ODBC13). Acest standard se folosete pentru
omogenizarea bazelor de date relaionale, pentru toate SGBDR-urile importante existnd cte
un astfel de driver. Acum, o tabel sau interogare definit n Access poate fi vizualizat/rulat
fr probleme i n Oracle, Paradox, SQL Server etc. n aceste condiii utilizatorii pot s uite
c a existat heterogenitate fizic, atta vreme ct nu exist conflicte ntre versiunile de
drivere. n cazul unei diversiti mari de sisteme toate cele din familia IBM DB2, Oracle,
SQL Server, Sysbase, Informix, foi de lucru Excel, fiiere plate se poate folosi produsul
IBM DB2 Integrator, care le acoper pe toate acestea, n plus asigurnd acces i asupra
ODBC-urilor deja definite, servicii web i suport XML. Pentru browsere exist un standard
aflat deasupra ODBC-urilor clasice, i anume JDBC14. Acesta permite rularea interogrilor
direct din appletele Java. JDBC asigur suport att pentru paginile, tabelele, rapoartele sau
formularele n format HTML, ct i pentru cele n format XML.
Cel mai popular concept, atunci cnd se vorbete despre interconectarea bazelor de
date heterogene, este wrapper-ul, uneori fiind cunoscut i cu denumirea de mediator.
Wrapper-ele sunt nite adaptoare, nite straturi software intermediare ce transparentizeaz
diferitele nivele ale heterogenitii. Heterogenitatea fizic poate fi mprit n urmtoarele
subcategorii: heterogenitate de hardware, heterogenitatea sistemelor de operare,
heterogenitatea modelelor de date, heterogenitate de limbaje de interogare,
heterogenitatea limbajelor de programare.
Heterogenitatea semantic se refer la numele obiectelor, valorile pe care pot s le
ia datele i structura conceptual. Un exemplu, ce-i drept puin utopic, care ar putea s
dezvluie o parte din problemele heterogenitii semantice, ar fi interconectarea sistemelor
educaionale naionale ntr-o federaie internaional. Dac vrem s analizm doar sistemul
de evaluare al elevilor, studenilor, masteranzilor, doctoranzilor etc. am constata c i n
cadrul aceleiai regiuni geografice modalitile de evaluare sunt heterogene: note,
calificative, admis/respins, premii, titluri dobndite. Asta ca s nu mai vorbim de stelue,
13
14

Open DataBase Connectivity


Java DataBase Connectivity

Sisteme de baze de date distribuite


buline roii sau negre, porcuori etc. utilizate n primele etape ale stadiului didactic. Fr a
trece la detalii de subtilitate semantic, privitoare la calitatea nvmntului, cantitatea i
nivelul de dificultate a materiei predate, pentru a putea face o comparaie ntre un sistem sau
altul, ne lovim de bariera sistemului de notare. Putem s avem note de la 1 la 10 (Romnia),
n SUA avem A, B ..., n Ungaria i n fosta URSS aveam note de la 1 la 5. La fel i n
Germania, cu deosebire c 1 este nota cea mai bun. La fel, exist punctaje sau baremuri de
admitere. Pentru a se realiza o comparaie echitabil trebuie ca wrapper-ul s in cont de
aceste aspecte, precum i de multe altele, cum ar fi perioada de colarizare, vrsta minim de
colarizare etc. Aspectul semantic este foarte delicat, mai ales c n acest domeniu nu se pot
impune standarde.

1.10.3 Integrarea bazelor de date


Integrarea bazelor de date presupune un proces n urma cruia informaiile din
bazele de date participante pot fi nglobate ntr-o singur definiie coerent acceptat de un
sistem de baze de date federative. Este, de fapt procesul de constituire a schemei conceptuale
globale. Integrarea trebuie s se poat face ntre diferitele modele de date pe baza crora
bazele de date locale sunt constituite, fie c e vorba de cel relaional, ierarhic, reea, orientat
pe obiecte, sau obiectual-relaional.
Detalierea procesului de integrare a bazelor de date din cadrul unui sistem federativ
urmeaz n linii mari abordarea propus n materialul [Kosch 2000]. Integrarea bazelor de
date necesit parcurgerea a doi pai:
Translatarea schemei (sau pur i simplu translatarea), care nseamn translatarea
schemelor locale participante ntr-o reprezentare canonic intermediar comun. Aceasta
se refer la faptul c dac o baz de date local este reprezentat n modelul ierarhic, iar alta
n cel relaional, trebuie s se aleag o reprezentare comun. n cazul n care alegerea a fost
fcut n favoarea modelului relaional, atunci primului nod trebuie s-i fie aplicat
translatarea nspre modelul relaional;
Integrarea schemei se refer la aducerea tuturor modelelor canonice intermediare
ctre un model int, cel al schemei globale conceptuale.
Este recomandat ca ntreg procesul de integrare s fie asistat de ctre vreun
instrument software de integrare. Integrarea schemei conceptuale globale este o sarcin
primordial n proiectarea bazei de date federative, unde sistemele heterogene preexistente
necesit o integrare virtual prin furnizarea unei interfee omogenizate a bazei de date n
ansamblu. Cele mai frecvente metode de integrare sufer din cauza complexitii schemei
rezultate i din cauza gestionrii tardive a redundanelor din bazele de date. Nedetectarea din
timp a acestora poate conduce la pierderea controlului asupra sistemului.

1.10.4 Concluzii privind sistemele federative


Aadar, federalismul este un principiu structural i organizaional a crui
componente de baz, independente i autonome i unesc forele pentru a forma o structur
bine nchegat de nivel mai nalt care s combine ntr-o anumit proporie uniformitatea cu
diversitatea indispensabile asigurrii succesului organizaiei. [Schmitt & Saake 2005]
De mult vreme informaia este considerat un factor-cheie n industrie (i nu
numai), ea devenind necesar i pentru stabilirea relaiilor ntre sursele i serviciile deja
existente (de exemplu, pentru cuplarea sectorului administrativ cu cel de producie, ambele

Sisteme de baze de date distribuite


avnd deja baze de date). [W3C IDC #22542] Multe organizaii sunt nevoite s
interacioneze cu baze de date distribuite, preexistente, heterogene i autonome. Ele trebuie
s gseasc soluii care s fac posibil expansiunea bazelor de date i s promoveze
partajarea datelor ntre utilizatori i aplicaii, fr eforturi prea mari de implementare. Acest
lucru presupune o tehnologie ce furnizeaz o integrare selectiv, dar totui controlat a unor
astfel de baze de date. Bazele de date federative sunt capabile s ofere diferite nivele de
integrare, cu implicaii diverse asupra gradului de control n condiiile conservrii autonomiei
bazelor de date individuale. [Sheth 1991]
Ideea federalizrii a prins bine publicului, indiferent c este vorba de comunitatea
academic, de firme dezvoltatoare de tehnologii IT, sau de grupuri economice. Sistemele de
baze de date distribuite sunt de dorit, ns aria lor de aplicabilitate este relativ redus n
comparaie cu sistemele federative. Atunci cnd pornim o afacere mare care presupune o
serie de departamente, birouri, filiale, puncte de lucru dispersate geografic, ne vom construi
cu siguran un sistem distribuit. Pe parcurs ns, atunci cnd afacerea ta se ngemneaz cu
o serie de teri i i diversific domeniul de activitate, nu ne vom mai permite s reproiectm
din temelii sistemul informatic sau s-l actualizm n consecin, n baza concepiei iniiale.
Reproiectarea unui sistem de baze de date distribuite necesit n afar de resurse financiare
importante i o perioad destul de ndelungat de implementare. Cum lumea afacerilor se
mic i se schimb extrem de rapid, trebuie s gsim o soluie nu doar mai ieftin, ct mai
ales puin consumatoare de timp de implementare. Cu att mai mult cu ct relaiile cu unii
teri sunt sporadice i ntotdeauna se va ivi unul nou fa de care nu vom avea niciun interes
de a realiza o colaborare att de profund nct s necesite dezvoltarea unui sistem de baze
de date mpreun. n astfel de situaii soluia ideal este cea de construire a unui sistem
federativ peste sistemul nostru i cel al partenerilor de afaceri. Acest lucru nu va afecta
autonomia niciunuia dintre noi, fiecare avnd propria afacere, de cele mai multe cazuri chiar
total n domenii diferite. Aceeai abordare se impune i atunci cnd fuzionm cu alte
companii sau le prelum.
Bazele de date federative reprezint de multe ori suportul i pentru alte tehnologii,
precum depozitele, data mart-urile sau pieele de date, sisteme OLAP i OLTP, data mining,
baze de date multimedia, baze de date documentare, baze de date statistice etc. Ele pot fi
aplicate n orice domeniu de activitate, chiar i n cazul bibliotecilor on-line, sisteme GIS
(Geo-Information System) [Tuladhar 2005], afacerilor pe Internet15, fie c vorba de simple
achiziii de bunuri sau de instrumente bancare, asigurri, marketing i multe altele.

1.11 Depozite de date


Derularea fenomenului economic asistat de calculator n cadrul organizaiilor a
condus la acumularea unor cantiti din ce n ce mai mari de date. Unele companii au
considerat c meninerea datelor arhaice constituie nici mai mult nici mai puin dect un
balast pentru derularea n bune condiii a activitii economice, pe motivul c o baz de date
supradimensionat cauzeaz deficiene n exploatare. Aceast afirmaie este adevrat n
condiiile n care rata de nnoire a sistemelor de calcul i a celor informaionale este una lent.
O alt categorie de firme a neles c nnoirea instrumentelor de susinere a activitii este
necesar. Odat cu acestea, dimensiunea bazei de date nu mai reprezenta o povar. Aa c,
mai mult sau mai puin intenionat s-au creat premisele constituirii unui depozit de date. Cei
15

pentru detalii se poate consulta referina [Sitar & Sitar 2001]

Sisteme de baze de date distribuite


care au neles c o analiz a datelor mai vechi este o cale spre succesul afacerii au ctigat o
lupt mut, dar important, cu concurena ignorant. nvarea din greelile trecutului prin
nerepetarea lor, precum i descoperirea unor abloane comportamentale care garanteaz
succesul constituie un avantaj.
Definiie: Depozitele de date (DW16) sunt colecii de date nevolatile, orientate spre
subiect, integrate, variabile n timp care sprijin managementul firmei n procedeul de luare
a deciziilor. [Inmon 1996]
Spunem c datele sunt nevolatile deoarece ale sunt reactualizate sporadic i
meninute n baza de date. Rareori avem de-a face cu actualizri de coninut, depozitele
bazndu-se pe inserri. Orientarea spre subiect se refer la faptul c depozitul graviteaz n
jurul subiectelor unei organizaii clieni, produse, vnzri i nu nspre domenii de
aplicaie (facturare, aprovizionare, desfacere etc.). Integrarea presupune nmagazinarea n
acelai loc, ntr-o form unitar i coerent a datelor provenite de la diverse subiecte sau
activiti. Variabilitatea n timp se refer la caracterul permanent dinamic al coninutului
bazei de date, lucru ce confer o instabilitate n timp a coninutului, neputnd afirma c ntre
dou momente de timp mai ndeprtate nu s-a ntmplat nimic semnificativ. [Connolly et al.
2001]
[Singh 1997] sintetizeaz diferenele i asemnrile dintre sistemele de
nmagazinare a datelor i cele de prelucrare on-line a tranzaciilor (OLTP17):
Sisteme de nmagazinare a datelor
Pstreaz date istorice
Stocheaz date detaliate, rezumate pe diferite
nivele
Datele sunt n general statice
Prelucrare ad-hoc, nestructurat, euristic

Sisteme OLTP
Pstreaz date curente
Stocheaz date detaliate
Datele sunt dinamice
Prelucrare cu grad ridicat de
repetitivitate
Nivel nalt de transfer al tranzaciilor

Nivel mediu sau sczut de transfer al


tranzaciilor
Tipar de utilizare imprevizibil
Tipar de utilizare previzibil
Conduse prin analiz
Conduse prin tranzacii
Orientare spre subiect
Orientare spre aplicaii
Suport pentru decizii strategice
Suport pentru decizii de zi cu zi
Deservesc un numr relativ mic de utilizatori din Deservesc un numr mare
administraie
utilizatori obinuii
Figura 6.3 Comparaie ntre sistemele de nmagazinare i cele OLTP

de

Un aspect deosebit de important este acordat memorrii i gestionrii metadatelor,


adic a datelor despre date. Rolul metadatelor este unul foarte nsemnat. Cu ajutorul datelor
putem s studiem proveniena i chiar ntreaga istorie a unui articol. Astfel putem afla
compartimentul de la care provine, data intrrii n depozit, modificrile suferite pn n
prezent, att valorice, ct i structurale etc.
Un depozit de date este reprezentat din structuri de date ce sunt optimizate n vederea
distribuirii lor n cadrul unei reele de calculatoare. Acesta colecteaz i nmagazineaz seturi
de date istorice din multiple sisteme operaionale, alimentnd ntre timp i una sau mai multe

16
17

Data Warehouse
On-Line Transaction Processing

Sisteme de baze de date distribuite


piee de date [W3C ODC]. Nu subscriem ntru totul la aceast ipotez deoarece modalitile
de elaborare a unui depozit pot s difere de modalitatea expus anterior.
Definiie: Pieele de date (DM18) sunt submulimi ale depozitelor de date,
particularizate n vederea ndeplinirii nevoilor unui departament sau care acoper un subiect.
[Inmon 1996]
Pieele de date sunt depozite de date cu caracter mai specific, care conin date
sumarizate ntr-o anumit msur, putnd astfel s rspund unor probleme formulate de
utilizatorii unui domeniu.
Att pentru realizarea unui depozit de date, ct i pentru exploatare acestuia, un
sistem relaional trebuie s ndeplineasc o serie de cerine referitoare la: performanele de
ncrcare, prelucrarea ncrcrii, administrarea calitii datelor, performanele interogrilor,
scalabilitatea la nivel de teraoctei sau chiar superioare, scalabilitatea la nivelul masei de
utilizatori, distribuirea depozitului n reea, administrarea depozitului de date, analiza
dimensional integrat, funcionalitatea interogrilor avansate. [Connolly et al. 2001] i
sistemele SGBDOO ar putea furniza rezultate bune.
Beneficiile nmagazinrii datelor sunt: o potenial rat ridicat de ntoarcere a
investiiilor, avantajul competitiv pe care-l pot oferi i sporirea productivitii organelor
decizionale. Dezavantajele sunt: subestimarea resurselor necesare pentru ncrcarea datelor,
probleme ascunse ale sistemului surs, euarea capturrii unor date, cerine sporite din partea
utilizatorului final, uniformizarea datelor, cerine mai mult dect modeste privind resursele,
proprietatea asupra datelor, gradul nalt de ntreinere, iniierea unor proiecte de lung durat
i complexitatea integrrii.
nmagazinarea datelor, prin intermediul creia volume imense de date sunt extrase,
n general prin intermediul unui proces batch, este un domeniu care dateaz de trei decenii.
Ea este susinut de tehnologii precum bazele de date distribuite, baze de date
federative, tehnologii Web etc. i constituie un suport solid pentru instrumentele de raportare
i interogare, dezvoltare de aplicaii, sisteme EIS19, OLAP, data mining i altele.

1.12 Elemente privind prelucrarea analitic i de extragere a


datelor legate de baze de date distribuite i federative
1.12.1 Introducere
Procesul de nmagazinare al datelor nu trebuie privit ca o obligaie sau mod. n
aceste condiii informaia strns cu atta rvn reprezint o povar mai mult chiar, una
scump pentru organizaie. Informaia reprezint cel mai de pre lucru pentru procesul
decizional. n anii 80, n SUA s-a estimat c aproximativ 70% din timpul de lucru al
angajailor este destinat procurrii, utilizrii sau difuzrii de informaie. Constituirea
depozitelor de date trebuie s se fac pentru progresul companiei ntr-o manier care s
permit ctigarea unui avantaj competitiv.
Acumularea unui volum din ce n ce mai mare de date i stocarea pe un singur sistem
de calcul este o ipotez de neconceput. n primul rnd, chiar i cu explozia tehnologic din
ultima vreme, este greu de neles c ar putea exista o unitate de stocare care s nmagazineze
experiena de zeci de ani a unei companii de dimensiuni mai mari, cu activitate frecvent i
18

19

Data Mart
Executive Information System

Sisteme de baze de date distribuite


complex. Un alt motiv ar fi c riscul memorrii datelor ntr-un singur loc ar fi prea mare, o
defeciune minor putnd s pun capt unei activiti care dateaz de decenii. Mai mult, fr
existena unor copii de siguran orice atac informatic, act de sabotaj sau calamitate natural
ar fi fatal. Aadar, chiar dac volumul de date este imens, valoarea datelor necesit replicare.
Abordarea cu o baz de date local sau central ar genera regsiri mari consumatoare de timp
datorate dimensiunii mari a bazei de date i a operailor de arhivare/dezarhivare, i totodat
ar limita numrul utilizatorilor care s efectueze operaii concurente.

1.12.2 Instrumentele OLAP


Dup cum am vzut n subcapitolul anterior, bazele de date ale organizaiilor sunt
ntr-o continu cretere. Pentru a face fa nu numai operaiunilor de constituire a acestor
volume de date, ci i de exploatare viitoare trebuie s fim preocupai att de instrumentele
hardware, ct i de cele software. La volume imense de date de complexitate din ce n ce mai
mare anumite produse evident i sistemele relaionale dau bti de cap atunci cnd se
doresc rspunsuri prompte.
Aplicaiile din domeniul afacerilor, precum analiza pieei sau prognoza financiar,
se bazeaz pe scheme de baze de date orientate spre interogri. Acestea trebuie s confere o
imagine multidimensional, uor de interpretat i ct mai natural reprezentat. Aplicaiile de
acest gen au ca scop regsirea unui numr mare de nregistrri dintr-un imens bagaj de date
i posibilitatea de sumarizare din mers a acestora. Suportul pentru acest gen de operaii este
furnizat de ctre instrumentele OLAP. Termenul OLAP a fost inventat de E.F. Codd n
1993.
Definiie: Prelucrarea analitic on-line reprezint sinteza, analiza i consolidarea
dinamic a unor volume vaste de date multidimensionale. [Connolly et al. 2001]
OLAP este o tehnologie ce suport faciliti analitice asupra uneia sau mai multor
surse de date. n general, sistemele OLAP implic analiza datelor ce-i au originea n baze
de date tradiionale, dar au fost ulterior transformate n structuri multidimensionale pentru o
vizualizare i o analiz mai facil. De aceea, majoritatea instrumentelor OLAP au ca
platform sistemele de gestiune a bazelor de date multidimensionale (MDDBMS20), interfaa
cu utilizatorul fiind personalizat
Instrumente OLAP multidimensionale sunt cele mai intuitive, mai fiabile, dar i cele
mai costisitoare material instrumente de prelucrare analitic. Sunt cunoscute n literatura de
specialitate sub acronimul MOLAP21. Ele sunt destinate n rezolvarea unor interogri care
furnizeaz rspunsuri multiple, facilitnd utilizatorului capacitatea de analiz, sintez i
comparaie. Atunci cnd vrem s aflm care sunt mediile generale ale studenilor facultii
pe ani de studiu, semestriale i anuale, pe specialiti n vederea comparrii rezultatelor cu
situaiile din anii precedeni, cel mai bine e s apelm la baze de date multidimensionale.
Ulterior putem s facem comparaii cu rezultatele obinute de facultile de profil din ar, de
stat sau particulare, n cadrul crora ntlnim secii similare. Sau, putem s agregm
rezultatele n vederea crerii premiselor de comparabilitate pe o anumit perioad a
rezultatelor cu celelalte faculti ale universitii. Dac interogarea trebuie s returneze doar
rezultate simple: Care este media general a studenilor de la secia de Informatic
economic, anul 3 de studiu pe semestrul nti al anului curent?, atunci nu se impune
utilizarea bazelor de date multidimensionale. Pentru aceste tipuri de interogri se pot folosi
20
21

Multi-Dimensional DataBase Management System


Multidimensional OLAP

Sisteme de baze de date distribuite


baze de date relaionale. Totui, bazele de date relaionale nu fac fa cu succes unor volume
de date mari. Dup [Connolly et al. 2001], un sistem relaional obinuit poate efectua
prelucrarea a ctorva sute de nregistrri pe secund, n timp ce unul multidimensional tipic
efectueaz mai mult de 10.000 de grupri pe secund. Astfel, la dimensiuni mari ale bazei de
date, pentru sistemele relaionale componenta On-Line a instrumentelor OLAP i va
pierde semnificaia.
n cadrul sistemelor multidimensionale, reprezentarea intuitiv a datelor se face prin
intermediul cuburilor de date. Atunci cnd numrul de dimensiuni devine mai mare de 3,
avem de-a face cu cuburi n-dimensionale, sau simplu: hipercuburi. Reprezentarea intuitiv a
acestora va fi ns prea dificil de realizat. Cuburile de date sunt uor de extins pentru noi
dimensiuni. Navigarea prin intermediul cuburilor este facil.
Instrumente ROLAP22 au cunoscut cea mai puternic cretere dintre toate
instrumentele OLAP. Pentru a se conforma regulilor instrumentelor OLAP, tehnologia
ROLAP solicit definirea unui strat de metadate care i confer o imagine multidimensional
dinamic.

1.12.3 Data mining


Am construit depozite de date. Se pune ntrebarea fireasc: Acum ce facem cu
ele?. Neutilizarea potenialului oferit de ctre bazele de date de dimensiuni mari reprezint
o cale sigur spre eecul afacerii. ns, utilizarea acelor informaii pentru ceva mai mult dect
urmrirea istoricului afacerii, ncepe s aib sens ntr-un mediu de afaceri concurenial
raional. Am vzut c instrumentele OLAP ne ofer informaii pe care interogrile simple ale
bazelor de date nu le relev. Totui noi intim mult mai sus dect a crea analize i comparaii
multicriteriale.
Posibilitatea de a oferi consumatorilor acele tehnologii care le vor permite s
interogheze eficient bazele de date i s extrag efectiv surse de informaii va deveni un factor
determinant n alegerea tehnologiei noastre n raport cu cea a concurenei. Mineritul datelor
reprezint un imens potenial pentru tehnologia bazelor de date, precum i un instrument
profitabil n lumea modern a afacerilor.
Definiie: Extragerea datelor reprezint descoperirea automat a unor tipare
netriviale, anterior necunoscute i potenial folositoare, bine nrdcinate n bazele de date
[W3C Koundourakis].
Data mining, extragerea de cunotine sau mineritul datelor, const ntr-o analiz
automat a datelor electronice structurate, precum n cadrul unui depozit de date, cu intenia
de a descoperi tipare anterior necunoscute i relaii dintre date [W3C ODC] pentru a putea fi
folosite n adoptarea unor decizii importante necesare eficientizrii activitii economice.
Extragerea datelor difer fa de instrumentele OLAP i alte forme de analiz a
datelor conduse prin interogri, prin aceea c abloanele sau tiparele comportamentale sunt
determinate de ctre sistem prin utilizarea unor algoritmi statistici, astfel nct s se dezvluie
relaii pentru care utilizatorul nu este capabil s dezvolte interogri.
Clasificarea i descoperirea regulilor de asociere sunt dou componente ale
extragerii cunotinelor ce pot sprijini marketingul de exemplu, procesul de luare a deciziilor
i conducerea afacerilor [W3C Meadowcroft].
Extragerea datelor poate furniza avantaje importante organizaiilor care au deja
propriile lor depozite de date. Chiar dac mineritul este un domeniu relativ nou al tehnologiei
22

Relational OLAP

Sisteme de baze de date distribuite


bazelor de date, procesul de data mining este deja aplicat cu succes n diferite domenii, printre
care i cele exemplificate mai jos.
Comerul cu amnuntul/marketing
Identificarea tiparelor de cumprare ale clienilor
Gsirea de asociaii ntre caracteristicele demografice ale clienilor
Previziunea rspunsurilor la campaniile prin pot sau publicitate prin media
Analiza courilor de pia
Domeniul bancar
Detectarea tiparelor de utilizare frauduloas a crilor de credit
Identificarea clienilor loiali
Previziunea privind clienii care este probabil s-i schimbe afilierea crilor de
credit
Identificarea ablonului solicitantului de credite i particularizarea ofertei
Determinarea cheltuielilor din crile de credit pentru grupuri de utilizatori
Asigurri
Analiza solicitrilor
Previziunea clienilor care vor cumpra polie noi
Determinarea comportamentului fraudulos
Medicin
Caracterizarea comportamentului pacienilor pentru prognoza consultaiilor
chirurgicale
Identificarea terapiilor de succes pentru diverse boli
Stabilirea listelor de medicamente compensate
Connolly prezint principalele operaii de extragere a datelor. Acestea sunt:
Modelarea predictiv, Segmentarea bazei de date, Analiza legturilor i
Detectarea deviaiilor.
Toate cele 4 operaii expuse contribuie la procesul de data mining. n general se
poate folosi oricare dintre ele, sau asocieri de mai multe operaii. Totui, prin studiul
comportamentelor s-a constatat c anumite operaii dau rezultate mai bune n anumite
domenii. Spre exemplu, stabilirea profilului clientului este abordat prin segmentarea bazei
de date, apoi se aplic modelarea predictiv.

1.12.4 Concluzii privind prelucrarea analitic i extragerea datelor


Modelele de baze de date relaionale i multidimensionale deservesc multor scopuri.
Astfel, n timp ce primele se preteaz la operaii de citire-scriere, tranzacii, activiti cu
volum ridicat, celelalte se potrivesc pentru activiti de volum sczut, interogri complexe i
care se ntind peste cantiti enorme de date ce pot fi procesate simultan. n timp ce bazele de
date relaionale se bazeaz ca limbaj de interogare pe SQL, sistemele MOLAP nu au nc un
limbaj stabilit de comun acord. [W3C ODC]
Mineritul datelor reprezint descoperire automat a inteligenei din date brute
stocate pe diferite sisteme de calcul. Acest instrument este folosit pentru detectarea
comportamentului fraudulos n utilizarea crilor de credit sau a cartelelor telefonice,
solicitrilor de despgubire suspecte, determinarea tiparelor de clieni, segmentarea
categoriilor de clieni etc. innd cont de realitatea existenei datelor murdare n cadrul bazei
de date, instrumentele de data mining trebuie s fie foarte precaute. Tolerana la erori poate

Sisteme de baze de date distribuite


constitui un criteriu important n selectarea algoritmilor utilizai la extragerea datelor. Pn
nu demult, algoritmii de data mining se mulumeau s descopere tipare i tendine anterior
necunoscute, dar de mas. Noua generaie de algoritmi este preocupat i de descoperirea
unor comportamente i tendine excepionale, mai ales n condiiile actuale cnd se urmresc
riscurile de securitate, suspectarea posibililor teroriti, transferuri suspecte de fonduri etc.
Aadar, noii algoritmi trebuie s fie nzestrai cu capaciti de reele neuronale, astfel nct s
poat fi antrenai i n condiiile anterior amintite: date murdare, respectiv comportamente
excepionale. Fr a se ine cont i de astfel de considerente, n ziua de azi, astfel de
instrumente nu pot fi considerate a fi cu un grad nalt de fidelitate. [Kim 2002]
Ambele tehnologii se aplic asupra unor depozite sau piee de date. Cu ct
dimensiunea bazei de date relev mai multe tipuri de evenimente, experiena (volumul de
date i perioada de nmagazinare) este mai bogat, iar datele sunt ct mai curate, cu att gradul
de ncredere al rezultatelor obinute este mai mare. Acurateea acestuia permite extrapolri
de calitate. Orict de evaluate ar fi mijloacele moderne de stocare sau arhivare a datelor, nu
putem s concepem existena domeniilor de prelucrare analitic on-line i de descoperire a
cunotinelor, n absena unui mediu distribuit cu grad de heterogenitate variabil i cu sfer
de ntindere ct mai mare.

1.13 Bazele de date i Internetul


Dup cum ziceam ceva mai devreme, Internetul este cel mai vast sistem de baze de
date federative. De fapt, Internetul reprezint o reea mondial de calculatoare interconectate,
n timp ce prin termenul Web desemnm coninutul, adic nsi baza de date federativ.
Interesant asocierea, atta timp ct reeaua Internet a aprut i s-a dezvoltat exploziv fr s
aib legturi prea mari cu ceea ce reprezint bazele de date sau cu sistemele lor de gestiune.
Informaiile sunt fcute publice prin intermediul paginilor web, care reprezint o
colecie organizat de informaii textuale, imagini, sunete, video, n general integrat cu
ajutorul limbajului HTML. Paginile Web pot comunica cu alte pagini web datorit
hiperlegturilor pe care le conin. n Internet siturile comunic unele cu celelalte prin
interaciunea clienilor cu serverele.
Integrarea tehnologiei bazelor de date cu tehnologiile web este unul din paii
importani pe care i-a fcut tehnologia modern. Paginile sunt acum mai atractive, mai
dinamice i mai uor de administrat. Se reduce foarte mult redundana, chiar dac din
punctul de vedere al stocrii unui numr enorm de fiiere HTML, accesarea unei astfel de
pagini se face mai rapid dect prin interogarea unei baze de date.
Exist diverse modaliti de integrare a celor dou tehnologii, ns niciuna dintre ele
nu este unanim acceptat pentru rezolvarea problemelor de integrare. Mai mult, datorit
caracteristicilor protocolului HTTP nc nu se poate garanta o calitate i o securitate deplin
a mediului Internet. Serviciile oferite prin platforma web sunt destul de lente. Viitorul va
asigura ns soluii mai fiabile.
Apariia limbajului XML este un pas revoluionar n integrarea Web-SGBD.
Considerm c ntre domeniul bazelor de date distribuite i cel al tehnologiei Web va exista
o colaborare de lung durat. Anumite detalii ale acestei simbioze vor fi prezentate n
capitolele urmtoare.

Sisteme de baze de date distribuite

1.14 Conceptul de Big Data


1.14.1 Introducere
n ultimii ani, tot mai mult lume interacioneaz cu datele prin intermediul
dispozitivelor mobile inteligente, reelelor de socializare, n general al internetului. Zilnic,
2,5 EB (Exabytes, catralioane, 1018 octei) sunt create la nivel mondial. n raport cu tendinele
ultimilor ani, se poate afirma c 90% din totalul datelor existente apar n ultimii 2 ani, iar
procesul este n dinamic [IBM BigData]. Volume din ce n ce mai mari se acumuleaz mai
ales automat datorit serviciilor GPRS,23 sau mai nou 4G, a unei largi varieti de senzori,
sisteme de monitorizare, climaterice, date geospaiale, reele de socializare, servicii email sau
partajare diverse tipuri de media etc. Astfel, datele din jurul nostru au cunoscut creteri
exponeniale, ajungndu-se la nivelul anului 2012 ca Exabytes de date, s poat fi totui
procesate n parametri rezonabili de timp [Francis 2012]. Aceste colecii de date, stocate i
prelucrabile n vederea desfurrii n bune condiii a activitii, oferire de servicii n limita
termenilor agreai fa de terii implicai i a extragerii de informaii utile pentru organizaie,
poart termenul generic de Big Data.
Tot mai des, atunci cnd vorbim de Big Data, se remarc urmtoarele 4 caracteristici
cunoscute generic ca 4V 3 considerate de [Zikopoulos & Eaton 2011], n timp ce unii autori
constat c numrul declarat de 4 este exagerat, cnd de fapt poate fi surprins i cu doar dou
caracteristici [W3-Villa], dar mai cuprinztoare.
Volum: Datele ncearc s surprind ct mai fidel realitatea, de aceea trebuie s fie
mai detaliate, complexe, presupunnd un volum ridicat de atribute. De asemenea,
fenomenele repetitive necesit un volum ct mai mare de instane. Chiar dac
ambele caracteristici fac apel la volum, nu nseamn neaprat c orice date care
satisfac una sau chiar ambele valene privitoare la volum, pot fi asociate cu
conceptul de Big Data. S urmrim i celelalte caracteristici;
Vitez: datele cresc ca volum cu o vitez foarte mare. Viteza se refer nu att la rata
de cretere a volumului de date, ci la viteza cu care instrumentele sunt capabile s
proceseze aceste date, pentru a le putea face disponibile beneficiarilor, ntr-un timp
ncadrabil n limita parametrilor de calitate;
Varietate: Datele pot proveni din diverse surse i pot avea formate i tipuri multiple:
text, numere, date calendaristice, imagini, secvene de voce sau video etc., semi- dar
de cele mai multe ori nestructurate.
Veracitate (sau Valoare): O mic parte din volumul de date este utilizabil n
procesul decizional, ns aceste date luate individual nu au nicio relevan fr
aportul celorlalte. Aceast caracteristic se refer la veridicitatea datelor,
consisten, integritate i ncredere n ele.
Pentru a putea fi catalogate Big Data, coleciile de date trebuie s satisfac toate
caracteristicile menionate anterior.

23

General Packet Radio Service, un serviciu mobil de date orientat pe pachete n cadrul
sistemelor de comunicaii mobile

Sisteme de baze de date distribuite

1.14.2 Bazele de date NoSQL


Istoric
Termenul NoSQL este folosit pentru prima dat n 1998 i se refer la acele baze de date
relaionale ce nu folosesc SQL [Str10]. n 2009, Jon Oskarsson consfinete termenul n
cadrul unei conferine din San Francisco, iniiat de ctre susintorii teoriei bazelor de date
nerelaionale, fiind mai apoi mediatizat de blogger-ul Eric Evans [Evans 2009].
De acum, folosim denumiri precum NoSQL sau NOSQL (Not Only SQL).
Bazele de date NoSQL nu au schem i nu stocheaz date relaionale. Ele ridic problematici
importante, legate de consisten, durabilitate/persisten i gestiunea versiunilor.
La ora actual exist urmtoarele categorii de baze de date NoSQL:
Key-/Value-stores cel mai simplu model pentru date nestructurate. Foarte eficient
i flexibil. Dezavantaj: datele nu conin descrierea lor
Document databases pentru depozite XML i obiecte care se autodescriu.
Stocarea n acest caz este foarte ineficient. n aceast categorie ntlnim subtipurile
urmtoare:
Baze de date relaionale cu faciliti XML: CLOB, XML mprit n mai
multe tabele n funcie de schema; SGBDR-uri care accept tipul ISO XML
(Ex. IBM DB2, Microsoft SQL Server, Access, Oracle Database,
PostgreSQL)
Baze de date XML native.
Column-Oriented Databases (Baze de date pe coloane) model foarte bun folosit
n cadrul depozitelor de date pentru date rarefiate. Putem avea coloane grupate i
agregate.
Graf [Oracle 2012] un model relativ nou, bun pentru parcurgerea relaiilor, dar nu
pentru cutri generale.
Materialul de fa nu i propune detalierea altor aspecte privitoare la bazele de date NoSQL.

1.15 ntrebri recapitulative


1. Ce este o baz de date distribuit?
2. Care sunt elementele care caracterizeaz sistemele distribuite i la care fac referire n
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.

general definiiile?
Ce este un SGBDD?
Ce se nelege prin fragmentarea bazelor de date i de cte tipuri este aceasta?
Care sunt argumentele n favoarea fragmentrii?
Ce reguli stau la baza fragmentrii?
Descriei fragmentarea orizontal. Exemplificai.
Ce sunt predicatele minterm?
Descriei fragmentarea vertical. Exemplificai.
Descriei fragmentarea mixt. Exemplificai.
Ce este fragmentarea derivat
Cnd se utilizeaz relaiile nefragmentate?
Ce este replicarea?
Care sunt nivelele de replicare pe care le cunoatei?

Sisteme de baze de date distribuite

15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.

Ce este alocarea i ce metode de alocare cunoatei?


Desenai i descriei arhitectura de referin a sistemelor distribuite.
Enumerai principiile lui Date referitoare la sistemele distribuite.
Care sunt etapele de procesare a cererilor ntr-un sistem distribuit?
Dai exemple de protocoale de gestiune a accesului concurent ntr-un mediu distribuit.
Care sunt avantajele i dezavantajele sistemelor distribuite?
Ce este un sistem de baze de date federative? Dai exemple de situaii la care acestea se
preteaz.
Ce sunt sistemele nefederative?
Care sunt caracteristicile sistemelor federative?
Ce este wrapper-ul?
Ce este heterogenitatea semantic? Exemplificai.
Ce sunt depozitele de date?
Ce reprezint pieele de date?
Ce operaiuni presupune nmagazinarea datelor?
Ce este OLAP?
Ce sunt cuburile de date?
Ce este datamining-ul?
n ce domenii se poate aplica mineritul datelor?
Care sunt principalele operaii de extragere a datelor?
Comentai integrarea bazelor de date.
Care sunt caracteristicile Big Data?
Menionai pe scurt tipurile de baze de date NoSQL.

Bibliografie
[Abiteboul96] Aniteboul S., Hull R., Vianu V., Foundations of Databases, Addison-Wesley,
1996.
[Booch94] Booch G., Object Oriented Analysis and Design, ediia 2-a, Benjamin Cummings,
1994.
[Bouguettaya 1998] Bouguettaya A., Bentallah B., Elmagarmid A., Interconnecting
Heterogeneous Information Systems, Kluwer Academic Publishers, 1998
[Codd1970]E.F.Codd, A Relation Model of Data for Large Shared Data Banks,
Comunication of ACM, 13, 6, 1970, p.377-387;
[ConnollyBeggStrachan2001] T. Connolly, C. Begg, A. Strachan, Baze de date proiectare,
implementare, gestionare, Editura Teora, 2001;
[Date04] Date C.J., An Introduction to Data Bases, vol I i II, Addison-Wesley, 2004; Baze
de date Teora, 2005 E+.
[Dollinger98] Robert Dollinger, Baze de date i gestiunea tranzaciilor, Ed. Albastr, ClujNapoca, 1998, pag.30.
[Evans 2009] Eric Evans, NOSQL 2009. May 2009. Blog post of 2009-05-12.
http://blog.sym-link.com/2009/05/12/nosql_2009.html

Sisteme de baze de date distribuite


[Francis 2012] Matthew Francis, Future telescope array drives development of exabyte
processing. Future Square Kilometer Array telescopes will need new computing technology,
2012, http://arstechnica.com/science/2012/04/future-telescope-array-drives-developmentof-exabyte-processing/
[Gardarin & Valduriez 1989] Gardarin Georges, Valduriez Patrick, Relational Databases
and Knowledge Base, Addison-Wesley, 1989
[Gardarin86] Gardarin G., Bases de Donnees, Les Systemes et Leur Languages, Eyrolles,
1986.
[Hoffer & Severance 1975] Hoffer H.A., Severance D.G. The Use of Cluster Analysis in
Data Base Design, Proceedings of the 1st International Conference on Very Large
Databases, Framingham, pag. 69-86, Septembrie, 1975
[IBM BigData] What is big data?, Big Data and the Speed of Business, http://www01.ibm.com/software/data/bigdata/what-is-big-data.html
[Lungu et al. 1995] Lungu Ion, Bodea C., Bdescu G., Ioni C. Baze de date. Organizare,
Proiectare i Implementare, Editura All Educational, Bucureti, 1995
[Miranda&Busta86] Miranda S., Busta J.M, Introduction aux Bases de Donnees, Eyrolles,
vol. 1 i 2, 1986
[Mohan et al. 1986] Mohan C., Lindsay B., Obermark R. Transaction Management in the
R* Distributed Database Management System, ACM Trans. Database Systems,
pag. 378-396, 1986
[NavatheCeriWiederhold1983] S.B. Navathe, S. Ceri, G. Wiederhold, and J. Dou. Vertical
Partitioning of Algorithms for Database Design, Int Proc. 9th Int. Conf On very
Large Data Dases, Florenxe, Italy, Octomber-November 1983, p.175-277;
[Niamir 1978] Niamir B. Attribute Partitioning in a Self-Adaptive Relational Database
System, Technical Report 192, Cambridge, MIT, 1978
[Nichi &Racovian04] Nichi S.I., Racovian D.M. i alii, Iniiere n informatica economic
i de afaceri, Risoprint, 2004.
[Nichi &Racovian96] Nichi S.I., Racovian D.M. i alii, Bazele prelucrrii informaiilor
i tehnologie informaional, Intelcredo, 1996.
[Nichi94] Nichi S.I., Esenial n dBase, FoxPro i Clipper, P T&M, 1994.
[Oracle 2012] Introduction to Oracle NoSQL Database, Documentaie de firm (D76115),
Oracle, 2012
[Sacca & Wiederhold 1985] Sacca D., Wiederhold G. Database Partitioning in a Cluster
of Processors, ACM Trans. Database Systems, pag. 29-56, 1985
[Schmitt & Saake 2005] Schmitt Ingo, Saake Gunter A Comprehensive Database Schema
Integration Method Based on the Theory of Formal Concepts, Acta Informatica,
Vol.41, Iss. 7-8; pg. 475, Heidelberg, Jun 2005
[Sheth & Larson 1990] Sheth Amit P. , Larson James A. Federated Database Systems for
Managing distributed, Heterogeneous, and Autonomous Databases, ACM
Computing Surveys (CSUR), Volume 22 , Issue 3, Special issue on heterogeneous
databases, pag. 183 236, New York, 1990
[Sheth 1991] Sheth Amit P. Federated Database Systems for Managing Distributed,
Heterogeneous, and Autonomous Databases, Proceedings of the 17th International
Conference on Very Large Data Bases, Barcelona, Septembrie 1991
[Sitar 2005] Sitart-Tut, Dan-A., Baze de date distribuite, Editura Risoprint, 2005, ClujNapoca
[Strauch 2011] Strauch Christof, NoSQL Databases, Selected Topics on SoftwareTechnology, Ultra-Large Scale Sites, Cursul Computer Science and Media, Stuttgart Media
University, 2011

Sisteme de baze de date distribuite


[Thro90] Thro E., The Database Dictionary, Mikrotrend Books, 1990.
[mbulea2002]Leon mbulea, Baze de Date, Centru de nvare continu i nvmnt la
distan, Facultatea de Matematic i Informatic, Cluj-Napoca, 2002;
[Ullmann80] Ullman J.D. Principles of Database and Knowledge-base Systems, vol 1,2,
Rockwile, 1980.
[Zikopoulos & Eaton 2011] Paul Zikopoulos, Chris Eaton. 2011. Understanding Big Data:
Analytics for Enterprise Class Hadoop and Streaming Data (1st ed.). McGraw-Hill Osborne
Media.
[W3C FDMS Group] http://www-lsi.upc.es/bloom/Federated Database Management System
Research Group.htm Federated Database Management System Research Group,
Catalonia Subgroup
[W3C IDC #22542] http://www.idc.com, Report No. 22542, "Enterprise Database
Management Systems Market Forecast and Analysis, 2000-2004"
[W3C Koundourakis] http://timelab.co.umist.ac.uk/publications/theses/1997.html Classification and Association Tempo Miner Project, Koundourakis, George, 1997
[W3C
Meadowcroft] http://www.benmeadowcroft.com/reports/Database
Research
Exercise.htm MEADOWCROFT, Ben, Database research
[W3C ODC] http://www.newhoo.com/Computers/Software/Databases/desc.html - Open
Directory Computers: Consultants: Databases, 1999
[W3C Strozzi] Strozzi, Carlo: NoSQL A relational database management system. 2007
2010. http://www.strozzi.it/cgi-bin/CSA/tw7/I/en_US/nosql/Home%20Page
[w3schools-site]www.w3schools.com;
[W3-Villa] What is Big Data? http://www.villanovau.com/university-online-programs/whatis-big-data/

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