Sunteți pe pagina 1din 5

CAPITOLUL

PROIECTAREA BAZELOR DE DATE DISTRIBUITE Principiile proiectrii bazelor de date discutate n anul II (normalizare, descompunere etc.) se aplic deasemenea i la bazele de date distribuite. n acest paragraf ne vom concentra aupra cercetrilor de proiectare ce sunt specifice BDD. onsiderm o rela!ie ce urmeaz a fi memoratantr"o BD. #$ist mai multe probleme n memorarea rela!iei n BDD ca% Replicarea. &istemul men!ine mai multe replici (copii) ale rela!iei. 'iecare replic este memorat pe un sit diferit, care result din replicarea datelor. ( alternativ la replicare este s memoreze numai o copie a rela!iei r. Fragmentarea. )ela!ia este parti!ionat n mai multe fragmente. 'iecare fragment este memorat ntr"un sit. Replicare i fragmentare. *ceast este o combina!ie a celor dou no!iuni de mai sus. Replicarea datel r Dac rela!ia r este replicat, o copie a rela!iei r este memorat n dou sau mai multe situri. n cazul e$trem avem o replicare complet n care o copie este memorat n fiecare sit din sistem. #$ist un numr de avanta+e i dezavanta+e ale replicrii. Di!p ni"ilitatea. Dac un sit are o pan (se defecteaz) atunci rela!ia poate fi gait pe alt sit. *stfel sistemul poate continua procesul de interogare ce implic rela!ia r n ciuda erorii de pe sit. Paraleli!m cre!c#t. n cazul c,nd ma+oritatea accesrilor la rela!ia r se reduc numai la citiri ale rela!iei, mai multe situri pot prelucra ntrebri n paralel. ,nd e$ist mai multe replici ale lui r atunci e$ist o sans mai mare ca datele necesare e$ecutrii unei tranzanc!ii s fie n acelai sit, n care se e$ecut tranzac!ia. Prin urmare replicarea datelor minimizeaz micarea ntre situri. Cre!c c$elt#ielile c# act#ali%area. &istemul trebuie s aigure c toate replicile rela!iei r sunt consistente n acest caz calculele pot fi enorme.*stfel c,nd r este actualizat, actualizarea trebuie s fie propagat pe toate siturile care con!in replica i astfel cresc c-eltuielile de actualizare. De e$emplu ntr"un sistem de bnci, unde informa!iile dintr"un cont sunt replicate pe diverse situri, este necesar s modificm conturile n toate siturile. n general, replicarea aigur performan!a opera!iilor de citire i creterea disponibilit!ilor datelor la tran%ac&iile de citire. .otui, tranzac!iile de actualizare comport mari c-eltuieli. Problema controlului actualizrii tranzac!iilor concurente a mai multor de date replicate este mult mai comple$ dec,t abordarea centralizat a controlului concuren!ei. /om putea simplifica gestiunea replicilor lui r prin alegerea uneia drept 0copie primar1 a lui r. De e$emplul, ntr"un sistem bancar un cont poate fi asociat unui sit n care contul a fost desc-is. &imilar ntr"un sistem de rezervare, zborul poate fi asociat cu situl din care se zboar ini!ial.

Fragmentarea datel r Dac rela!ia r este fragmentat, adic este divizat ntr"un numr de fragmente r 2 ,r 3 ,4r p . *ceste fragmente trebuie s con!in informa!ii suficiente s reconstruim rela!ia ini!ial r. )econstruirea rela!iei r se face fie aplic,nd reuniunea fie aplic,nd unirea (+oin) pentru diverse fragmente ale rela!iei. #$ist dou sc-eme diferite pentru fragmentarea unei rela!ii% - fragmentarea orizontala si - fragmentarea vertical. 'ragmentarea orizontal descompune rela!ia r prin atribuirea fiecrui tuplu al rela!iei r la unul sau mai multe fragmente. 'ragmentarea vertical descompune rela!ia r prin mpr!irea sc-emei de rela!ie ) a lui r. *ceste dou sc-eme pot fi aplicate succesiv la aceeai rela!ie, rezultand un numar de fragmente diferite. )emarcm ca acealeai informa!ii pot s apar n mai multe fragmente. /om discuta diverse moduri de fragmentare a rela!iei r. /om ilustra acest iincaz consider,nd un depozit de bani la o banc care are sc-ema % D5(678#9&7 7)&*:*, 6)9 (6., 678#9 :I#6., &(:D) )ela!ia depozit(D) este% 678#9&7 7)&*:* raiova raiova Iai Iai raiova Iai Iai 6)9 (6. ;<= 33> 2?? @<3 2== 3<< >;A 678#9 :I#6. *lbu 8i-ai *lbu 8i-ai )osu Dorin 6egru Ion ostin Dan ostin Dan 6egru Ion &(:D =<< ;;< 3<= 2<<< ?= 23<< ?=<

'igura 2. #$emplu de rela!ie de depozit. 7n fragment poate fi definit ca o selec!ie siBsau proiec!ie dintr"o rela!ie globala r. *dic se utilizeaz n construc!ia fragmentului r i un predicat P i i r i 5 P i (r) )econstruc!ia rela!iei r poate fi ob!inut prin reuniunea tuturor fragmentelor fragmentelor r5r 2 r 3 4r p . & ilustrm aceasta, presupunand c rela!ia r este rela!ia depozit din figura 2. *ceasta rela!ie poate fi impr!it n fragmente diferite, unde fiecare con!ine conturi numai dintr"o sucursala. Dac sistemul bancar are numai dou sucursale% Iai i raiova atunci e$ist dou componente diferite% depozit25 NUME 9 SUCURSLA= IASI (depozit), depozit35 NUME 9 SUCURSALA =CRAIOVA (depozit). In e$emplul nostru fragmentele sunt dis+uncte. Prin sc-imbarea predicatului de selec!ie s"ar putea c un tuplu particular a lui r s apar n mai mult de un fragment r i a lui r. *ceast form de replicare o vom discuta mai +os.

