Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


BAZE DE DATE DISTRIBUITE

baze de date



+ Font mai mare | - Font mai mic



BAZE DE DATE DISTRIBUITE

Gestiunea datelor ce determina o structurare a datelor si o rationalizare a procedurilor de acces si de prelucrare formeaza un software de exploatare. Acesta ne permite sa asiguram securitatea informatiilor stocate in baza de date (BD), adica protectia contra avariilor, pe care poate sa le sufere sistemul sau contra pirateriei. In cazul exploatarii distribuite intre mai multi utilizatori este necesar sa se evite situatiile conflictuale.



O baza de date distribuite (BDD) este o multime de baze de date corelate logic, cooperante si distribuite fizic pe mai multe statii ( calculatoare) interconectate printr-o retea de comunicatie.

Din punct de vedere al utilizatorului, ea este o singura BD cu o schema unica. Programele de aplicatii care manipuleaza o BDD au acces la date fara ca utilizatorul sa stie pe ce statie se afla fizic datele. Gestiunea BDD are urmatoarele avantaje:

n    utilizatorii controleaza direct datele locale si integritatea lor administrate dintr-o statie, ceea ce determina prelucrari eficiente.

n    reduce costul prelucrarii prin procesarea locala a datelor fara a mai fi transferate la un calculator central.

n    performanta si fiabilitatea gestiunii pot fi marite prin utilizarea procesarilor paralele.

n    BDD reprezinta o solutie pentru gestiunea datelor distribuite geografic.

Are si dezavantajele urmatoare:

n    administrarea centralizata se complica daca avem baze de date locale diferite.

n    accesul utilizatorului la propria baza de date este incetinit datorita costului suplimentar.

Ca un exemplu de BDD putem considera baza de date la distanta, baze de date paralele, baze de date client-server, etc. Baza de date situata pe un calculator diferit de calculatorul utilizatorului si accesata cu ajutorul unor comenzi de comunicatie se numeste baza de date la distanta.

Actualizarea se face centralizat si accesul la distanta este, in general, la consultarea bazei.

 


Figure . Baza de date la distanta

Tehnologia BDD este initial facilitata de trei ipoteze importante:

n    fiecare site dintr-o retea de calculatoare este un calculator ce poate executa atat programele de aplicatii cat si functiile de gestiune a BDD.

n    gestiunea BD se bazeaza pe modelul relational.

n    reteaua de calculatoare poate fi locala sau extinsa (distribuita).

O BDD comporta mai multe statii (calculatoare) care contine fiecare un administratorde aplicatie, un administrator al BDD care este un software pentru administrarea BDD, un administrator al retelei de comunicatie si un SGBD local.


Figure . Arhitectura unei BDD

Sistemul de gestiune a unei BDD (SGBD) se compune din urmatoarele componente sofware:

SGBD local propriu ce cuprinde un dictionar a datelor locale;

Software de comunicatie ce descrie nodurile si legaturile din cadrul retelei;

Dictionar de date globale ce cuprinde informatii despre BDD, structura, localizare, disponibilitate si modul de utilizare;

SGBDD (sistem de gestiune al unei baze de date distribuite) care premite realizarea interfetei dintre utilizatori si BDD.

BDD au aparut ca solutie de eliminare a strangularilor determinate de operatiile de intrare/iesire .

Solutia cea mai buna a eliminarii strangularii determinata de operatiile de intrare/iesire este cresterea transferului I/O prin paralelism (AP/1984). In loc sa avem o BD care este rezidenta pe un disc de capacitate mare, mai bine pe mai multe discuri de capacitati mici, astfel incat accesul sa se poata realiza in paralel. Astfel, timpul de acces la disc poate fi divizat prin numarul de unitati de discuri.

O solutie comuna la aceste probleme este sa avem componente hardware multiple, independente, interconectate printr-un mediu de comunicatie.

