Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica

Baze de date




Qdidactic » stiinta & tehnica » informatica » baze de date
Baze de date distribuite



Baze de date distribuite


Baze de date distribuite


O baza de date distribuita permite ca o colectie arbitrara de relatii, dintr-o colectie arbitrra de baze de date, aflate pe o mare varietate de masini ce lucreaza sub diferite sisteme de operare si sunt legate prin diferite retele de comunicatie, sa poata fi utilizate ca si cum ar constitui o singura baza de date pe o singura masina.

Primele sisteme de baze de date distribuite au fost INGRES/STAR, SQL*STAR si R*.

Principalele cerinte pe care trebuie sa le asigure un sistem de baze de date distribuite sunt:

autonomia locala in organizarea si prelucrarea datelor;



neutilizarea unei centralizari a evidentei si a datelor;

posibilitatea de lucru continuu al nodurilor, independent de schimbarile de configuratie de lucru;

independenta localizarii si fragmentarii datelor;

posibilitati de replicare si de independenta a copiilor;

prelucrarea distribuita a cererilor;

administrarea distribuita a tranzactiilor;

independenta de hardware, de retea si de sistemul de gestiune al bazelor de date.

Una din cele mai dificile probleme de rezolvat pentru sistemele distribuite este minimizarea numarului si dimensiunilor mesajelor. Aceasta se reflecta in strategiile de prelucrare a cererilor, in administrarea cataloagelor, in controlul concurentei, etc.

Pentru bazele de date de dimensiuni foarte mari, cu un numar mare de utilizatori plasati in locuri diferite, se pune problema reprezentarii lor pe fragmente, in diferite unitati de calcul, ce constituie nodurile unei retele. Fragmentele contin relatii intregi sau parti de relatii care, prin operatii de uniune naturala si reuniune, pot sa reconstituie relatia initiala. Pentru utilizator, distribuirea unei baze de date este transparenta, el vazand baza de date ca si cum ar fi nedistribuita.

O baza de date distribuita poate fi considerata ca o multime de noduri, legate intre ele sub forma unei retele, fiecare nod avand posibilitati de memorare si prelucrare a datelor. Accesul la date se face prin intermediul unui procesor de fisiere. Baza de date se considera formata din mai multe elemente blocabile, unele din ele putand sa apara de mai multe ori, prin duplicare, in noduri diferite. Legatura intre noduri se face prin schimb de mesaje si de date. O buna distribuire a datelor poate avea ca avantaj o viteza de acces mai mare, recuperarea informatiilor in anumite cazuri, posibilitati de lucru modular.


Datele unei baze de date distribuite sunt privite atat din punct de vedere logic prin semnificatia pe care o au, cat si actual, prin modul de organizare si valorile reprezentate la un moment dat. Orice relatie R poate fi reconstituita din fragmentele R1,R2,,Rn aflate in diferite noduri:

prin uniunea naturala R=R1 X R2 X X Rn si spunem ca avem o fragmentare verticala;

prin reuniune R=R1 R2 Rn si spunem ca avem o fragmentare orizontala.

Exemplu: daca consideram baza de date a conturilor curente din filiala BCR, in care intervin ca atribute F (filiala), N (numarul contului), T (total lei in cont), O (numarul operatiei de cont), S (suma operata), P (posesor cont) si A (adresa posesorului de cont curent) si relatiile logice urmatoare:

CONTURI (F, N, T)

OPERARI (F, O, S)

POSESORI (N, P)

OPERAT (O, P)

CLIENTI (P, A)

Aceasta baza de date ar putea fi reprezentata distribuit prin fragmentarea orizontala a primelor patru relatii si paatrarea informatiilorlegate de conturile deschise la o filiala la nodul asociat acelei filiale, iar informatiile despre clienti pot fi memorate la sediul central BCR, fiind, in general, mai rar utilizat. Relatiile anterioare pot fi considerate fragmente verticale pentru diferite vederi.



Cererile adresate unei bate de date distribuitesunt exprimate in raport cu relatiile logice ce se pot reconstitui din fragmente prin operatii de reuniune si uniune naturala. Mai apoi, se construiesc expresii care au ca operanzi relatiile fizice. Pentru arborele rezultat se aplica transformari ce duc la o determinare mai rapida a rezultatului final.

De obicei, fragmentele contin valori specifice in anumite campuri si acele valori pot servi pentru identificarea informatiilor din fragment, ele purtand numele de garda. Daca fragmentul R are garda g, se poate inlocui orice folosire a lui R intr-o expresie cu sg(R)fara a modifica rezultatul. Daca prin coborarea unei selectii in arbore se ajunge la un conflict cu gazda g, se poate elimina R din expresie.

Reactualizarea bazelor de date distribuite este relativ simplu de realizat. Inserarea unui tuplu intr-o relatie logica se traduce prin inserarea unor tupluri in unele din fragmentele asociate relatiei logice. Daca vrem sa inseram tuplul t in relatia logica R care este de forma R=R1 X R2 X X Rn, aceasta revine la a insera t[Ri] in Ri pentru i=1,,n. Daca R=R1 R2 Rn, atunci se determina un i astfel incat garda lui Ri sa corespunda valorii din t si se insereaza t in Ri. Daca nu exista nici un i cu aceasta proprietate, se da mesaj de eroare, iar daca sunt mai multi indici se alege unul dintre ei, de preferinta cel ce corespunde nodului unde are loc cererea.

Pentru a sterge un tuplu t din relatia logica R care este compusa din fragmente orizontale, se sterge tuplul t din toate fragmentele in care apare. Daca R este compusa din fragmente verticale, apar probleme suplimentare de rezolvat deoarece stergerea tuplurilor t[Ri] ar duce la pierderea de informatii, fiind eliminate si alte tupluri s pentru care s[Ri]= t[Ri].

In sistemul R*, problema se rezolva asociind fiecarui tuplu din relatiile logice fragmentate vertical cate un identificator unic, acesta fiind pastrat in fiecare fragment al relatiei logice. Stergerea unui tuplu se reduce la eliminarea din fragmente a tuplurilor care au identificatorul respectiv.







Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright