Junior — Middle
Vai jūs varat izskaidrot, kas ir pesimistiska slēgšana un kā tā atšķiras no optimistiskās?
sobes.tech AI
Atbilde no AI
Pesimistiskā bloķēšana ir pieeju konkurējošai datu pārvaldībai, kurā pieņem, ka konflikti bieži notiks. Tādēļ, strādājot ar resursu, tas nekavējoties tiek bloķēts, lai citas operācijas to nevarētu mainīt līdz pašreizējās transakcijas beigām.
Optimizētā bloķēšana, gluži pretēji, pieņem, ka konflikti ir reti. Tā nebloke resursu lasīšanas laikā, bet pārbauda pirms rakstīšanas, vai resursu nav mainījis kopš lasīšanas. Ja ir izmaiņas, operācija tiek atcelta vai atkārtota.
Piemērs: datu bāzē pesimistiska bloķēšana var tikt izmantota ar SQL vaicājumiem ar rindu bloķēšanu (SELECT ... FOR UPDATE), bet optimizētā — ar versiju laukiem vai kontroles summām.