Fragmentarea 'ertical( In forma cea mai simpl fragmentarea vertical este aceeai cu descompunerea. 'ragmentarea vertical a rela!iei r()) implic defini!ia mai multor submul!imi C ) 2 , ) 3 ,4,) P ale sc-emei ) astfel ca )5 ) 2 ) 3 4 ) P 'iecare fragment ri a lui r este definit prin% r5 Ri (r ) i52,3,4.,n. )ela!ia r poate fi construit din fragmente lu,nd unirea natural r5r 2

r 3 4. rn

In plus, fragmentarea vertical poate fi nso!it de adugare de atribute speciale numite 0identificatori9de9tupluri1 la sc-ema ). 7n identificator9de9tuplu (ID) este o adres fizic sau logic. Deoarece fiecare tuplu a lui ) trebuie s aib o adresa unic, atributul ID este o c-eie pentru sc-em de rela!ie marit. #$ercitiu. &crie!i rela!ia r ob!inut din r prin adugarea ID la sc-ema ). Dn figura 3 am artat o descompunere a rela!iei depozit la care am adugat atributul ID i din care au rezultat sc-emele de rela!ie% );5(678#9&7 7)&*:*, 678#9 :I#6., ID) )@5(6)9 (6., &(:D, ID). )ela!iile depozit; i depozit@ rezult din evaluarea e$presiilor% depozit;5);(depozit) depozit@5 )@(depozit) #$erci!iu. &crieti rela!iile depozit; i depozit@ obtinute prin fragmentarea pe verticala. &e observa ca% depozit=5depozit; depozit@ este o forma special de unire. *tributul de unire este ID. Deoarece valoarea atributului ID reprezint adresa relativ, este posibil sa mperec-em un tuplu al rela!iei depozit; cu tuplul al rela!iei depozit@. *ceste adrese permit regsirea tuplului fr inde$are. *stfel aceasta unire este calculat mult mai uor i mai eficient dec,t unirea natural. Prin urmare, atributul ID faciliteaz implementarea unei parti!ionri verticale i ceea ce este important este c, acest atribut nu este vizibil utilizatorilor. Dac accesul la tupluri este dat de ID atunci este imposibil ca sistemul s sc-imbe adresele tuplurilor. *stfel, accesibilitatea adreselor interne violeaz no!iunea de independen! a datelor, una din virtu!ile principale ale modelui rela!ional.

678#9 678#9 ID 6)9 (6. &7 7)&*:* :I#6. raiova *lbu 8i-ai 2 ;<= raiova )ou Dorin 3 33> Iai )ou Dorin ; 2?? Iai 6egru Ion @ @<3 raiova ostin Dan = 2== Iai ostin Dan > 3<< raiova 6egru Ion ? >;A depozit; depozit@ 'igura3. 'ragmentarea verticala a rela!iei depozit. Replicarea i fragmentarea datel r

&(:D =<< ;;< 3<= 2<<< ?= 23<< @<<

ID 2 3 ; @ = > ?

.e-nicile descrise mai sus pentru replicarea i fragmentarea datelor pot fi aplicate succesiv la aceiai rela!ie. *dic, un fragment poate fi replicat succesiv, i apoi replicile fragmentelor pot fi din nou fragmentate i aa mai departe. De e$emplu, s considerm un sistem distributiv const,nd din siturile & 2 ,& 3 ,4,& 2< . /om putea fragmenta depozit n depozit;a i depozit;b i depozit@ i vom memora o copie a lui depozit;a pe siturile & 2 , & ; si & ? , o copie a depozit;b pe siturile & ? si & 2< , i o copie a lui depozit@ pe siturile & 3 , & E i & A . Tran!paren&( i a#t n mie ( rela!ie poate fi memorat ntr"o BDD n diverse moduri. eea ce este important este c sistemul minimizeaz gradul n care un utilizator ar trebui s cunoasc cum se memoreaz o rela!ie. u alte cuvinte sistemul 0ascunde detaliile de implementare pentru utilizator. &istemul poate ascunde detaliile de distribu!ie a datelor n re!ea. /om numi aceasta transparen!a re!elei. .ransparen!a re!elei este legat ntr"un anumit sens de autonomia local. *utonomia local este gradul n care un proiectant sau un administrator al unui sit poate fi independent de ceea ce rmane din sistemul distribuit. /om cerceta transparen!a i autonomia legat de% " 6umirea elementelor de date, " )eplicarea elementelor de date, " 'ragmentarea elementelor de date, " :ocalizarea fragmentelor i replicilor, " Independen!a datelor, " .ransparen!a re!elei )#mire i a#t n mie l cal( (rice element de dat dintr"o BD trebuie s aib un nume unic. *ceast proprietate este uor de aigurat ntr"o BD nedistribuit. .rebuie s ne asigurm ntr"o BDD c dou situri nu utilizeaz acelai nume pentru elemente de date distincte. ( solu!ie la aceast problem esta s cerem ca toate numele s fie nregistrate ntr"un server central. *ceasta abordare are urmtoarele dezavanta+e% - 6umele serverului poate duce la trangulare

- Dac serverul se defecteaz este posibil ca orice sit dintr"un sistem distribuit s nu con!inue e$ecu!ia - #$ist o autonomie local minim deoarece numirea este controlat central

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