Cel mai semnificativ impact al arhitecturii calculatoarelor pentru BDD decurge din puterea de calcul a statiilor de lucru si a calculatoarelor paralele.

Baza de date paralela este o BDD omogena in care statiile sunt multiprocesoare (calculatoare paralele).

Statiile comunica intre ele prin mesaje. Diferenta fata de o BDD obisnuita este ca, nodul dat de un calculator paralel nu este o statie unde un utilizator poate executa explicit un program de aplicatie. Programele sunt executate pe calculatorul gazda sau pe statii de lucru care comunica cu calculatorul paralele printr-o interfata (procesor interfata PI).


BD2

 


Figure . Arhitectura unei interfete

Componentele sistemului sunt specializate si permit exploatarea optima a resurselor hardware la manipularea datelor. Bazele de date sunt accesate prin intermediul procesorului de acces (PA).

O BDD poate fi omogena sau eterogena. O BDD este omogena cand pe toate statiile sunt aceleasi SGBD-uri si sisteme de operare si eterogena cand statiile nu sunt de aceleasi tip, nu este acelasi SGBD pe toate statiile. BDD eterogene pot fi administrate in ORACLE, INFORMIX, INGRES, etc..

Integrarea statiilor intr-un mediu distribuit permite ca mai multe functii client sa fie distribuite in programe de aplicatii ce se executa pe statii de lucru numite servere de aplicatii, in timp ce functiile BD sunt manevrate de calculatoare dedicate numite servere de date.

Aceasta abordare a serverului de date ne da posibilitatea sa consideram ca aplicatiile distribuite pot sa acceseze la distanta un server de date. Aceasta determina tendintele prezente din arhitectura sistemelor distribuite, unde fiecare site este organizat mai degraba ca un server specializat decat un calculator cu obiectiv general. In mod obisnuit, un SGBD se executa ca un program de sistem pe un calculator care este impartit in programe de sistem si de aplicatii.

Structura functionala a unui SGBDD

Tranzactia este o multime finita si ordonata de operatii: de citire, de scriere, de calcul si de terminare intr-o BD.

Utilizatorul exprima o cerere sub forma unei tranzactii globale. Folosind dictionarul de date al sistemului (DDS) se evalueaza si se descompune in subcereri. Apoi, plaseaza fiecare subcerere nodului care contine informatiile solicitate din BD locala pe care trebuie sa o interogheze. Subcererea trebuie adaptata SGBD-ului local care o va trata ca o cerere locala. Fiecare BD locala poate fi exploatata local de utilizatorii locali prin intermediul unui SGBD local. Cererile de acces pot solicita date situate in noduri diferite. Pentru supervizarea cererii, un nod trebuie sa-si asume rolul de coordonator (celelalte sunt cooperante). Un nod poate fi in acelasi timp si coordonator pentru cererile lansate de el si cooperant pentru cererile lansate din alte noduri care solicita acces la acel nod. Executia unei cereri se realizeaza in doua faze:

i)        Pregatirea executiei (citirea datelor, scrierea in jurnalele locale a datelor neactualizate si a datelor actualizate);

ii)      Realizarea cererii, adica introducerea datelor actualizate in BD daca sistemul functioneaza corect sau nerealizarea cereri daca apare un incident.

Dam algoritmul RCD de realizare a unei cereri distribuite:

Start RCD

Input

Call DNC(cerere,k,C) //determina nodurile cooperante pentru cererea din nodul k //   

For fiecare nod cooperant din C

realizeaza faza de pregatire

nodul cooperant realizeaza faza (i) la primirea mesajului

returneaza nodului coordonator mesajul pregatit

La primirea mesajului pregatit de la toate nodurile, nodul coordonator transmite protocolul realizeaza

La primirea protocolului realizeaza fiecare nod realizeaza faza (ii). La incheierea cu succes se transmite mesajul COMMIT, iar la insucces ROLLBACK, ceea ce determina nodul cooperant sa emita un mesaj de revenire . In acest caz se declanseaza procesul de refacere a BD la starea care se afla inaintea lansarii cererii.

Stop .

Executia cererilor in ordinea enuntarii lor, in toate nodurile cooperante este asigurata prin mecanisme speciale cum ar fi inelul virtual . Nodurile retelei sunt inlantuite logic formand un inel virtual. Fiecare nod are un predecesor si un succesor. Pe inel circula un tichet. Nodul pe care este tichetul emite un mesaj daca este liber. Tichetul trece apoi pe la toate nodurile, iar mesajul este preluat de nodul caruia ii este adresat (cod cooperant). Cand tichetul ajunge din nou la nodul care a emis mesajul, acesta devine liber, iar tichetul trece la nodul urmator.

Obiective ale SGBDD

BDD trebuie sa satisfaca anumite obiective independente, astfel ca utilizarea ei sa devina mai simpla decat o BD centralizata. Nu exista un SGBD care sa indeplineasca toate obiectivele care vor fi enumerate in continuare, dar in functie de particularitatea aplicatiei se alege structura optima relativ la aplicatia propusa.

Independenta fata de locul de memorare

Utilizatorul BDD poate ignora localizarea datelor. Informatiile despre locul unde sunt memorate datele sunt pastrate in dictionarul de date care este consultat de SGBDD cand se formuleaza o cerere de catre un utilizator.

Independenta fragmentarii

Relatiile distribuite sunt subrelatii care sunt frecvent obtinute prin fragmentarea unei relatii si sunt stocate in diferite locuri. Acestea sunt obtinute prin:

a)      Fragmentare pe orizontala pe baza unui predicat de distribuire. Predicatul este o restrictie impusa asupra unui grup de atribute al unei scheme de relatie, astfel ca o submultime de tupluri a relatiei sa fie identificate unic. Acestea au aceeasi schema, dar difera prin datele pe care le contin ;

b)      Fragmentare pe verticala - care specifica schema noii relatii obtinuta prin proiectie;

c)      Fragmentare mixta - care combina fragmentarea pe orizontala cu cea pe verticala. Informatiile referitoare la fragmentare sunt pastrate in dictionarul de date si utilizate de SGBD pentru a traduce automat cererile referitoare la fragmente. Totalitatea fragmentelor memorate intr-un nod formeaza baza de date locala. Independenta fragmentarii ascunde utilizatorului ca datele sunt fragmentate.

Independenta duplicarii

Din motive de fiabilitate si disponibilitate sunt necesare numeroase duplicari de date. Daca o statie devine neoperationala, atunci trebuie sa existe o copie a fragmentului de pe statia respectiva pe o alta statie accesibila altor statii. Acesta se construieste tinand cont de frecventele de apelare.

Independenta SGBD

Pe statii pot sa existe SGBD-uri locale diferite (care sunt determinate de diferite modele sau diferite grupuri de proiectare). Aceasta se realizeaza prin existenta unui mecanism de convertire a unui model de date si a limbajului unui SGBD in cele ale fiecarui alt SGBD local. Solutia este de a folosi un model pivot si un tranzlator intre acest model si modelul fiecarui SGBD local. Ca model pivot a fost ales modelul relational.

Autonomia statiilor

Autonomia sttiilor permite fiecarei statii sa controleze si sa manipuleze datele sale locale independent de alte statii. Fiecare BD locala poate fi controlata independent de un administrator local. Aceasta are avantajul ca administrarea BDD poate fi descentralizata.

Extensibilitatea reprezinta posibilitatea BDD de a-si mari capacitatea cu noi statii in retea cu un impact minim asupra celorlalte si asupra programelor de aplicatii existente. Acest obiectiv este usor de atins daca BDD satisface obiectivul de autonomie.

Performante

Se pot obtine performante prin fragmentari, duplicari si prelucrari paralele.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1285
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved