logo

Proprietăți ACID în DBMS

DBMS este gestionarea datelor care ar trebui să rămână integrate atunci când se fac modificări în el. Se datorează faptului că dacă integritatea datelor este afectată, datele întregi vor fi perturbate și corupte. Prin urmare, pentru a menține integritatea datelor, există patru proprietăți descrise în sistemul de management al bazei de date, care sunt cunoscute sub numele de ACID proprietăți. Proprietățile ACID sunt menite pentru tranzacția care trece printr-un grup diferit de sarcini și aici ajungem să vedem rolul proprietăților ACID.

În această secțiune, vom învăța și înțelege despre proprietățile ACID. Vom afla ce reprezintă aceste proprietăți și pentru ce este folosită fiecare proprietate. Vom înțelege și proprietățile ACIDE cu ajutorul unor exemple.

Proprietăți ACID

Extinderea termenului ACID definește:

Proprietăți ACID în DBMS

1) Atomicitate

Termenul de atomicitate definește faptul că datele rămân atomice. Înseamnă că dacă se efectuează orice operație asupra datelor, fie ar trebui efectuată, fie executată complet, fie nu trebuie executată deloc. În plus, înseamnă că operația nu ar trebui să se întrerupă sau să se execute parțial. În cazul executării operațiunilor asupra tranzacției, operațiunea trebuie executată complet și nu parțial.

Exemplu: Dacă Remo are contul A având 30 USD în contul său din care dorește să trimită 10 USD în contul lui Sheero, care este B. În contul B, o sumă de 100 USD este deja prezentă. Când 10 USD vor fi transferați în contul B, suma va deveni 110 USD. Acum, vor avea loc două operațiuni. Unul este că suma de 10 USD pe care Remo dorește să o transfere va fi debitată din contul său A, iar aceeași sumă va fi creditată în contul B, adică în contul lui Sheero. Acum, ce se întâmplă - prima operațiune de debit se execută cu succes, dar operațiunea de credit, totuși, eșuează. Astfel, în contul lui Remo A, valoarea devine 20 USD, iar în cea a contului lui Sheero rămâne 100 USD așa cum era prezent anterior.

Proprietăți ACID în DBMS

În diagrama de mai sus, se poate observa că după creditarea a 10 USD, suma este în continuare de 100 USD în contul B. Deci, nu este o tranzacție atomică.

Imaginea de mai jos arată că atât operațiunile de debit cât și cele de credit sunt efectuate cu succes. Astfel, tranzacția este atomică.

Proprietăți ACID în DBMS

Astfel, atunci când suma își pierde atomicitatea, atunci în sistemele bancare, aceasta devine o problemă uriașă, și astfel atomicitatea este principalul accent în sistemele bancare.

2) Consecvență

Cuvantul consistenta înseamnă că valoarea ar trebui să rămână întotdeauna păstrată. În SGBD , integritatea datelor trebuie menținută, ceea ce înseamnă că dacă se face o modificare în baza de date, aceasta ar trebui să rămână păstrată întotdeauna. In cazul tranzactiilor, integritatea datelor este foarte esentiala pentru ca baza de date sa ramana consistenta inainte si dupa tranzactie. Datele ar trebui să fie întotdeauna corecte.

Exemplu:

Proprietăți ACID în DBMS

În figura de mai sus, există trei conturi, A, B și C, în care A efectuează o tranzacție T unul câte unul la ambele B și C. Există două operațiuni care au loc, și anume, Debit și Credit. Contul A debitează mai întâi 50 USD în contul B, iar suma din contul A este citită de B 300 USD înainte de tranzacție. După tranzacția de succes T, suma disponibilă în B devine 150 USD. Acum, A debitează 20 USD în contul C, iar în acel moment, valoarea citită de C este de 250 USD (asta este corect, deoarece un debit de 50 USD a fost efectuat cu succes către B). Operatiunea de debit si credit din contul A la C a fost realizata cu succes. Putem vedea că tranzacția este realizată cu succes, iar valoarea este, de asemenea, citită corect. Astfel, datele sunt consistente. În cazul în care valoarea citită de B și C este de 300 USD, ceea ce înseamnă că datele sunt inconsecvente deoarece atunci când se execută operațiunea de debit, aceasta nu va fi consistentă.

3) Izolarea

Termenul „izolare” înseamnă separare. În DBMS, Izolarea este proprietatea unei baze de date în care nicio dată nu ar trebui să o afecteze pe cealaltă și poate apărea concomitent. Pe scurt, operațiunea pe o bază de date ar trebui să înceapă când operațiunea pe prima bază de date este completă. Înseamnă că dacă două operațiuni sunt efectuate pe două baze de date diferite, este posibil să nu afecteze valoarea una a celeilalte. În cazul tranzacțiilor, atunci când două sau mai multe tranzacții au loc simultan, consecvența ar trebui să rămână menținută. Orice modificări care apar într-o anumită tranzacție nu vor fi văzute de alte tranzacții până când modificarea nu este comisă în memorie.

Exemplu: Dacă două operațiuni rulează simultan pe două conturi diferite, atunci valoarea ambelor conturi nu ar trebui să fie afectată. Valoarea ar trebui să rămână persistentă. După cum puteți vedea în diagrama de mai jos, contul A efectuează tranzacții T1 și T2 către contul B și C, dar ambele se execută independent, fără a se afecta reciproc. Este cunoscut sub numele de izolare.

Proprietăți ACID în DBMS

4) Durabilitate

Durabilitatea asigură permanența a ceva. În SGBD, termenul durabilitate asigură că datele după executarea cu succes a operațiunii devin permanente în baza de date. Durabilitatea datelor ar trebui să fie atât de perfectă încât, chiar dacă sistemul eșuează sau duce la un accident, baza de date încă supraviețuiește. Cu toate acestea, dacă se pierde, devine responsabilitatea managerului de recuperare pentru asigurarea durabilității bazei de date. Pentru comiterea valorilor trebuie folosită comanda COMMIT de fiecare dată când facem modificări.

Prin urmare, proprietatea ACID a DBMS joacă un rol vital în menținerea consistenței și disponibilității datelor în baza de date.

Astfel, a fost o introducere precisă a proprietăților ACID în DBMS. Am discutat despre aceste proprietăți și în secțiunea tranzacții.