Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
Introducere
O implementare a unui sistem de baze de date distribuit poate fi simpla sau complexa. Intr-un mediu omogen, tipurile de sisteme de calcul ce proceseaza baza de date pot fi controlate riguros. De aceea, software-ul bazei de date distribuite poate fi relativ simplu. Cateva scheme pentru distributia bazelor de date, au fost proiectate pentru platforme particulare, constand in hardware specific, sistem de operare si software pentru retea. De exemplu, multe retele constau in intregime din calculatoare personale utilizand multiprocesoare cu arhitectura Intel. In multe din aceste retele, calculatorul client ruleaza sistemele de operare Microsoft si serverul ruleaza un sistem de operare pe retea Novell. Un obiectiv al vanzatorilor de software pentru baze de date distribuite este ca acestea sa suporte un mediu complet eterogen. Sistemele de calcul pot fi mainframe, minicalculatoare sau PC-uri functionand cu diverse microprocesoare (Intel, IBM). O varietate de sisteme de operare pot fi suportate, inclusiv Apple, IBM, Microsoft, sisteme variate de tip Unix si sisteme de operare proprii folosite adesea in mainfram-uri, minicomputere. Este de dorit de asemenea sa suporte o varietate de mecanisme de comunicatie (transmitere de mesaje, proceduri de apelare la distanta, cozi de mesaje) si protocoale de transport al datelor (SNA,TCP/IP). Pentru a usura crearea unui mediu eterogen de baze de date distribuite, s-au dovedit a fi utile trei modele diferite de arhitecturi de software:
Modelul Gateway
Gateway este un dispozitiv ce conecteaza retele care utilizeaza protocoale de comunicatii diferite astfel ca informatiile sa poata sa fie trecute de la o retea la alta. Gateway transfera informatiile si le converteste intr-o forma compatibila cu protocoalele de retea care le primeste.
Fiecare subsistem software pentru baze de date este destinat sa foloseasca o interfata API(application program interface) particulara. Programele de aplicatie ce vor sa foloseasca serviciile unui subsistem software de baze de date trebuie sa formuleze instructiunile de acces la baze de date, folosind un software API de baze de date recunoscut (fig. 4.1).
Fig.4.4 Program de aplicatie, gateway, si software BD implementate pe masini separate
4.2 Modelul interfetei standard
Ca si modelul gateway, modelul interfetei standard este proiectat sa permite unui program de aplicatie scris sa foloseasca o interfata API a unei baze de date data, sa ceara servicii de la software-ul bazelor de date ce suporta un alt API. Software-ul ruleaza pe un calculator server numit sursa de date. El consta in software de baza de date si software de comunicatie server. Software-ul ce ruleaza pe un calculator client contine unul sau mai multe componente driver proiectate sa interactioneze cu un tip particular de surse de date(fig. 4.5).
Service Interface
Fig.4.5. Modelul interfetei standard a unei BD distribuite
Conectivitatea bazelor de date deschise ale Microsoft (ODBC)
client
Fig.4.6. Modelul protcolului standard pentru o baza de date distribuita
Arhitectura bazelor de date relationale distribuite de la IBM (DRDA)
Pentru ca un protocol standard de implementare sa fie folosit, cateva companii suficient de puternice au trebuit sa publice protocolul standard. In mediul mainframe o astfel de organizatie este IBM. IBM a creat un protocol standard de acces la baza de date numit DRDA. IBM a creat DRDA initial pentru ca mainframe sa suporte software-ul DB2.
DRDA-ul de la IBM defineste patru nivele de acces la baze de date distribuite bazate pe complexitatea tranzactiilor pe care le pot construi aplicatiile, pe numarul de functii pe care software-ul bazei de date il suporta pentru a manipula fiecare tranzactie si pe capacitatea protocoalelor standard de a comunica intre componente. Cele patru nivele sunt:
Cererea la distanta. Cu acest nivel de acces, software-ul bazei de date suporta tranzactii ce contin fiecare o singura instructiune SQL ce acceseaza o singura baza de date aflata la distanta. Software-ul bazei de date nu are nevoie de functii de prelucrare a tranzactiilor speciale pentru a suporta acest nivel de acces.
Unitate de lucru la distanta. La acest nivel de acces, software-ul bazei de date suporta tranzactii care pot contine o serie de instructiuni SQL legate, ce acceseaza toate aceeasi baza de date la distanta. Software-ul BD trebuie sa fie capabil sa coordoneze toate procesele Rollback pentru toate instructiunile SQL.
Unitate de lucru distribuita. La acest nivel de acces, software-ul bazei de date suporta tranzactii ce pot contine fiecare o serie de instructiuni SQL, ce pot accesa fiecare o baza de date la distanta. Oricum fiecare instructiune individuala SQL trebuie sa faca referire la o singura baza de date. Aceast nivel cere ca software BD sa suporte capabilitati de actulizare distribuite in care o singura tranzactie poate sa actualizeze o baza de date rezidenta pe mai multe masini.
Cereri distribuite. Acest nivel de acces e similar cu unitatea de lucru distribuita, cu exceptia ca fiecare instructiune SQL poate referi informatii ce sunt stocate in uniri de baze de date distribuite
Programul de aplicatie si componenta client de comunicatie, ruleaza ambele pe sistemul local. Apoi, componenta client de comunicatie trimite un mesaj prin retea la o functie software complementara, numita serverul bazei de date. Un protocol standard definit de DRDA e folosit pentru comunicarea intre componentele client si server. Componenta de comunicare server, software-ul bazei de date si baza de date insasi se afla pe sistemul de calcul la distanta.
fig. 4.7. Configuratia cererii de la distanta
Componenta de comunicatie server ce ruleaza pe sistemul de calcul la distanta admite cereri pentru accesul la baza de date, care sunt primite de soft-ul bazei de date ce ruleaza acolo. Serverul de comunicatie trimite inapoi rezultatele la componenta de comunicatie client din sistemul local. Componenta de comunicatie client trece apoi datele cerute programului de aplicatie local. Orice interfata API a bazei de date poate fi folosita si in calculatorul server si in client cat timp componentele de comunicatie client si server utilizeaza un protocol standard DRDA. Cu procesarea de cereri la distanta, toate functiile de distributie sunt manipulate de componentele client si server. Software-ul bazei de date din calculatoarele la distanta nu are nevoie sa stie ca are loc un acces la baza de date distribuita. Serverul de comunicatie apare pentru software-ul bazei de date ca un program de aplicatie care ruleaza pe calculatoare la distanta. Software-ul bazei de date ce ruleaza pe calculatoare la distanta poate bloca si elibera un dispozitiv de blocare ce permite accesul pe baza unei chei potrivite si poate face orice prelucrare de recuperare a bazei de date, ceruta de functiile serverului de comunicatie. Oricum, daca exista o eroare in retea, daca programul aplicatie ce apeleaza componenta bazei de date client cade, de eroare trebuie sa se ocupe programul aplicatie sau componenta de comunicatie client sau componenta de comunicatie server.
Fig. 4.8. Configuratia unitatii de lucru la distanta
Configuratii de baze de date distribuite
Fig.4.9 Configuratii de BD distribuite
Unitati de lucru distribuite. Intr-o configuratie data de o unitate distribuita de lucru, un program aplicatie poate apela date mentinute intr-o baza de date aflata la distanta, impartita pe doua sau mai multe calculatoare. Programul de aplicatie poate folosi un numar oarecare de instructiuni SQL, potrivite pentru scopul fiecarei tranzactii. Cu aceasta abordare, fiecare instructiune individuala SQL, trebuie sa se refere la datele care sunt stocate pe un singur sistem de calcul aflat la distanta. Software-ul bazei de date ce ruleaza pe calculatorul local si software-ul bazei de date ce ruleaza pe calculatorul la distanta lucreaza impreuna la coordonarea procesului de recuperare.
4.5 Standard acces la baze de date relationale al X OPEN
Un alt exemplu de protocol standard de acces la baze de date este standardul RDA care a fost definit de X/OPEN, o organizatie internationala de standarde. RDA-ul X/OPEN se conformeaza aceluiasi nivel general ca si DRDA-ul de la IBM si are aceleasi scopuri generale, dar defineste un protocol diferit de DRDA.
Obiectivele bazelor de date distribuite
Scopul suprem ce ar trebui sa guverneze proiectarea oricarei baze de date distribuite este sa faca sistemul distribuit sa arate pentru utilizatorul final exact ca un sistem nedistribuit. Cu alte cuvinte, toate mecanismele ce sunt folosite sa se ajunga la distributia bazelor de date trebuie ascunse pur si simplu de utilizator. O baza de date distribuita ar trebui sa prezinte imaginea unei singure baze de date logice care este fizic distribuita pe mai multe site-uri (grup de documente HTML conexe). Punctul principal este ca, daca distributia este facuta corect, cu un mecanism software de BD corect, utilizatorul nu va face diferenta dintre o singura baza de date locala si una distribuita pe un numar de calculatoare la distanta. In continuare sunt prezentate cateva obiective pentru sistemul de baze distribuit
Autonomia locala. Este de dorit pentru diversele locatii dintr-un sistem de baze de date distribuit sa fie folosite independent una de cealalta. Acesta inseamna ca operatiile ce au loc intr-o locatie trebuie sa fie controlate de software-ul care ruleaza pe o singura locatie. Operatiile ce au loc pe un singur site nu ar trebui sa depinda de operatiile ce au loc altundeva in sistemul distribuit.
Nici un sprijin de la site-ul central. Obiectivul autonomiei locale presupune ca toate locatiile dintr-un sistem distribuit sa opereze ca egale si sa nu faca nici o cerere care sa se bazeze pe o singura locatie pe care o poate face un serviciu central pentru sistemul distribuit.
Operatiile continue. Ar trebui sa fie posibil sa fie proiectat intregul sistem al bazelor de date distribuit astfel incat sa nu trebuiasca niciodata ca o cerere sa inchida intregul sistem pentru a realiza o functie ceruta, cum ar fi adaugarea unei noi locatii la sistemul distribuit.
Independenta locatiilor. Un utilizator final sau un program aplicatie nu ar trebui sa fie preocupati de locatia fizica a datelor cand cer o operatie de acces la date. Sistemul de date distribuit ar trebui sa faca datele distribuite sa apara ca si cand ar fi date stocate intr-o singura baza de date logica ce rezida in locatia utilizatorului final.
Copyright © 2024 - Toate drepturile rezervate