Sunteți pe pagina 1din 10

UNIVERSITATEA DIN ORADEA

FACULTATEA DE INGINERIE
ELECTRICĂ ȘI TEHNOLOGIA
INFORMAȚIEI
MANAGEMENT IN
TEHNOLOGIA INFORMATIEI

Studiu comparativ a arhitecturilor sistemelor de baza de date


paralele

- BAZE DE DATE RELATIONALE -


ANUL 1

PROFESOR COORDONATOR: STUDENT:


• DR. ING. GYORODI CORNELIA • SUCIU REMUS GABRIEL
Suciu Remus Gabriel Baze de Date Relationale

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

1. Arhitectura bazelor de date in pararel


In ziua de azi toata lumea e interesanta sa stocheze informatia care o detin. Chiar si
organizatiile mici colecteaza date si intretin baze de date. Chiar daca bazele de date consuma
spatiu ele ajuta in multe feluri.
De exemplu, sunt de mare ajutor atunci cand se ia o decizie printr-un sistem de suport
comparand prin metodele conventionale de centralizare a datelor care sunt un pic mai complexe.
Asta inseamna, ca pana si cele mai simple interogari sunt interogari care consuma timp.
Solutia pentru aceasta problema e sa manipulam aceste baze de date printr-un sistem de baza de
date in pararel, unde un tabel / baza de date e distribuit la mai multe procesoare asemanatoare
care pot realiza interogari in pararel. Un astfel de sistem care are resursele distribuite pentru a
putea manipula un volum urias de date doar pentru a creste performanta intregului sistem se
numeste Sistem de baze de date in pararel.

2. Arhitectura cu memoria partajata

La arhitectura cu memoria partajata, o singura memorie e distribuita la mai multe procesoare,


dupa cum se poate observa in figura de mai in jos. Cum se arata in figura mai multe procesoare
sunt conectate prin interconexiuni de retea cu memoria principala si setarea discului. Aici
interconexiunile de retea sunt de regula de mare viteza (ex. Bus, Mesh, HyperCube) lucru care
face ca distribuirea datelor (transportul lor) sa fie foarte facil intre diferite componente (Procesor,
memorie, disc).

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.

2.1. Arhitectura cu memoria de disc partajata


In arhitectura cu memoria de disc partajata, un singur disc sau setarea unui singur disc e partajat
la toate procesoarele disponibile si toate procesoarele au propria lor memorie (figura de mai in
jos).

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.

Ex. DEC Clusters (VMSCluster) care ruleaza Rdb.

5
Suciu Remus Gabriel Baze de Date Relationale

2.2. Arhitectura cu nimic partajata.

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

- Costul comunicarii ce implica transportarea datelor intre calculatoare.

Ex. Teradata, Tandem, Oracle nCUBE

Testarea diferentelor de performanta


Pregatirea hardware a arhitecturilor

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

Server central (Vsphere


Central Web Control)

192.168.41.131

VMware vSphere VMware vSphere


Hypervisor (ESXi) Hypervisor (ESXi)
(1) (2)
192.168.41.130 192.168.41.132

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.

Celelalte doua masini au fost folosite in functie de diferite teste ca si:


- Masini individuale cu resurse proprii (nothing shared)
- Cluster cu resurse distribuite intre cele 2 masini (shared memory,shared disk)

Pregatirea software pentru rulare in pararel

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')

Pregatirea datelor pentru interogare

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

Rezultatele testelor in milisecunde


12000

10000

8000

6000

4000

2000

0
Masina Normala Memorie partajata Disc partajat Nimic partajat

Rulare 1 Rulare 2 Rulare 3

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

S-ar putea să vă placă și