Sunteți pe pagina 1din 34

CURS 12

Baze de date distribuite

M. Danubianu - Teoria si implementarea bazelor de date

Introducere
Un sistem de gestiune a bazelor de date distribuite (SGBDD) permite aplicaiilor s acceseze att date din baza de date local ct i din baze de date la distan. Sunt 2 tipuri de SGBDD
Omogene toate bazele de date sunt de acelai tip Eterogene bazele de date pot fi de diverse tipuri

Bazele de date distribuite folosesc arhitecturi client/server


M. Danubianu - Teoria si implementarea bazelor de date 2

Definiie, caracteristici
Baza de date distribuit - o colecie de date partajate, intercorelate logic, distribuite din punct de vedere fizic ntr-o reea de calculatoare. sistem de gestiune a bazelor de date distribuit (SGBDD) - sistemul de programe care permite gestionarea bazei de date distribuite i care face ca distribuirea s fie transparent pentru utilizatori
gestioneaz o singur baz de date logic, mprit ntr-un numr de fragmente, fiecare din acestea fiind stocat pe unul sau mai multe calculatoare sub controlul unui SGBD separat
M. Danubianu - Teoria si implementarea bazelor de date 3

Site 2 BD BD

Site 1 BD BD

Site 3 BD BD

Retea de comunicatii
BD BD BD BD Site 4 Site 5

Fiecare site poate fi considerat complet din perspectiva unui sistem de baze de date, deoarece are: -propriile sale baze de date locale, -propriul sau SGBD, -proprii si utilizatori, -un soft propriu de gestiune a tranzaciilor - propriul su manager local de comunicaie a datelor.

utilizator poate opera asupra datelor din site-ul su local ca i cum acesta nu ar fi component a sistemului distribuit - fiecare site este caracterizat de un anumit grad de autonomie Aplicaiile pot fi clasificate n -aplicaii locale, care nu necesit date din alte site-uri i - aplicaii globale, atunci cnd acestea gestioneaz date din mai multe site-uri. -este necesar ca un sistem SGBDD s conin cel puin o aplicaie global.
M. Danubianu - Teoria si implementarea bazelor de date 4

un

Avantaje si
cel mai semnificativ avantaj al sistemelor distribuite este faptul c tratarea distribuit a bazelor de date este o reflectare a structurii organizaionale a multor companii, care sunt distribuite logic n departamente, proiecte, etc. i fizic n fabrici, uzine sau puncte de lucru, unde fiecare unitate i ntreine propriile sale date operaionale.
n aceste condiii sistemul informaional al organizaiei este divizat n aa numitele insule de informaii, care pot fi interconectate prin facilitile oferite de SGBDD. (C. J. Date,1995 )

disponibilitatea i fiabilitatea crescut, obinute din faptul c ntr-un sistem distribuit pana unui site sau a unei linii de comunicaie nu mpiedic sistemul s funcioneze deoarece acesta are capacitatea de a redirija spre un alt site cererile nodului defect. consultarea datelor este mult mai eficient dect n cazul unei baze de date centralizata aflat la distan, deoarece acestea sunt localizate n site-ul n care sunt cel mai frecvent solicitate, scalabilitate crescuta. Atunci cnd este necesar, se pot aduga n reea situri noi, fr a afecta funcionarea celorlalte site-uri.
M. Danubianu - Teoria si implementarea bazelor de date 5

dezavantaje
complexitatea crescut a acestor sisteme derivat din necesitatea ca modulele software s trateze n mod corespunztor problemele legate de reproducerea datelor, si nu numai. preuri mai mari legate de procurarea i ntreinerea unui sistem distribuit, n comparaie cu cele aferente unui sistem centralizat. este necesar efectuarea unor cheltuieli suplimentare cu elementele hardware necesare realizrii legturilor dintre site-uri.
M. Danubianu - Teoria si implementarea bazelor de date 6

Sistem omogen de baze de date distribuite


