Pagina documente » Informatica, Matematica » Proiectarea bazelor de date distribuite

Cuprins

lucrare-licenta-proiectarea-bazelor-de-date-distribuite
Aceasta lucrare poate fi descarcata doar daca ai statut PREMIUM si are scop consultativ. Pentru a descarca aceasta lucrare trebuie sa fii utilizator inregistrat.
lucrare-licenta-proiectarea-bazelor-de-date-distribuite


Extras din document

Cuprins
1. INTRODUCERE
1.1. Procesarea distribuita a datelor
Procesare distribuita este unul dintre
1.2. Ce este un sistem de baze de date distribuite?
1.3. Avantajele si dezavantajele bazelor de date distribuite
1.4. Transparenta in SGBDD
2. ARHITECTURA SISTEMELOR DE GESTIUNE A BAZELOR DE DATE DISTRIBUITE
2.1. Standardizarea SGBDD
2.2. Modele arhitecturale pentru SGBDD
2.3. Arhitectura SGBD distribuite
2.3.1. Sistemele Client/Server
2.3.2. Sistemele peer-to-peer distribuite
3. PROIECTAREA BAZELOR DE DATE DISTRIBUITE
3.1. Strategii alternative de proiectare
3.1.1. Proiectarea top-down
3.1.2. Proiectare Bottom-Up
3.2. Activitati in proiectarea distribuita
3.2.1. Ratiuni pentru fragmentare
3.2.2. Alternative de fragmentare
3.2.3. Reguli de corectitudine a fragmentarii
3.2.4. Alternativele alocarii
3.3. Fragmentare
3.3.1. Fragmentare pe orizontala
3.3.2. Fragmentare pe verticala
3.3.3. Fragmentare hibrida
3.4. Alocarea fragmentelor
3.4.1. Problema alocarii
3.4.2. Informatii necesare
3.4.3. Model de alocare
4. CONTROLUL SEMANTIC AL DATELOR
4.1 Gestiunea vizualizarilor
4.1.1 Vizualizari in SGBD-uri centralizate
4.1.2 Reactualizari prin intermediul vizualizarilor
4.1.3 Vizualizari in SGBD-uri distribuite
4.2 Securitatea datelor
4.2.1 Controlul accesului autorizat in sistemele centralizate
4.2.2 Controlul accesului autorizat in sistemele distribuite
4.3 Controlul semantic al integritatii
4.3.1. Controlul semantic al integritatii in sistemele centralizate
4.3.2 Controlul semantic al integritatii in sistemele distribuite

Alte date

?

1. INTRODUCERE

Sistemele bazelor de date distribuite (SBDD) sunt reuniunea a doua abordari asupra procesarii datelor care pot parea diametral opuse: tehnologiile sistemelor de baze de date si cele ale retelelor de calculatoare. Sistemele de baze de date au evoluat de la o procesare a datelor in care fiecare aplicatie isi defineste si mentine propriile date, la una in care datele sunt definite si administrate central. Aceasta noua orientare duce la independenta datelor, astfel aplicatiile devenind imune la schimbarile in organizarea fizica sau logica a datelor si viceversa. O motivatie majora in folosirea sistemelor de baze de date o constituie integrarea datelor si oferirea unui acces centralizat si controlat la aceste date. Pe de alta parte, tehnologia retelelor de calculatoare promoveaza un mod de lucru care este impotriva tuturor eforturilor de centralizare. Poate fi astfel greu de inteles cum aceste doua abordari contrastante pot fi sintetizate intr-o tehnologie care este mai puternica si mai promitatoare decat amandoua. Cheia intelegerii este realizarea faptului ca cel mai important obiectiv al tehnologiei bazelor de date nu este centralizarea, ci integrarea. Este important de stiut ca nici unul din acesti termeni nu il implica pe celalalt. Poate exista integrare fara centralizare, acesta fiind chiar scopul bazelor de date distribuite.

1.1. Procesarea distribuita a datelor

Procesare distribuita este unul dintre cei mai abuzati termeni in stiintele calculatoarelor in ultimii ani. A fost folosit pentru a referi sisteme diverse, cum ar fi sistemele multiprocesor, procesarea distribuita a datelor si retele de calculatoare. Procesare distribuita este un concept pentru care este greu sa se dea o definitie riguroasa, deci vom da o definitie in ceea ce priveste sistemele de baze de date distribuite. Un sistem de calcul distribuit consta dintr-un numar de elemente de procesare autonome (nu neaparat omogene) care sunt interconectate printr-o retea de calculatoare si coopereaza in executarea sarcinilor (task) lor. Prin “element de procesare” se intelege un calculator, ce poate executa programe proprii.

