Download presentation
Presentation is loading. Please wait.
1
Algoritmi 2PL şi Send on Demand pentru
Universitatea “Politehnica” Bucureşti Facultatea de Electronică, Telecomunicaţii şi Tehnologia informaţiei Algoritmi 2PL şi Send on Demand pentru optimizarea accesului la baze de date -PROIECT DE LICENŢĂ - Coordonator ştiinţific : Conf. Dr. Ing. ŞTEFAN STĂNCESCU Absolvent: GEORGE – SORIN A. BUZOIANU Bucureşti, 2009
2
Agenda prezentării: Introducere in baze de date şi SGBD Tranzacţii
Controlul Concurentei şi Asigurarea Consistenţei Validare – Abortare Serializabilitatea Tranzacţiilor Controlul concurenţei în baze de date de volum mare Mecanisme de blocare Two Phase Locking Algoritmi „Trimite la cerere” (Send on Demand)
3
Introducere în bazele de date
şi SGBD Baza de date reprezintă una sau mai multe colecţii de date aflate în interdependenţă împreună cu descrierea datelor şi a relaţiilor dintre ele.
4
Tranzacţii Tranzactiile sunt unitati de executie care garanteaza consistenta si siguranţa bazei de date. Orice tranzacţie trebuie să îndeplinească regulile ACID Fiecare tranzacţie accesează date partajate existând şansa să interfereze cu alte tranzacţii.
5
SGBD SGBD (Sistem de Gestiune a Bazelor de Date)
- trebuie sa asigure executarea sigura a tranzacţiilor si respectarea regulilor ACID. Regulile ACID sunt: Atomicitate – Ori toate operaţiile sunt efectuate, ori niciuna; Cu alte cuvinte tranzacţia apare a fi indivizibila. Consistenţa – Toate tranzacţiile trebuie sa lase baza de date într-o stare de consistenţă. Izolarea – Tranzacţiile nu pot interfera intre ele. Durabilitatea – Tranzacţiile efectuate cu succes trebuie sa reziste si unor defectări.
6
Controlul Concurentei şi Asigurarea Consistenţei
Gestiunea tranzactiilor se refera la problematica mentinerii într-o stare consistenta a bazei de date in conditiile in care accesul la informatii se face in regim concurrent si este posibila aparitia unor defecte. Consistenta trebuie garantata independent de executia in mod concurent cu alte tranzactii sau de apartia unor defecte. Controlul concurenţei reprezintă activitatea de coordonare a acţiunilor proceselor care operează in paralel, accesează date partajate, şi prin urmare interferă in mod potenţial una cu alta.
7
Validare - Abortare Daca tranzactia se executa cu success, atunci aceasta se termina cu o validare (commit). In cazul unei erori se va termina cu o operatie de abortare (abort sau rollback). Validarea are dublu rol: - indică momentul la care efectele pot fi reflectate in baza de date. - indică momentul de la care modificarile nu mai pot fi anulate. In cazul abortarii, executia tranzatciei este oprita iar efectele tuturor operaţiilor din cadrul acelei tranzacţii sunt anulate, baza de date revenind la starea dinaintea lansarii tranzactiei.
8
Serializabilitatea Tranzacţiilor
Când doua sau mai multe tranzacţii se executa concurent, operaţiile bazei lor de date se executa intr-un stil intercalat. Adică, operaţiile dintr-un program se pot executa intre doua operaţii dintr-un alt program. O execuţie in care nici două tranzacţii nu sunt intercalate se numeşte in serie. Procesarea în serie → Nu se pot executa tranzacţii concurent. Fără concurenţă un sistem de baze de date nu poate profita de resursele sale → Ineficienţă Serializabilitatea este utilă în sistemele simple de baze de date
9
Controlul concurenţei în baze de date de volum mare
Mecanisme de control: Mecanisme de blocare Mecanisme optimiste - opreşte sincronizarea tranzacţiilor pana când toate operaţiile sunt efectuate. Conflictele sunt rare , dar nu pot fi anticipate. Mecanisme pesimiste - posibilele execuţii concurente sunt sincronizate devreme în ciclul lor de execuţie. Este foarte probabil să apară blocaje, dar acestea pot fi anticipate din timp.
10
Mecanisme de blocare Blocarea bifazica (2PL) Strict 2PL
2PL cu prioritate mare (2PL-HP) Protocolul de blocare bazat pe priorităţi (PB)
11
Two Phase Locking Este cel mai vechi şi cel mai des folosit algoritm de control concurent. In forma sa simplă, când un proces are nevoie să citească sau să scrie un obiect, mai întâi blochează acel obiect. Blocarea se face folosind un singur manager de blocare central, sau câte un manager de blocare local pe fiecare maşină, pentru administrarea locală a obiectelor. Este acceptată o singura blocare pe un obiect până la deblocarea lui. In cazul 2PL procesul achiziţionează mai întâi toate elementele de care are nevoie in timpul fazei de creştere, după care le eliberează in timpul fazei de descreştere. Dacă un proces nu realizează actualizarea unui fişier până ajunge in faza de eliberare, atunci neblocarea unui element poate fi tratată pur şi simplu prin eliberarea tuturor elementelor şi reluarea procedeului după un scurt timp.
12
Blocarea şi analiza performanţelor blocării
Timpul mediu de răspuns este suma timpului mediu de execuţie şi timpul mediu de blocare când este întâlnit un conflict de blocare. Timpul mediu de răspuns al unei tranzacţii este: - k reprezintă numărul de blocaje pentru o tranzacţie - W reprezintă timpul de aşteptare - Pc reprezintă probabilitatea apariţiei de conflicte între blocaje pentru cererea de blocaj numărul i - S (Ma) este durata medie de procesare a tranzacţiilor active M = Numărul de tranzacţii D = Numărul de Date
13
Algoritmi „Trimite la cerere” (Send on Demand)
Protocoalele „Send on demand” fac parte din categoria protocoalelor în care cerinţele de date sunt cunoscute, spre deosebire de 2PL , la care cerinţele nu sunt cunoscute decât ulterior. Lucrarea de faţă studiază o nouă metodă ce poartă numele de Replicare Întârziată Atomic (Atomic Delayed Replication-ADR) şi face parte din categoria algoritmilor ”Send on demand”. Cu ajutorul acestei metode se studiază impactul unor diverşi parametri asupra bazelor de date prin timp de răspuns , cantitatea maximă de informaţie prelucrată şi timp de aşteptare. Pentru baze de date exista două noţiuni distincte: Prima este data logica propriu-zisa notate cu D Reprezentările fizice ale acesteia numite replici , notate cu D1, D2, … , Dn.
14
Algoritmi „Trimite la cerere” (Send on Demand)
De obicei toate copiile unei date au aceeaşi valoare. Această proprietate este cunoscută sub numele de coerenţă sau consistenţă mutuală. Acesta este un criteriu pentru verificare corectitudinii tranzacţiilor concurente ce accesează date replicate. Modelarea algoritmului se realizează prin implementarea unor procese Poisson cu parametrul λglobal asupra tranzacţiilor ce sosesc în sistemul distribuit. λ global reprezintă totalitatea interogărilor şi actualiză rilor pentru o anume tranzacţie
15
Modelul matematic si analiza performantelor
Timpul mediu de răspuns pentru întreg sistemul poate fi obţinut folosind timpul mediu de răspuns pentru interogări (queries), notat cu , timpul mediu de raspuns pentru actualizări (update-uri), notat cu şi rata totală a operaţiilor (interogări şi actualizări) pentru o baza de date locală: In formula de mai sus λq reprezintă rata totală a interogarilor , iar λu este rata totală a actualizărilor, suma lor determinand rata totală a operatiilor . In continuare sunt prezentate relatiile folosite pentru calcularea timpului de raspuns total
16
Aplicaţia Practică
17
Aplicaţia practică T1 T10 T3 T2
18
Aplicaţia practică
19
Aplicaţia practică
20
Aplicaţia practică
21
Concluzii Pentru “Send on Demand”:
Pe măsură ce gradul de replicare creşte şi mai mult, curba timpului de răspuns , pentru un număr mai mic de tranzacţii, porneşte de la valori mult mai mici ale timpului de răspuns. Astfel, se observă că acest mecanism este mai eficient pentru un număr mic de tranzacţii. Pentru o bază de date cu un număr de tranzacţii între 1 şi 200, timpul de răspuns are valori acceptabile. Pentru 2PL: Analizând graficele se observă că timpul de răspuns are o creştere semnificativă pe măsură ce numărul de tranzacţii creşte. Dacă se folosesc 50 de tranzacţii, timpul de răspuns nu depăşeşte 400 ms, timp care este atins doar pentru un număr de date procesate(peste 800 date utilizate). Pe măsură ce numărul de tranzacţii creşte, timpul de răspuns atinge valori foarte mari, astfel pentru un număr de 500 de tranzacţii şi pentru peste 800 de date procesate, timpul de răspuns atinge peste 3000 ms.
22
VĂ MULŢUMESC ! Bucureşti, 2009 Universitatea “Politehnica” Bucureşti
Facultatea de Electronică, Telecomunicaţii şi Tehnologia informaţiei VĂ MULŢUMESC ! Bucureşti, 2009
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.