reea de dou sau mai multe sisteme de baze de date de acelai fel (Oracle) rezidente pe una sau mai multe maini o aplicaie poate accesa sau modifica simultan date din mai multe baze de date ntr-un mediu distribuit pentru o aplicaie client locaia si platforma diferitelor baze de date sunt transparente este posibil crearea de sinonime pentru obiectele aflate la distan ntr-un sistem distribuit
utilizatorii pot accesa aceste obiecte folosind aceeai sintax ca pentru obiectele locale
M. Danubianu - Teoria si implementarea bazelor de date 7

Baze de date distribuite vs procesare distribuit


Baza de date distribuit
Un set de baze de date ntr-un sistem distribuit poate aprea unei aplicaii ca o singura sursa de date

Procesarea distribuit
apare cnd o aplicaia i distribuie sarcinile pe maini diferite ntr-o reea
n mod obinuit, o aplicaie de baze de date distribuie sarcinile de prezentare front-end pe calculatoarele client si permite unui server de baze de date back-end s gestionate accesul partajat la baza de date. Un sistem distribuit de procesare a bazelor de date este referit ca un sistem client/sever
M. Danubianu - Teoria si implementarea bazelor de date 8

Baze de date distribuite vs baze de date replicate


ntr-o baz de date distribuit pur (nereplicata), sistemul gestioneaz o singura copie a datelor sau obiectelor bazei de date.
Aplicaiile de baze de date distribuite folosesc tranzacii distribuite pentru a acesa atat date locale ct i la distanta si pentru a modifica n timp real baza de date global

Replicarea se refer la operaia prin care obiecte ale bazei de date sunt copiate i ntreinute n mai multe site-uri ale unui sistem distribuit
M. Danubianu - Teoria si implementarea bazelor de date 9

Avantajele replicrii
Replicarea este utilizat pentru a mbunti performanele bazei de date locale i a proteja disponibilitatea aplicaiilor deoarece exist opiuni alternative de acces la date.
o aplicaie poate accesa mai uor o baz de date local dect un server la distan pentru a minimiza traficul pe reea i a maximiza performana o aplcaie poate continua s funcioneze dac serverul local eueaz dar rmn accesibile alte servere pe care este replicata baza de date

M. Danubianu - Teoria si implementarea bazelor de date

10

Sisteme eterogene de baze de date distribuite


Sunt acele sisteme n care SGBD-urile care funcioneaz n diferite site-uri sunt de tipuri diferite
i in aceste condiii aplicaiile vad ntreaga baz de date ca fiind o baz locala
Serverul plasat ntr-un anumit site trebuie s ascund distribuia si eterogenitatea bazei de date.

Exemplu:
Un server Oracle poate accesa un sistem non-Oracle prin intermediul Oracle Heterogeneous Services in conjuncie cu un agent. Dac se acceseaz date non-Oracle prin Oracle Transparent Gateway, atunci agentul este o aplicaie specific sistemului accesat Alternativ se poate folosi facilitatea de conectivitate generic pentru a accesa date non Oracle daca aceste sisteme suporta protocoale ODBC sau OLE DB
M. Danubianu - Teoria si implementarea bazelor de date 11

Principiul fundamental i cele 12 reguli pentru bazele de date distribuite


pentru utilizator, sistemul distribuit trebuie s arate exact la fel ca unul nedistribuit.
Ca urmare toate problemele sistemelor distribuite trebuie s fie interne sau de implementare i nu probleme externe sau de natur s afecteze utilizatorul

principiu fundamental atrage dup sine necesitatea respectrii unui numr de 12 reguli
M. Danubianu - Teoria si implementarea bazelor de date 12

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.

autonomia local absena unei dependene de un site central operare continu independena de localizare independena de fragmentare independena de reproducere prelucrarea distribuit a interogrilor gestionarea distribuit a tranzaciilor independena de hardware independena de sistemul de operare independena de reea independena de sistemul SGBD.
M. Danubianu - Teoria si implementarea bazelor de date 13

