Foundationপ্রথম নীতি থেকে
LEVEL 8 · Database Systems

Isolation Level

আইসোলেশন লেভেল

Concurrent transaction একে অন্যকে কতটা 'দেখবে' তার মাপকাঠি — read phenomena থেকে বাঁচার ধাপ-ধাপ চুক্তি।

also: transaction-isolation-level

LevelDirty readNon-repeatablePhantomLost update
READ UNCOMMITTEDহয়হয়হয়হয়
READ COMMITTEDনাহয়হয়হয়
REPEATABLE READনানা(PG: না)হয়
SERIALIZABLEনানানানা
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
  • SQL standard-এর phantom gap PostgreSQL-এ নেই — MVCC snapshot-এ phantoms-ও আটকায়; কিন্তু write skew থেকেই যায়, SSI-ই ওটা ধরে
  • MySQL InnoDB default RR + next-key locking — implementation-এর গন্ধ level-এর সংজ্ঞায় ঢুকে যায়
  • Higher isolation = fewer anomalies, more abort/retry — বিনামূল্য কিছু নেই

Phenomenon চেনা মানেই bug report পড়ে কোন level-এর অপরাধ তা চিনতে পারা।