Sobes.tech
Junior — Middle

Ar galite paaiškinti, kas yra pesimistinis užraktas ir kuo jis skiriasi nuo optimistinio?

sobes.tech AI

Atsakymas iš AI

Pesimistinis užraktas yra požiūris į konkurencinio prieigos valdymą prie duomenų, kuriame prielaida, kad konfliktai dažnai įvyks. Todėl dirbant su ištekliu, jis iškart užrakinamas, kad kitos operacijos negalėtų jo keisti iki dabartinės operacijos pabaigos.

Optimizuotas užraktas, priešingai, mano, kad konfliktai yra reti. Jis neužrakina ištekliaus skaitymo metu, bet prieš rašymą patikrina, ar išteklius nuo skaitymo laikotarpio nepasikeitė. Jei yra pakeitimų, operacija atšaukiama arba kartojama.

Pavyzdys: duomenų bazėje pesimistinis užraktas gali būti naudojamas per SQL užklausas su eilutės užrakinimu (SELECT ... FOR UPDATE), o optimizuotas — per versijų laukus arba kontrolines sumas.