Autonomia local
presupune ca toate operaiile dintr-un anumit site s fie controlate de acesta.
nici un site A nu trebuie s depind de un alt site B pentru succesul operrii. autonomia local se refer i la faptul c datele locale sunt deinute i gestionate local
toate datele aparin, n realitate, unei baze de date locale, chiar dac aceasta este accesibil i din alte site-uri. problemele legate de integritatea, securitatea i reprezentarea fizic pentru datele locale se rezolv n site-ul cruia i aparin.

In practic, acest lucru nu poate fi respectat n totalitate - sunt situaii n care un site trebuie s acorde un anumit grad de control unui alt site. Concluzia - acest obiectiv ar putea fi enunat mai nuanat, n sensul c site-urile trebuie s fie autonome n cea mai mare msur posibil.
M. Danubianu - Teoria si implementarea bazelor de date 14

Absena dependenei de un site central


toate site-urile trebuie tratate n mod egal.
nu trebuie s existe nici un fel de dependen fa de un site central (de exemplu prelucrarea centralizat a interogrilor sau gestionarea centralizat a tranzaciilor).
dependena ar fi inoportun deoarece n anumite situaii acest site central ar putea reprezenta o strangulare sau sistemul n ansamblu ar fi vulnerabil dac site-ul central cade, atunci cade ntregul sistem.
M. Danubianu - Teoria si implementarea bazelor de date 15

Posibilitatea de operare continu


urmare a faptului c sistemele distribuite pot oferi o mai mare:
fiabilitate (probabilitate ca sistemul s funcioneze n orice moment) disponibilitate (probabilitatea ca sistemul s funcioneze continuu pe parcursul unei perioade specificate).
n cazul n care ntr-un anumit punct din sistem apare o ntrerupere neplanificat atunci sistemul poate continua s opereze chiar dac la nivel redus.

n sistemul distribuit nu trebuie solicitate niciodat ntreruperi planificate, pentru scopuri precum adugarea unui nou site sau pentru modernizarea SGBD-ului dintr-un site existent.
M. Danubianu - Teoria si implementarea bazelor de date 16

Independena de localizare
Se mai numete transparena de localizare pornete de la ideea c utilizatorii nu trebuie s tie unde sunt stocate fizic datele, ci ei trebuie s se poat comporta ca i cum toate datele ar fi stocate pe site-ul lor local. permite datelor s migreze de la un site la altul fr a invalida un program aplicaie sau vreuna din activiti.
fcnd o analogie cu proprietile bazelor de date centralizate se poate afirma c independena de localizare este o extensie, n cazul sistemelor distribuite a conceptului de independen fizic a datelor.
M. Danubianu - Teoria si implementarea bazelor de date 17

Independena (transparena) de fragmentare


presupune ca utilizatorul s se comporte, cel puin din punct de vedere logic, ca i cum datele nu ar fi fragmentate deloc.
simplific programele de aplicaie i activitatea utilizatorilor finali.

implic faptul c utilizatorilor le va fi prezentat o vedere a datelor n care diferitele fragmente pot fi recombinate logic prin uniuni sau reuniuni adecvate.
n acest caz optimizatorul are sarcina de a determina ce fragmente trebuie accesate fizic pentru a satisface orice cerere a utilizatorilor.
M. Danubianu - Teoria si implementarea bazelor de date 18

Independenta (transparena) de reproducere


presupune ca utilizatorii s se poat comporta, cel puin din punct de vedere logic ca i cum datele nu ar fi de fapt reproduse
simplific programele de aplicaie i activitatea utilizatorilor finali.

permite crearea i distrugerea, n orice moment, a reproducerilor, fr a afecta vreun program sau alt gen de activitate.
In acest context este responsabilitatea optimizatorului s determine ce reproduceri trebuie accesate fizic pentru a satisface o anumit cerere a utilizatorului.
M. Danubianu - Teoria si implementarea bazelor de date 19

Independena de hardware
In lumea real se utilizeaz o mare diversitate de calculatoare (IBM, Fujitsu, HP sau PC-uri i staii de lucru de diferite tipuri). Este necesar ca s existe posibilitatea de a integra datele de pe toate aceste sisteme pentru a se prezenta utilizatorului imaginea unui sistem unitar. Independena de hardware presupune i posibilitatea de a rula acelai SGBD pe diferite platforme hardware permind diferitelor maini s participe ca parteneri egali n sistemul distribuit.
M. Danubianu - Teoria si implementarea bazelor de date 20

Independen fa de sistemul de operare si independen fa de reea


completare a independenei de hardware s admit ca un acelai SGBD s poat rula pe platforme cu diferite sisteme de operare. Poate exista situaia n care sisteme de operare precum OS/400, UNIX i WINDOWS s participe n acelai sistem distribuit. Dac un sistem distribuit admite maini diferite pe care ruleaz sisteme de operare diverse atunci se pune, problema posibilitii ca ntre site-uri comunicarea s poat fi fcut folosind diferite reele de comunicaie, cu alte cuvinte, s existe independen fa de reea.
M. Danubianu - Teoria si implementarea bazelor de date 21

Independen de SGBD
sistemele de baze de date distribuite pot fi omogene, caz n care toate site-urile au instalat acelai SGBD. In realitate ns, sistemele distribuite nu numai c au n componen site-uri cu maini i sisteme de operare diverse, dar ele gestioneaz datele sub diferite SGBD-uri, deci ipoteza omogenitii acestora este prea strict. In fapt, singurul aspect necesar este ca diversele sisteme SGBD din site-uri s accepte aceeai interfa, deci un sistem distribuit ideal trebuie s ofere independen de SGBD.
M. Danubianu - Teoria si implementarea bazelor de date 22

Arhitectura Client/Server
Intr-o arhitectura client/server serverul este SGBD-ul iar clientul este aplicaia cere solicit date de la server. Fiecare calculator dintr-o reea este un nod care poate gzdui una sau mai multe baze de date. Fiecare nod al unei baze de date distribuite poate aciona ca un server, ca un client sau poate juca ambele roluri.
M. Danubianu - Teoria si implementarea bazelor de date 23

Site 1 Server 1

Site. 2 Server 2

retea
DB1 DB1

legatura

DB2 DB2

Tranzacii (Aplicaii) .. Insert into tabel1@DB2...; Delete from tabel2 .. Select from tabel3@DB2; .. Commit;

Un client se poate conecta direct sau indirect la un server de baze de date Conexiunea direct apare cnd clientul se conecteaz la server si acceseaz datele aflate pe serverul respectiv. Conexiunea indirect apare cnd un client se conecteaz la un server i apoi acceseaz datele coninute n baza de date aflat pe alt server

M. Danubianu - Teoria si implementarea bazelor de date

24

Legturile bazei de date (Database Links)


Link- pointer care definete o cale de comunicare unidirecional de la un server de baze de date Oracle ctre un alt server de baze de date este memorata in baza de date Pentru a accesa link-ul un user trebuie s fie conectat la baza de date local care contine intrarea corespunztoare acestui link n dicionar Legtura este unidirecional deoarece un client conectat la o baz de date A poate utiliza legturastocata aici pentru a accesa datele dintr-o baza de date la distan B, dar un user conectat in punctul B nu poate folosi acelai link pentru a accesa datele din site-ul A

M. Danubianu - Teoria si implementarea bazelor de date

25

Pentru a stabili o legtur fiecare baz de date dintr-un sistem distribuit trebuie s aib un nume global unic (global database name) n domeniul reelei
Acest nume identific n mod unic baza de date n reea Cum se stabilete?
Se prefixeaz domeniul n reea al bazei de date (care se specifica prin valoarea parametrului DB_DOMAIN la crearea bazei de date) cu numele individual al bazei de date (specificat n parametrul de iniializare DB_NAME)

M. Danubianu - Teoria si implementarea bazelor de date

26

Exemplu

