سطح Isolation مشخص میکند تراکنشها در زمان اجرای همزمان تا چه حد آثار یکدیگر را مشاهده کنند. Read Committed، Repeatable Read و Serializable از سطحهای شناختهشده هستند.
در پروژه چه کاربردی دارد؟
برای مثال، دو خواندن پیاپی یک رکورد در تراکنش ممکن است در Read Committed مقدار متفاوت ببینند، اما در برخی سطحهای قویتر چنین تغییر دیدی محدود میشود.
نام سطح Isolation بهتنهایی همه جزئیات را مشخص نمیکند. پیادهسازی PostgreSQL، MySQL و سایر موتورهای دیتابیس متفاوت است.
درک تفاوت این موضوع با مایگریشن و رولبک به انتخاب راهکار مناسبتر کمک میکند.
سطح ایزولیشن چه چیزی را تغییر میدهد؟
Read Committed و Serializable نمونه سطوح Isolation هستند. سطح قویتر میتواند برخی ناهنجاریهای همزمانی را کاهش دهد اما هزینه قفل یا Retry را افزایش دهد. رفتار دقیق سطوح بین موتورهای دیتابیس یکسان نیست.