Sobes.tech
Junior — Middle

Môžete vysvetliť, čo je pesimistické zamykanie a v čom sa líši od optimistického?

sobes.tech AI

Odpoveď od AI

Pesimistické blokovanie je prístup k riadiacemu súbežnému prístupu k údajom, pri ktorom sa predpokladá, že konflikty budú často dochádzať. Preto pri práci s prostriedkom je okamžite blokované, aby ho iné operácie nemohli meniť do dokončenia aktuálnej transakcie.

Optimistické blokovanie naopak predpokladá, že konflikty sú zriedkavé. Nezablokuje prostriedok pri čítaní, ale pred zápisom skontroluje, či sa od posledného čítania nezmenil. Ak došlo ku zmenám, operácia je vrátená alebo opakovaná.

Príklad: v databáze môže byť pesimistické blokovanie realizované pomocou SQL dopytov s blokovaním riadkov (SELECT ... FOR UPDATE), zatiaľ čo optimistické pomocou verziových polí alebo kontrolných súčtov.