Numele global al unei baze de date se stabilete pornind de la frunze i urmnd o cale pan la rdcina arborelui ierarhic Ex. hq.us.americas.acme_auto.com
M. Danubianu - Teoria si implementarea bazelor de date 27

Denumirea unui link


Un link are aceeai denumire ca i numele global al bazei de date pe care o refer Dac parametrul GLOBAL_NAMES este setat ca TRUE, Oracle asociaz legturii numele bazei de date globale referite
Pentru stabilirea unei legturi Oracle verific partea de domeniu al numelui global al bazei de date care este memorat in dicionarul bazei de date si nu pe cel atribuit parametrului DB_DOMAIN Avantaj: legtura este transparent pentru utilizator

Dac parametrul GLOBAL_NAMES este setat ca FALSE atunci se poate atribui legturii orice nume este dorit de cel ce o creeaz

M. Danubianu - Teoria si implementarea bazelor de date

28

Tipuri posibile de link-uri


D.p.d.v. al userilor care le pot folosi o legtur pot fi:
Privat poate fi accesat numai de userul care a creat-o Public poate fi folosit de toi userii bazei de date

dup modul n care se poate stabili legtura la o baz de date la distan


Legtur pentru userul conectat (connected user link) userii se conecteaz cu propriile lor credeniale
Aceti useri trebuie s aib pe serverul la distan un cont cu acelai nume precum contul din baza de dae local

Legtur pentru user fixat userul se conecteaz cu userul i parola referit n legtur i are toate privilegiile pe care acest cont le are n baza de date int Legtur pentru userul curent un user se conecteaz ca un user global
Un user local se poate conecta ca un user global n contextul unei proceduri stocate fr a mamra parola userului global n definiia linkului
M. Danubianu - Teoria si implementarea bazelor de date 29

Crearea unui link


CREATE [SHARED] [PUBLIC] DATABASE LINK nume_dblink [ CONNECT TO { CURRENT_USER | user IDENTIFIED BY password [authenticated_clause] } | authenticated_clause ] [USING 'connect_string']; Se definesc:
numele linkului irul de conectare pentru accesul la baza de date la distan numele i parola pentru conectarea la baza de date la distan

M. Danubianu - Teoria si implementarea bazelor de date

30

Relaia dintre obiectele schem i link-ul la o baza de date


Dup crearea unui link pot fi executate instruciuni SQL care s acceseze date aflate la distan
SELECT * FROM emp@foo;
este accesat obiectul emp aflat la distan utiliznd legtura foo

Pentru anumite obiecte aflate la distan poate fi nevoie de autorizare n baza de date la distan Manipularea datelor n baze de date distribuite este posibil prin construirea corect a numelor obiectelor:
schema.obiect_schema@nume_global_baza_date
M. Danubianu - Teoria si implementarea bazelor de date 31

Sinonime pentru obiectele schem


Oracle permite crearea de sinonime care ascund utilizatorilor numele unul link
Este permis accesul la un tabel aflat la distan folosind aceeai sintax care realizeaz accesul la un tabel al bazei de date locale

CREATE [OR REPLACE] [PUBLIC] SYNONYM [schema .] synonym FOR [schema .] object [@ dblink];

M. Danubianu - Teoria si implementarea bazelor de date

32

Exemplu
Fie urmtoarea interogare: SELECT * FROM emp@hq.acme.com Dac se creaz un sinonim pentru emp@hq.acme.com astfel: CREATE SYNONYM emp FOR emp@hq.acme.com Atunci interogarea se poate scrie:
SELECT * FROM emp

M. Danubianu - Teoria si implementarea bazelor de date

33

Restricii impuse de legturile ntre bazele da date


Cteva exemple de operaii ce NU pot fi realizate prin intermediul link-urilor
Acordarea de privilegii asupra obiectelor la distan Execuia comenzii DESCRIBE asupra obiectelor la distan Analiza acestor obiecte Definirea sau forarea constrngerilor de integritate Acordarea de roluri utilizatorilor ntr-o baza de date la distan

M. Danubianu - Teoria si implementarea bazelor de date

34

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