Documente Academic
Documente Profesional
Documente Cultură
FACULTATEA DE INGINERIE
ELECTRICĂ ȘI TEHNOLOGIA
INFORMAȚIEI
MANAGEMENT IN
TEHNOLOGIA INFORMATIEI
Cuprins
1. Arhitectura bazelor de date in pararel...................................................................................... 3
2. Arhitectura cu memoria partajata ............................................................................................ 3
2.1. Arhitectura cu memoria de disc partajata ......................................................................... 4
2.2. Arhitectura cu nimic partajata. ......................................................................................... 6
3. Concluzii:................................................................................................................................. 9
Bibliografie ................................................................................................................................... 10
2
Suciu Remus Gabriel Baze de Date Relationale
3
Suciu Remus Gabriel Baze de Date Relationale
Avantaje:
- Implementare este simpla
- Stabileste comunicare efectiva intre procesoare prin folosirea unei singure adrese de
memorie.
- Reduce timpul pentru a nu supraincara alte resurse
Dezavantaje:
- Adaugarea mai multor procesoare ar duce la reducerea performantelor altor procesoare.
- Gradul de pararelism este limitat. Adaugarea de mai multe procese in pararel ar duce la
degradarea performantei.
- Consistenta cache-ului trebuie mentinuta. In contextul in care daca orice alt procesor
incearca sa schimbe datele modificate de alt procesor, trebuie sa ne asiguram ca are
ultima versiune.
4
Suciu Remus Gabriel Baze de Date Relationale
Avantaje:
- Cedarea unui procesor nu ar opri intre sistemul (Toleranta la esec)
- Interconexiunea la memorie nu poate crea limitare (bottleneck). Lucru care era posibil la
arhitectura cu memorie partajata)
- Supota un numar mai mare de procesoare daca e comparat cu arhitectura cu memorie
partajata
Dezavantaje:
- Interconectarile la disc pot crea limite deoarece toate procesoarele impart aceasi setare de
disc.
- Comunicarea interprocesoaer e lenta. Motivul se datoreaza faptului ca toate procesoarele
au propria lor memorie. Iar comunicare intre procesoare si nevoia de citire a datelor din
memoria altor procesoare, lucru care duce la nevoi aditionale de aplicatii care sa suporte
acest lucru.
5
Suciu Remus Gabriel Baze de Date Relationale
In arhitectura cu nimic partajata, orice procesor are propria lui memorie si disc. Acest tip de
implementare poate fi considerata ca un set de calculator individual conectat printr-o
interconexiune de retea de foarte mare viteza care folosete protocoale de retea obisnuite si
switch-uri pentru a distribui datele intre calculatoare. Acest tip de arhitectura e folosit in DDS
sau Distribuited Database System. In implementarea sistemului cu bazele de date cu nimic
partajat, se insista in folosirea nodurilor similare care sunt noduri omogene deoarece in anumite
sisteme de baze de date se poate folosi si noduri eterogene.
Avantaje:
- Numarul de procesoare poate sa fie scalabil, se poate adauga un numar mare de
calculatoare.
- Comparand cu celelalte 2 arhitecturi, doar datele care nu pot rezolvate de un procesor
local (un calculator) trebuie trimis prin interconexiunea de retea.
Dezavantaje:
- Accesarea discurilor care nu sunt locale si trebuiesc accesate sunt destul de constisitoare
din punct de vedere al timpului. Asta daca, unul din servere primeste o cerere, iar cererea
respectiva nu e disponibila, trebuie trimisa la serverul care e diponibil datele cerute, lucru
care poate deveni complex.
6
Suciu Remus Gabriel Baze de Date Relationale
Pentru a arata avantajul bazelor de date in pararel comparativ cu o baza de date setata manual am
creat o baza de date cu acelasi volum de date (o tabela cu peste 250.000 recorduri).
Vmware
Workstation
192.168.41.131
7
Suciu Remus Gabriel Baze de Date Relationale
Pentru a reusi acest lucru am avut nevoie de 3 masini virtuale din care una a fost ca si centru de
control (pentru management de resurse si a seta diferit memoria/spatiu de stocare conform
arhitecturilor si comunicarea in retea) si de software-uri specializate pentru acest lucru (vmware
Vsphere si VmwareWorkstation pentru partea hardware si pentru partea software de MSSQL
pentru interogari si creare de date).VmwareWorkstation a fost folosit pentru crea masinile
virtuale intr-o retea comuna si a fost folosit ca punte pentru comunicarea intre cele 3 sisteme.
Pentru a schimba tipul lor ne-am folosit de interfata web din Vsphere web client de pe serverul
central pentru a modifica scopul masinilor remote.
Pentru ca aplicatia sa stie sa interogheze bazele de date distribuite intre cele 2 masini virtuale a
trebuit pe langa instalarea aplicatie individuale a fost nevoie si de o setare pentru a stii ca este o
baza de date distribuita. Pentru asta in MSSQL ne-am folosit de comanda sp_addlinkedserver ex
(EXEC sp_addlinkedserver @server='192.168.41.132')
Ajutorul bazelor de date in pararel vin cand bazele de date sunt mari si au nevoie de un timp de
raspuns rapid la interogare. In cazul nostru am folosit o baza de date cu o tabela simpla unde am
multiplicat datele pana am ajuns la peste 250.000 recorduri.
Rezultatele testelor
Initial pentru testare am descis sa folosesc atata conditia WHERE cat si fara conditia WHERE
dar asta ar fi creat o diferenta foarte mare la rezultat (ex. O masina care nu are baza de date in
pararel la peste 250.000 de recorduri cand le parcugea pe toate si afisa dura 10000 ms cand s-a
pus conditia WHERE timpul se ajunea la 45 de ms ). Pentru a putea totusi dovedi performanta
8
Suciu Remus Gabriel Baze de Date Relationale
bazelor de date in pararel am decis sa fac interogare sa selecteze toate recordurile din baza de
date si sa le afiseze
10000
8000
6000
4000
2000
0
Masina Normala Memorie partajata Disc partajat Nimic partajat
3. Concluzii:
Rezultatele testelor sunt facut dupa 3 rulari, dar timpul este apropiat ca si nivel de performanta
asa ca:
- Masina normala: dupa 3 rulari timpul a fost relativ apropiat, ultima rulare e
posibil sa fie si din cauza altor task-uri care se rulau in background sa fi afectat diferenta
- Memorie partajata (Shared Memory): dupa 3 rulari timpul a fost foarte apropiat
diferenta de cateva zeci de milisecunde sau milisecunde
- Disk partajat (Shared Disk): tot dupa 3 rulari au fost mici diferente dar cred ca sunt
datoare faptului ca pe o masina virtuala conteaza si daca e folosit si de alte resurse in acelasi
timp
- Nimic partajat (Nothing shared): au fost ceva diferente la raspuns dar timpula
fost relativ apropiat
9
Suciu Remus Gabriel Baze de Date Relationale
Bibliografie
- http://www.exploredatabase.com/2014/02/parallel-database-architectures.html
- https://msdn.microsoft.com/en-us/library/ff772782.aspx
- https://msdn.microsoft.com/en-us/library/ms190479.aspx
- https://www.vmware.com/support/pubs/vsphere-esxi-vcenter-server-pubs.html
10