6 bd distrib
DESCRIPTION
baze dateTRANSCRIPT
-
Cap. 6. Baze de Date Distribuite
1
Cap. 6. Baze de Date Distribuite
Dezvoltarea reelelor de calculatoare a condus n mod natural la apariia unor structuri
complexe de baze de date care se caracterizeaz n primul rnd prin pstrarea datelor n mai
multe noduri ale unei reele de calculatoare. De aici a aprut i ideea greit c orice colecie
de date distribuit n nodurile unei reele de calculatoare ar reprezenta o baz de date
distribuit (BDD). n literatura de specialitate se subliniaz ns c numai n anumite condiii
se poate discuta despre BDD. Pentru a nelege despre ce este vorba, n Fig. 6.1 se prezint
trei situaii posibile:
Fig. 6.1 Exemple de tipuri de structuri ale bazelor de date
-
Proiectarea Bazelor de Date
2
In figura a) se prezint cazul bazelor de date centralizate cnd exist o singur baz de
date i toate aplicaiile o acceseaz.
In figura b) exist o reuniune de baze de date (situate n acelai nod al unei reele de
calculatoare, sau n noduri diferite, dar fiecare aplicaie utilizeaz date dintr-o singur baz de
date. In acest caz nu putem vorbi de o baz de date distribuit ci de o colecie de baze de date
independente.
In figura c) exist un set de baze de date n diferite noduri ale unei reele i apar dou
tipuri de aplicaii i anume: aplicaii locale care utilizeaz o singur baz de date i aplicaii
globale care utilizeaz mai multe baze de date. In acest caz se poate considera c exist o baz
de date distribuit. Avnd n vedere cele discutate anterior, se poate formula urmtoarea
definiie a bazelor de date distribuite:
O baz de date distribuit ese o colecie de baze de date plasate n nodurile unei
reele de calculatoare i care sunt corelate logic.
Aceast definiie scoate n eviden dou aspecte deosebit de importante ale bazelor de
date distribuite:
1) Distribuia datelor n mai multe noduri ale unei reele de
calculatoare.
Este o caracteristic fundamental prin care putem distinge bazele de date
distribuite de bazele de date centralizate. O caracteristic a bazelor de date distribuite
o reprezint posibilitatea de a utiliza o anumit redundan controlat a datelor prin
procesul de replicare, adic o copiere controlat de SGBD a unor poriuni ale bazei de
date n mai multe noduri ale reelei. SGBD trebuie s realizeze sincronizarea
replicilor adic orice modificare a coninutuiui unei replici trebuie s se propage
ct mai repede la toate replicile.
2) Corelarea logic a datelor care ne arat c prin semantica lor, dei situate n
noduri diferite ale unei reele de calculatoare, datele sunt utilizate mpreun pentru
rezolvarea unei anumite probleme. Aceast proprierate permite s distingem bazele de
date distribuite de un set de baze de date oarecare.
situate n nodurile unei retele de calculatoare.
Definiia anterioar poate fi rescris sub forma:
-
Cap. 6. Baze de Date Distribuite
3
Se spune c o baz de date este distribuit dac diverse fragmente ale acesteia sunt
plasate n noduri diferite ale reelei i exist cel puin o aplicaie care s necesite utilizarea
unor date plasate n noduri diferite.
Se numete sistem de gestiune al bazelor de date distribuite (SGBDD) un sistem
software care pertnite gestiunea bazelor de date distribuite asigurnd transparena
distribuiei n raport cu utilzatorul.
Principalele avantaje ale utilizrii bazelor de date distribuite sunt:
1) O legtur mai natural ntre sistemul informatic i structura ntreprinderilor.
Este natural ca n cazul unor ntreprinderi cu filiale rspndite geografic sau cu
probleme specifice s se asigure o autonomie informaional ct mai ridicat diverselor
sectoare de activitate.
Rmne n sarcina proiectantului bazei de date s stabileasc care date trebuie
distribuite n nodurile reelei de calculatoare i care date trebuie pstrate i-exploatate ntr-o
form centralizat. Utilizatorii care folosesc date dintr-un singur nod al reelei se numesc
utilizatori locali, iar aplicaiile aferente aplicaii locale. Utilizatorii care utilizeaz date din
diverse locaii se numesc utilizatori globali, iar aplicaiile corespunztoare aplicaii globale
sau aplicaii distribuite.
De exemplu, n cazul unei universiti, este natural ca evidena studenilor, a planurilor
de nvmnt i tatelor de funciuni s se realizeze la nivel de facultate (eventual catedr) n
timp ce problemele legate de aprovizionare, baz materiale etc. s se realizeze la nivel
centralizat, att timp ct fondurile se distribuie centralizat la nivel de universitate.
Desigur, distribuirea datelor despre studeni, profesori, planuri de nvmnt etc. la
nivel de facultate nu exclude utilizarea lor de ctre alte faculti sau n aplicaii la nivel
central, dar accentul cade pe aplicaii locale ceea ce simplific implementarea bazei de date i
a programelor aplicative.
Utilizarea unei baze de date centralizat ar implica pentru implementare un server foarte
putemic i un trafic n reea foarte ridicat n anumite perioade ale anului universitar iar
perfonnanele ar fi probalil inferioare n cazul aplicaiilor cu un putemic caracter local.
2) mbuntirea performanelor n exploatare
Imbuntirea performanelor n exploatare are mai multe surse:
-
Proiectarea Bazelor de Date
4
a) Exploatarea datelor n proximitatea producerii i utilizrii lor reduce traficul de
date prin reelele de calculatoare ceea ce crete viteza de lucru i scade preul de cost.
b) Deoarece n aplicaiile locale se utilizeaz doar o parte a datelor, n general vor
scdea performanele impuse serverelor i sistemelor de intrare/ieire.
c) Poate fi utilizat paralelismul n exploatare n sensul executrii n
paralel a unor operaii de cutare sau prelucrare n mai multe noduri ale reelei n
scopul satisfacerii unei cereri globale.
De exemplu, pentru a obine lista tuturor studenilor care locuiesc la un anumit cmin,
cutarea se poate desfura simultan n toate nodurile de la nivelul facultilor.
3) Creterea siguranei n funcionare i a disponabilitii datelor
Replicarea unor date permite utilizarea bazei de date chiar n cazul cderii unor noduri,
sau a unor ci de cmunicaii. Desigur aceasta implic msuri speciale pentru asigurarea
consistenei logice a datelor pstrate n copii pe mai multe noduri ale reelei prin
sincronizarea acestora.
Un alt avantaj al replicrii datelor l reprezint posibilitatea rulrii n paralel a mai
multor tranzacii (fiecare tranzacie va utiliza o alt copie).
Existena replicilor simplific refacerea bazei de date n cazul unor distrugeri
accidentale sau voite i reduce timpul de redare n funciune a ntregii reele.
4) Reducerea costurilor de ntreinere i exploatare
Dac prin distribuirea bazei de date n nodurile unei reele crete mult ponderea
prelucrrilor locale n raport cu cele globale, va scdea costul comunicaiilor de date i se va
evita ncrcarea fr rost a cilor de transmisie a datelor.
De asemenea implementarea unui sistem distribuit permite n general utilizarea unor
calculatoare mai mici i mai ieftine, uor de dezvoltat ulterior.
5) Simplificarea dezvoltrii sistemelor informatice
Dezvoltarea prin adugare de echipamente i software ntr-o reea de calculatoare este
n general mai simpl i mai ieftin dect n cazul unui sistem centralizat. Prin interconectarea
reelelor de calculatoare se obine o putere de calcul i o capacitate de memorare deosebit de
mare la un pre rezonabil. Creterea poate ine pasul cu necesitile i posibilitaile financiare
ale beneficiarului.
-
Cap. 6. Baze de Date Distribuite
5
Desigur distribuirea datelor introduce i numeroase probleme uneori dificil de depit.
Printre principalele dezavantaje ale bazelor de date distribuite putem aminti:
1) Complexitatea
Bazele de date distribuite introduc multe probleme specifice relativ greu de rezovat,
care nu apar n bazele de date centralizate. Aceste probleme pot fi puse n eviden la
divese nivele:
- proiectarea structurii bazei de date
- proiectarea aplicaiilor
- gestiunea datelor
- rezolvarea optim a cererilor
- protectia datelor
2) Lipsa de experien
Lipsa de experien att la nivelul proiectrii, ct i al exploatrii bazelor de date
distribuite se datoreaz dezvoltrii relativ recente a bazelor de date distribuite mari i
foarte mari n multe intreprinderi.
Introducerea bazelor de date distribuite implic eliminarea modului de gndire
specific bazelor de date centralizate dezvoltate n vechile centre de calcul i trecerea la
exploatarea n reele locale sau chiar internaionale. Aceasta presupune nu numai
distribuirea datelor, ci i a rspunderii n pstrarea i exploatarea datelor. De asemenea
apar noi relaii de colaborare ntre categorii de utilizatori foarte diferite n ceea ce
privete interesele i nivelul de pregtire.
3) Scderea securitii datelor
Unul din principalele avantaje ale bazelor de date centralizate este controlul strict
asupra accesului la date. n cazul bazelor de date distribuite apar probleme serioase
pentru pstrarea securitii datelor n reea. Nu mai exist nici o posibilitate practic de
a interzice accesul n reea, n ciuda msurilor luate att la nivelul sistemelor de operare
ct i al S.G.B.D-urilor i aplicaiilor. Sunt semnalate mult mai multe cazuri de furturi
de informaie, distrugere voit sau accidental a datelor, falsificarea unor date.
4) Conversia dificil i costisitoare a aplicaiilor peste baze de date centralizate
n aplicaii peste bazele de date distribuite
-
Proiectarea Bazelor de Date
6
Se manifest n intreprinderile cu sisteme informatice dezvoltate cu muli ani n urm.
Practic se impune rescrierea ntregului software. Din aceast cauz muli factori de
decizie au reticene la renunarea la un software testat ani de zile i introducerea unui
nou software cu probleme inerente, mult mai dificil de pus n eviden i eliminat.
Conversia bazelor de date centralizate n baze de date distribuite poate conduce la
pierderi de informaii greu de acceptat i eliminat.
Toate acestea justific ineria manifestat la trecerea pe scar larg la exploatarea
bazelor de date distribuite. La ora actual problemele sunt practic rezolvate n marea
majoritate a cazurilor.
5) Instruire mai lung i costisitoare a administratorilor de baze de date
distribuite i a administratorilor de aplicaii
Administratorii de baze de date distribuite i administratorii de aplicaii trebuie s aib
cunotiine profunde de reele de calculatoare, sisteme de operare, baze de date
distribuite, limbaje de programare, SGBD-uri etc.
Datorit acestor cunotine, administratorii de baze de date distribuite devin persoane
deosebit de importante n ierarhia unei intreprinderi cu un rol din ce n ce mai important
n luarea unor decizii corecte. Este posibil ca aceast cretere a puterii administratorilor
bazei de date s nu fie agreat de unii factori de conducere care-i vd ameninate
anumite poziii. n consecin acetia se opun dezvoltrii unor sisteme informatice
globale, distribuite, invocnd investiiile mari necesare n faza iniial i perspectiva
relativ ndeprtat a unor beneficii evidente.
Noiunea de transparen n bazele de date distribuite
In general prin transparena unui S.G.B.D (centralizal sau distribuit) se nelege
posibilitatea utilizrii acestui SGBD cu un minim de cunotiine informatice privind
arhitectura i structura sistemelor de calcul sistemele de operare, limbajele de programare,
structuri de date etc.
In cazul bazelor de date distribuite toate aspectele legate de transparen (materializat
n primul rnd prin independena aplicaiilor n raport cu structura datelor) capt valene noi
iar lipsa transparenei este cu mult mai putemic resimit de utilizatori. Numai prin asigurarea
-
Cap. 6. Baze de Date Distribuite
7
transparenei la diverse nivele a fost posibil dezvoltarea extraordinar a bazelor de date
distribuite i a aplicaiilor peste acestea i n special abordarea bazelor de date de ctre
specialiti din aproape toate domeniile, fr o pregtire informaional deosebit.
n cazul bazelor de date distribuite putem distinge urmtoarele direcii n care trebuie s
se asigure transparena:
1) Independena datelor
Prin independena datelor nelegem imunitatea aplicaiilor n raport cu structura i
distribuia datelor pe suportul fizic. Dup cum se cunoate, definirea datelor se
realizeaz la dou nivele:
- nivelul logic sau nivelul utilizatoruiui;
- nivelul fizic sau nivelui organizrii pe suport extern.
Corespunztor celor dou nivele se poate discuta despre independena logic a datelor i
independena fizic a datelor.
Independena logic a datelor presupune c aplicaia unui utilizator este imun fa de
adugarea unor noi atribute la relaiile peste care este definit aplicaia.
Independena fizic a datelor presupune mascarea unor detalii ale structurii fizice a
nregistrrilor fa de aplicaiile utilizatorilor. Aceasta nseamn c cel care scrie o aplicaie
nu trebuie s fie preocupat de detaliile organizrii datelor pe suportul fizic. Aceasta presupune
imunitatea aplicaiilor fa de eventualele modificri n structura datelor, sau n distribuia lor
pe suport extern sau n nodurile unei reele, n sensul c aceste modificri nu implic
rescrierea programelor. Performanele aplicaiilor pot fi ns puternic afectate.
2) Transparena reelei (distribuiei)
SGBDD trebuie s fac transparente pentru utiiizator structura reelei i protocoalele de
comunicaii de date utilizate. Din punctul de vedere al utilizatorului nu are importan
dac aplicaia este local sau distribuit, dac datele se afl pe serverul local sau la mii
de kilometri distan, dac transmisia datelor se realizeaz prin fibr optic sau prin
staii radio, pe ce rut sunt transferate datele, din care replic sunt furnizate datele, dac
datele solicitate de cererile utilizatorului se obin dintr-un singur nod sau mai multe etc.
Restructurarea reelei prin adugarea/eliminarea unor noduri sau prin transferul datelor
n alt nod nu trebuie s afecteze aplicaiile att timp ct datele continu s existe n
reea.
-
Proiectarea Bazelor de Date
8
Acest tip de transparen are dou aspecte:
- transparena locaiei; .
- transparena numelui.
Transparena locaiei presupune c utilizatorul obinuit nu este obligat s specifice
explicit sistemului nici locul unde se afl pstrate datele utilizate, nici locul unde se realizeaz
prelucrarea datelor. n felul acesta eventualele modificri n structura reelei i redistribuirea
datelor nu vor afecta deloc aplicaiile n curs de utilizare (evident performanele n rezolvarea
cererilor pot fi afectate)..
Transparena numelui presupune ca orice obiect al bazei de date s aib un nume
unic. Aceasta este o problem ce poate fi rezolvat de utilizator.
Sistemul poate impune utilizatorului s introduc numele locaiei obiectului ca parte a
numelui obiectului. n felul acesta orice modificare a locaiei va trebui s fie cunoscut de
ctre utilizator i introdus n aplicaie. Aceast situaie corespunde sistemelor actuale de
prelucrare a datelor. n cel mai bun caz unele sisteme permit utilizarea alias-urilor pentru a
evita manipularea de ctre utilizator a unor nume lungi. Aceast soluie nu rezolv de fapt
problema transparenei. Rezovarea problemei presupune ca sistemul s gestioneze numele
tuturor obiectelor bazei de date i s rezolve n mod transparent unicitatea numelor.
Utilizarea numelui locaiei n numele obiectului ridic probleme practice dificile legate
de redistribuirea datelor n scopul optimizrii utilizrii acestora.
3) Transparena replicrii
Din motive de optimizare a performanelor, n sistemele de date distribuite se accept
existena unor copii numite replici. Aa cum s-a specificat anterior, existena replicilor
poate prezenta unele avantaje evidente:
- disponibilitatea datelor acolo unde sunt n mod natural folosite;
- disponibilitatea datelor chiar n cazul cderii unor noduri ale reelei;
- refacerea rapid a coninutului bazei de date n cazul distrugerii accidentale
sau voite a unor date.
Unele sisteme de gestiune a bazelor de date distribuite ofer posibilitatea utilizrii a
dou tipuri de replici:
replici sincrone a cror actualizare se face aproape simultan n toate nodurile.
-
Cap. 6. Baze de Date Distribuite
9
replici asincrone a cror actualizare se face separat, n funcie de deciziile
utilizatorului.
Exemplu:
Pentru a nelege diferena ntre replicile sincrone i asincrone vom considera
urmtorul exemplu:
Pentru gestiunea activitii unei Case de Asigurri de Sntate la nivel de jude (CASJ)
se creaz o baz de date cu toi cei luai n eviden, asigurai sau nu. Medicii de familie nu
pot utiliza direct aceast baz de date. Fiecare medic de familie primete la un moment dat o
baz de date cu pacienii pe care i are n acel moment, de obicei sub forma unui fiier pe o
dischet. n continuare fiecare medic de familie poate s nscrie ali pacieni, s elimine
pacieni, s actualizeze numele etc. fr ca aceste modificri s se reflecte n baza de date de
la CASJ. Sincronizarea ntre baza de date central i copii se realizeaz abia n momentul
raportului lunar cnd medicul de familie transmite prin Internet sau pe dischet modificrile
din ultima lun. Aceast variant de lucru reprezint un exemplu tipic de sincronizare
asincron.
Chiar n cazul n care toate calculatoarele mediciior de familie ar fi conectate ntr-o
reea de calculatoare dar baza de date nu ar fi distribuit, iar actualizarea datelor s-ar face pe
acelai principiu al fiierelor importate/exportate periodic, sincronizarea ar fi asincron.
Dac ns toi medicii de familie ar fi conectai n reea cu CASJ iar bazele de date de la
medicul de familie ar fi replici ale unor fragmente ale bazei de date globale, sincronizarea s-ar
putea realiza sincron sub comanda SGBDD.
Din punct de vedere practic, problemele utilizrii replicilor sunt legate de replicile
sincrone deoarece actualizarea cvasiinstantanee a coninutului nu este o problem simpl.
Transparena replicilor presupune ca utilizatorul s nu fie obligat s cunoasc cte
replici ale datelor exist n sistem sau cum sunt acestea distribuite. Utilizarea optim a unei
replici trebuie s fie o problem a sistemului i aceasta este o problem complicat.
n cazul unor sisteme orientate pe modificarea frecvent a datelor utilizarea replicilor nu
este n general o soluie raionai.
4) Transparena fragmentrii
n multe situaii se pune problema fragmentrii unei relaii n mai multe relaii privite ca
obiecte distincte ale bazei de date .
-
Proiectarea Bazelor de Date
10
Transparena fragmentrii impune ca acele aplicaii care au nevoie de ntreaga relaie s
nu fie obligate s specifice toate fragmentele necesare i locul unde sunt acestea plasate.
Sistemul trebuie s fie capabil s primeasc cereri globale pe care s le transforme
automat n cereri orientate pe fragmente n funcie de necesiti. In felul acesta se asigur o
prelucrare optim a datelor fr a reduce generalitatea cererilor ce pot fi satisfcute. Existena
unor fragmente distribuite n noduri diferite ale reelei poate asigura paralelismul unor
prelucrri, plasarea natural a datelor n nodul unde sunt cel mai mult solicitate etc.