C10 Flashcards
Ce este o tranzacție într-un sistem distribuit?
O secvență de operațiuni garantată să fie atomică, menținând consistența obiectelor gestionate de server.
Ce înseamnă proprietatea ACID a unei tranzacții?
-Atomicitate: Toate operațiunile se execută complet sau deloc.
-Consistență: Sistemul trece dintr-o stare consistentă în alta.
-Izolare: Tranzacțiile par a se executa secvențial.
-Durabilitate: Datele sunt stocate permanent după o tranzacție reușită.
Care sunt principalele tipuri de tranzacții?
Tranzacții plate, tranzacții imbricate și tranzacții distribuite.
Ce este o tranzacție plată?
O serie secvențială de operațiuni care respectă proprietățile ACID și nu permite execuții paralele.
Ce este o tranzacție imbricată?
O tranzacție compusă din mai multe sub-tranzacții care pot fi executate în paralel pe mașini diferite.
Ce este o tranzacție distribuită?
O tranzacție care implică mai multe servere și trebuie să fie angajată sau anulată în totalitate.
Care sunt provocările tranzacțiilor distribuite comparativ cu cele locale?
Implementarea proprietăților ACID este mai complexă din cauza multiplelor locații și a problemelor de sincronizare.
Ce este un protocol de commit atomic?
Un protocol care asigură că toate părțile implicate într-o tranzacție distribuită fie angajează (commit), fie anulează (rollback) tranzacția.
Care sunt pașii protocolului de commit pentru tranzacții distribuite?
-Fiecare server participant își raportează disponibilitatea către coordonator.
-Coordonatorul decide angajarea sau anularea tranzacției.
-Serverele aplică decizia finală.
Ce rol are coordonatorul într-o tranzacție distribuită?
Coordonatorul inițiază, monitorizează și finalizează tranzacția, asigurând aplicarea consecventă pe toate serverele.
Care sunt principalele metode de gestionare a blocărilor (locking) într-o tranzacție?
Blocarea resurselor pentru a preveni accesul simultan și asigurarea consistenței datelor.
Care sunt fazele protocolului Two-Phase Commit (2PC)?
-Faza 1 (Voting): Coordonatorul cere participanților să voteze (Yes/No).
-Faza 2 (Completion): Dacă toate voturile sunt „Yes”, tranzacția este angajată; altfel, este anulată.
Ce mesaje sunt folosite în protocolul Two-Phase Commit?
canCommit?,
doCommit,
doAbort,
haveCommitted,
getDecision.
Care sunt principalele riscuri în protocolul Two-Phase Commit?
Blocarea participanților în starea de incertitudine în cazul eșecului coordonatorului.
Ce măsuri pot fi luate pentru a evita blocarea în 2PC?
Utilizarea de timeouts și protocoale de recuperare a deciziilor.