Tranzactia
Tranzactia – unitate de program (set de instructiuni) care contine, in general, operatii de citire / scriere asupra unei baze de date; o secventa de operatii executate ca unitate logica de lucru.
Arhitectura unei tranzactii. Conditii de terminare a unei tranzactii
Tranzactie activa = tranzactie in curs de executie, care nu este inca comisa sau anulata.
Tranzactia
Proprietatile tranzactiilor (ACID):
Atomicitate – o tranzactie trebuie sa fie o unitate de lucru atomica; “totul sau nimic”.
Consistenta – o tranzactie primeste datele in stare consistenta si le lasa in stare consistenta.
Izolare – (in mod normal – vezi discutia legata de nivele de izolare) proprietatea unei tranzactii de a avea acces doar la starile consistente, comise ale datelor modificate de alte tranzactii.
Durabilitate – proprietatea prin care se garanteaza faptul ca dupa ce o tranzactie este comisa, efectele sale sunt facute permanente in BD (fizica)
Controlul concurentei
Pesimist
Situatie: sanse mari de aparitie a coliziunilor; ex: nivel ridicat de concurenta pentru actualizarea datelor partajate
Prevenire
Optimist
Situatie: sanse reduse de aparitie a coliziunilor; ex: nivel ridicat de concurenta pentru actualizarea datelor partajate
Detectare si Rezolvare
Excesiv optimist – metoda strutului
Situatie: read-only / append-only
---
Istorie / planificare / plan de executie
Exemplu:
T1 = R1(x) -> W1(x) -> C1
T2 = R2(x) -> W2(y) -> W2(x) -> C2
T3 = R3(y) -> W3(x) -> W3(y) -> W3(z) -> C3
Next – C2. GT-BDD
Controlul concurentei
Anomalii de interferenta
Recuperabilitate
Evitarea anularilor in cascada
Executii stricte
Serializabilitate
Plan de executie serial
Plan de executie serializabil
Sunt cursurile in format electronic de la materia gestiunea tranzactiilor si baze de date distribuite.
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.