Metode de Executie in Paralel a Interogarilor Bazelor de Date Complexe

Imagine preview
(8/10)

Acest referat descrie Metode de Executie in Paralel a Interogarilor Bazelor de Date Complexe.
Mai jos poate fi vizualizat un extras din document (aprox. 2 pagini).

Arhiva contine 1 fisier doc de 12 pagini .

Profesor indrumator / Prezentat Profesorului: Gavril Godza

Iti recomandam sa te uiti bine pe extras si pe imaginile oferite iar daca este ceea ce-ti trebuie pentru documentarea ta, il poti descarca. Ai nevoie de doar 8 puncte.

Domeniu: Calculatoare

Extras din document

1. Introducere

Pe parcursul ultimei decade, toate sistemele comerciale de baze de date au inclus in produsele lor functii de procesare in paralel. Evolutia a fost generata de cresterea intr-un ritm considerabil a dimensiunilor bazelor de date. Potrivit rezultatelor din 1998 a “Concursului pentru baze de date foarte mari“, cele mai mari baze de date din lume, care au depasit dimensiunea de 10 TB, isi dubleaza marimea in fiecare an. In acest ritm, ele depasesc cresterea in viteza a procesoarelor si pe cea in marime a memoriilor, astfel incat sunt necesare actiuni suplimentare pentru a face fata efectelor survenite in urma cresterii rapide a volumului de date. Una dintre acele optiuni este paralelismul. Ajuta la procesarea multiplicata constanta , chiar daca se mareste dimensiunea bazei de date. Acest efect, deseori denumit “marire la scara” este important in incarcarea datelor, crearea de indecsi, in varii operatiuni de administrator care se fac asupra bazei de date, si bineinteles pentru aplicatiile ce folosesc loturi mari de date. Paralelismul este de asemenea folosit pentru a accelera sarcinile care altminteri ar lua zile sau chiar saptamani pentru a fi procesate devenind astfel inutile pentru aplicatie. Cerinte: aplicatiile de suport decisional sunt caracterizate prin rezultate rapide la sarcini complexe in structuri mari de date. Paralelismul in bazele de date poate rezolva asemenea tipuri de probleme si acest fapt va fi demonstrat in continuare.

Bazele de date au exploatat paralelismul inca de la inceput (la inceputul anilor ’60), intr-o maniera similara cu sistemele de operare. Un sistem de operare permite mai multor utilizatori sa foloseasca aceleasi resurse hardware, concomitent, adica in paralel, iar un sistem de baze de date permite ca aceeasi baza de date sa fie accesata concomitent de mai multe aplicatii. Ideea de fond este aceeasi: de fiecare data cand o aplicatie este blocata din cauza unei operatiuni lente, precum discurile I/O, comunicarea cu un nod la distanta, interactiune cu utilizatorul, functia procesorului este directionata catre o aplicatie gata de executie.Tostusi este o diferenta notabila intre modul in care un sistem de operare foloseste distribuirea timpului si ce poate face un sistem de baze de date cu multiplii utilizatori: avand in vedere ca sistemul de operare aloca fiecarui utilizator propriile resurse (procese, spatii pentru adrese, fisiere, sesiuni de lucru, etc ), baza de date este vazuta ca un obiect in comun. Diferite aplicatii pot accesa aceleasi inregistrari sau campuri in acelasi timp, si problema de a mentine in mod automat corectitudinea actiunilor intr-un asemenea mediu de executare in paralel, a fost una din marile provocari ale cercetarilor in domeniul bazelor de date, din anii ’70. Problema a fost solutionata de notiunea de tranzactie, cu interactiunile sale complexe intre verificarea structurala, recuperarea, iar fiabilitatea obtinuta s-a dovedit o baza ideala pentru larg raspanditele sistemele de informatii online. Faptul ca toate aspectele tehnice legate de fixare si recuperare pot fi complet ascunse de aplicatie, fac bazele de date moderne in stil SQL, primele medii de programare folosite comercial care in mod automat controleaza analogiile, adica paralelismul intre interogari.

Mult timp aceasta a fost singura utilizare a paralelismului in bazele de date – cu exceptia catorva sisteme speciale. Totusi, in anii ’80 utilizatorii au inceput in mod progresiv sa dezvolte aplicatii care erau diferite complet de tranzactiile online clasice: au cautat prin bazele lor de date (care, precum s-a spus erau intr-o continua crestere accelerata), sa gaseasca motive interesante, trenduri, preferinte ale clientilor, etc., genul de analiza supranumit “sustinere decizionala“, “exploatarea a datelor“, “procesare analitica online“ si multe alte denumiri. Acele aplicatii folosesc baze de date intr-un alt mod decat cele online. O tranzactie online este scurta; executa in mod normal 100.000 instructiuni, implica mai putin de 100 obiecte din baza de date, si genereaza mai putin de 10 mesaje. Totusi, sunt multe operatiuni simultane de acelasi tip, fiecare solicita raspuns in timp scurt, si astfel sistemul ar trebui sa functioneze la cote maxime. In acest caz paralelismul inseamna o supradimensionare: se doreste capacitatea de a se actiona la fel si in bazele mai mari de date, fara sa afecteze timpul de raspuns la operatiunile online.

Aplicatiile cu suport decizional, pe de alta parte, implica milioane de obiecte, executa 1012 instructiuni sau chiar mai mult, si in mod normal nu se efectueaza in paralel una cu alta sau cu operatiuni uzuale online. Executarea unor asemenea aplicatii in timp util solicita folosirea paralelismului in toate domeniile sistemului bazelor de date, ceea ce are un impact important asupra structurii generale a motorului bazei de date si a interfatei cu sistemul de operare.

2. Nivele de paralelism intr-un sistem de baze de date

Paralelismul poate fi folosit in sistemele de baze de date la diverite niveluri, in doze diferite. Cele mai edificatoare tipuri de paralelism pot fi clasificate astfel:

- Analogii inter-operationale,

- Analogii intre operatiunile bazelor de date in cadrul unei tranzactii,

- Executia in paralel a unei operatiuni unice cu baza de date,

- Acces in paralel la datele stocate.

Lista arata ca pe langa paralelismul din nivelurile joase, sistemele de baze de date au si o capacitate de concomitenta functionala. Sa detaliem deci fiecare tip in parte.

2.1 Analogii inter-operationale

Este vorba despre executarea simultana a diferitelor operatiuni online, mentionata in Sectiunea 1. Din moment ce functioneaza pe aceeasi baza de date (comuna), accesul simultan pentru citire/scriere catre acelasi element informational trebuie mediat automat de sitemul bazei de date pentru a mentine transparente pentru programul aplicatiei a tuturor aspectelor paralelismului; aceasta fiind un program segvential ce functioneaza pe principiul accesului liber la o baza de date cu utilizator unic. Aceasta abordare transparenta a paralelismului cu anumite garantii formale de continut, se bazeaza pe conceptul de tranzactie, ceea ce da executarii asa-numita proprietate ACID (valenta, consistenta, izolare, rezistenta ).

Fisiere in arhiva (1):

  • Metode de Executie in Paralel a Interogarilor Bazelor de Date Complexe.doc

Alte informatii

Metode de executie in paralel a interogarilor bazelor de date complexe - a fost prezentat in cadrul materiei "Retele de calcul si prelucrare distribuita". Universitatea Politehnica Bucuresti Facultatea de Automatica si Calculatoare 2007