Middle
İşlem izolasyonunun hangi türleri vardır?
sobes.tech yapay zeka
AI'dan gelen yanıt
İşlem izolasyonu, bir işlemin diğer paralel olarak çalışan işlemlerin ara değişikliklerini ne kadar görebileceğini belirler.
SQL standardı dört izolasyon seviyesi tanımlar:
- Read Uncommitted (Onaylanmamış Okuma): En düşük seviye. Bir işlem, diğer işlemlerin onaylanmamış değişikliklerini okuyabilir (kirlilik okuma).
- Read Committed (Onaylanmış Okuma): İşlem, yalnızca diğer işlemler tarafından onaylanmış verileri okuyabilir. "Kirlilik okuma"yı önler.
- Repeatable Read (Tekrarlanabilir Okuma): İşlem, işlem sırasında okunan verilerin tekrar okunduğunda değişmeyeceğini garanti eder. "Kirlilik okuma" ve "tekrarlanamayan okuma"yı önler. "Fantomlar" oluşabilir.
- Serializable (Serileştirilebilir): En yüksek izolasyon seviyesidir. Paralel işlemlerin, sıralıymış gibi yürütüleceği garantilenir. Tüm istenmeyen olaylar önlenir: "kirlilik okuma", "tekrarlanamayan okuma" ve "fantomlar".
Paralel işlem yürütürken istenmeyen olaylar:
- Dirty Read (Kirlilik okuma): A işlemi, B işlemi tarafından yapılan ve henüz onaylanmamış verileri okur. B işlem değişiklikleri geri alırsa, A yanlış verilerle çalışır.
- Non-repeatable Read (Tekrarlanamayan okuma): A işlemi aynı veriyi iki kez okur, ancak B işlemi bu verilerde değişiklik yapar. Sonuç olarak, A farklı değerler alır.
- Phantom Read (Fantom okuma): A işlemi, satır kümesi döndüren bir sorgu çalıştırır. B işlemi, A sorgusunun kriterlerine uygun satırları ekler veya siler. Aynı sorgu tekrar çalıştırıldığında, A farklı satır kümesi alır.
İzolasyon seviyelerine göre istenmeyen olayların özet tablosu:
| İzolasyon Seviyesi | Kirlilik Okuma | Tekrarlanamayan Okuma | Fantomlar |
|---|---|---|---|
| Read Uncommitted | Evet | Evet | Evet |
| Read Committed | Hayır | Evet | Evet |
| Repeatable Read | Hayır | Hayır | Evet |
| Serializable | Hayır | Hayır | Hayır |
İzolasyon seviyesinin seçimi, uygulamanın performansını ve doğruluğunu etkiler. Daha yüksek izolasyon seviyesi, daha fazla ek maliyet anlamına gelir.