Baze de date
Arhitecturi multi-user pentru sisteme de gestiune a bazelor de dateArhitecturi multi-user pentru sisteme de gestiune a bazelor de date Arhitecturile uzuale care sunt utilizate pentru implementarea sistemelor de gestiune a bazelor de date multi-user sunt: teleprocesarea, arhitectura fisier-server arhitectura client-server. Teleprocesarea este arhitectura traditionala, ce cuprinde un calculator cu o singura unitate CPU si un numar de terminale care sunt incapabile sa functioneze singure. Terminalele trimit mesaje la programele aplicatie ale utilizatorilor, care la randul lor, utilizeaza serviciile SGBD. Aceasta arhitectura a plasat o greutate teribila asupra calculatorului central, care pe langa rularea programelor de aplicatii si ale SGBD-ului, mai trebuie sa preia si din munca terminalelor (de exemplu, formatarea datelor pentru afisarea pe ecran). Arhitectura fisier-server, presupune deja ca procesarea este distribuita in retea (de obicei o retea locala LAN). Arhitectura cuprinde fisierele cerute de aplicatii si SGBD-ul. Aplicatiile si functiile SGBD sunt executate pe fiecare statie de lucru, solicitand cand este nevoie fisiere de pe server-ul de fisiere. Dintre dezavantaje se remarca: existenta unui trafic intens pe retea; necesitatea unei copii complete a SGBD-ului pe fiecare statie de lucru; acelasi fisier poate fi accesat de mai multe SGBD-uri, ceea ce implica un control complex al integritatii, simultaneitatii, reconstituirii. Arhitectura client-server se refera la modul in care interactioneaza componentele software pentru a forma un sistem. Exista un proces client, care necesita resurse si un proces server, care ofera resurse. In arhitectura client-server, clientul (front end) emite, prin intermediul retelei locale, o cerere SQL care este executata pe server (back-end); acesta trimite ca raspuns ansamblul inregistrarilor rezultat. Intr-o astfel de interactiune masinile sunt eterogene, iar protocoalele de retea pot fi distincte.
In contextul bazelor de date, client-ul: administreaza interfata cu utilizatorul si logica aplicatiei; accepta si verifica sintaxa intrarilor utilizatorilor; proceseaza aplicatiile; genereaza cerintele pentru baza de date si le trimite server-ului; transmite raspunsul inapoi la utilizator. In contextul bazelor de date, server-ul: primeste si proceseaza cerintele clientilor pentru baza de date; verifica autorizarea; garanteaza respectarea constrangerilor de integritate; efectueaza procesarea interogare-reactualizare si trimite clientului raspunsul; realizeaza optimizarea interogarilor; asigura controlul concurentei dintre mai multi clienti care se ignora (mecanisme de blocare); intretine dictionarul datelor; ofera acces simultan la baza de date; asigura robustetea in cazul defectiunilor; ofera controlul reconstituirii etc. Arhitectura traditionala client-server pe doua etaje (straturi) presupune: client-ul responsabil, in primul rand, de prezentarea datelor catre client; server-ul responsabil, in primul rand, de furnizarea serviciilor catre client. Arhitectura client-server pe trei etaje presupune trei straturi, fiecare fiind rulat, potential, pe o platforma diferita. stratul (client) format din interfata cu utilizatorul, care este rulat pe calculatorul utilizatorului final; stratul (server de aplicatie), ce manevreaza logica aplicatiilor si prelucrarii datelor, si care poate servi mai multi clienti (conectare la celelalte doua straturi se face prin retele locale LAN sau de mare suprafata WAN); stratul (server-ul de baze de date), care se ocupa cu validarea datelor si accesarea bazei de date (stocheaza date necesare stratului din mijloc). Arhitectura se potriveste natural mediului Web. Un browser Web actionand drept client si un server Web fiind server de aplicatie. Middleware este un strat, evident software, intre aplicatia postului client si server-ul de baze de date, constituit dintr-o interfata de programare a aplicatiilor (API - Application Programming Interface) si un protocol de retea. API descrie tipul de interactiune dintre o aplicatie client si un server la distanta, via un protocol de comunicatie si de formatare a datelor. Scopul existentei interfetei de programare a aplicatiilor este de a oferi o interfata unica mai multor server-e de baze de date. Este convenabil ca sistemele de baze de date sa fie considerate ca fiind formate dintr-un server (sistemul SGBD insasi) si un set de clienti (aplicatiile). Frecvent, clientii si server-ul pot fi rulate pe calculatoare diferite, realizandu-se un tip simplu de procesare distribuita. In general, fiecare server poate deservi mai multi clienti, iar fiecare client poate accesa mai multe server-e. Daca sistemul ofera transparenta totala (fiecare client se poate comporta ca si cum ar comunica cu un singur server, de pe un singur calculator) atunci este vorba despre un sistem de baze de date distribuite.
|