In acest context, se impune o intrebare: Ce se distribuie? Logica procesarii este unul din lucrurile care trebuie distribuite. Definitia unui sistem de calcul data mai sus presupune ca logica procesarii sau elementele de procesare sunt distribuite. O alta distribuire poate fi a functiilor. Diferitele functii ale unui sistem de calcul pot fi executate de parti diferite de hardware sau software. Alta distribuire poate fi cea conform datelor. Datele folosite de un numar de aplicatii pot fi distribuite la mai multe noduri de procesare. In sfarsit, si controlul poate fi distribuit. Controlul executiei diferitelor sarcini poate fi distribuit, in loc de a fi executat de un singur calculator. Din punctul de vedere al bazelor de date distribuite, toate aceste metode de distribuire sunt necesare si importante.

O alta intrebare care poate fi pusa este: De ce distribuim? Raspunsurile clasice la aceasta intrebare afirma ca procesarea distribuita corespunde mai bine structurii organizatorice a marilor intreprinderi de azi, si ca un astfel de sistem este mai sigur si mai avantajos. Dintr-o perspectiva globala totusi, se poate spune ca motivul principal pentru procesarea distribuita este rezolvarea problemelor mari si complicate cu care ne confruntam in zilele noastre, prin folosirea unor variatiuni a bine cunoscutei reguli divide et impera. Daca software-ul necesar procesarii distribuite poate fi creat, atunci este posibil sa rezolvam aceste probleme complicate prin simpla impartire a lor in parti mai mici, care pot fi rezolvate de diferite grupuri software, aflate pe calculatoare diferite, producand un sistem care ruleaza pe mai multe elemente de procesare, dar care poate efectua eficient o sarcina comuna.

1.2. Ce este un sistem de baze de date distribuite?

Putem defini o baza de date distribuita ca pe o colectie de baze de date corelate logic si distribuite pe o retea de calculatoare. Un sistem distribuit de gestionare a bazelor de date este definit ca un sistem software care permite gestionarea bazelor de date distribuite si face distribuirea transparenta pentru utilizatori. Sunt doi termeni importanti in aceasta definitie: corelate logic si distribuite intr-o retea de calculatoare.

Un sistem de baze de date distribuite (SBDD) nu este numai “o colectie de fisiere” care pot fi stocate individual la fiecare nod al unei retele de calculatoare. Pentru a forma un SBDD, fisierele trebuie sa fie corelate logic, sa existe o anumita structura intre ele si sa fie accesate prin intermediul unei interfete comune. Un SBDD nu este un sistem in care, in ciuda existentei unei retele, baza de date se afla pe un singur nod al retelei. In acest caz, problemele de gestionare a bazelor de date nu sunt diferite de cele din mediul centralizat. Baza de date este gestionata central de un calculator si toate cererile sunt trimise catre acel calculator. Deci existenta unei retele nu implica un mediu distribuit. Datele trebuie sa fie distribuite pe mai multe noduri ale unei retele.

Baza de date distribuita are caracter virtual. Componentele sale sunt stocate pe baze de date distincte, aflate pe noduri distincte ale unei retele. Fiecare nod este un sistem de baze de date, avand propriile baze de date, utilizatori proprii si SGBD local. Sistemul distribuit poate fi vazut ca o asociere intre SGBD-ul local si o componenta noua in fiecare nod. El furnizeaza functiile necesare pentru asociere.

Figura 1.1 Mediul SBDD

1.3. Avantajele si dezavantajele bazelor de date distribuite

Avantaje:

Autonomie locala. Utilizatorii unei baze de date ce se afla pe o anumita statie din retea au controlul local al datelor, datorita organizarii descentralizate. Datele locale se pastreaza local, unde apartin logic, in majoritatea cazurilor procesarea lor executandu-se in nodul in care sunt stocate,

Imbunatatirea performantei. Prin executia in paralel a mai multor sarcini, pe statii diferite, se pot reduce conflictele de acces la date si se poate imbunatati atat viteza de executie a operatiilor asupra bazelor de date cat si viteza accesului la informatiile stocate.

Îmbunatatirea sigurantei si disponibilitatii. Daca datele sunt replicate pe mai multe noduri, indisponibilitatea unuia dintre acestea sau o problema pe retea nu face ca datele sa nu poata fi accesate.

Economice. Daca bazele de date sunt dispersate geografic si aplicatiile ruleaza in locul in care sunt si datele, se imbunatatesc costurile de comunicatie.

Expandabilitatea. Într-un mediu distribuit este mult mai usoara marirea dimensiunilor bazelor de date.

Partajabilitate. Organizatiile care au operatii distribuite geografic inmagazineaza in mod normal si datele in aceeasi maniera.

Dezavantaje: