Eş zamanlı işlemler sırasında hangi anormallikler ortaya çıkabilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Eşzamanlı işlem yürütme sırasında aşağıdaki anomaliler ortaya çıkabilir:
-
Kayıp Güncelleme (Lost Update): Bir işlem, diğer işlemin değişikliklerini bu değişiklikler onaylanmadan üzerine yazar.
Zaman İşlem 1 İşlem 2 t1 Bakiye değerini okur (örneğin, 100) t2 Bakiye değerini okur (örneğin, 100) t3 Bakiye'yi 10 artırır (Bakiye = 110) t4 Bakiye'yi 20 artırır (Bakiye = 120) t5 Değişiklikleri onaylar (Bakiye 110 olur) t6 Değişiklikleri onaylar (Bakiye 120 olur) Sonuç: İki artışa rağmen, Bakiye'nin son değeri 120'dir, 130 değil. İşlem 1'in artışı kaybolmuştur.
-
Kirlilik Okuma (Dirty Read): Bir işlem, diğer işlemin onaylanmamış değişikliklerini okur. Değişiklikleri yapan işlem geri alınırsa, okunan veriler geçersiz olur.
Zaman İşlem 1 İşlem 2 t1 Bakiye'yi değiştirmeye başlar (100 -> 110) t2 Bakiye'yi okur (110 alır) t3 Değişikliği geri alır (Bakiye 100'e döner) t4 Bakiye = 110'u hesaplamalarda kullanır, gerçek değer 100 olmasına rağmen Sonuç: İşlem 2, sonunda onaylanmamış verilere dayanır.
-
Tekrarlanmayan Okuma (Non-Repeatable Read): Aynı işlem sırasında, aynı satır tekrar tekrar okunduğunda farklı değerler alınır çünkü başka bir işlem bu satırda değişiklik yapıp onaylamıştır.
Zaman İşlem 1 İşlem 2 t1 Bakiye'yi okur (100 alır) t2 Bakiye'yi 110 yapar ve onaylar t3 Bakiye'yi tekrar okur (110 alır, 100 yerine) Sonuç: Bakiye, aynı işlem içinde değiştiği için, yanlış sonuçlara yol açabilir.
-
Hayalet Okuma (Phantom Read): Tekrarlanmayan okuma gibi görünür, ancak mevcut satırların eklenmesi veya silinmesiyle ilgilidir ve sorgu sonuçlarını etkiler.
Zaman İşlem 1 İşlem 2 t1 SELECT COUNT(*) FROM Orders WHERE Status = 'Pending'sorgusunu çalıştırır (5 sonucu alır)t2 Yeni bir 'Pending' durumu olan sipariş ekler ve onaylar t3 SELECT COUNT(*) FROM Orders WHERE Status = 'Pending'sorgusunu tekrar çalıştırır (6 sonucu alır)Sonuç: Sorgu tekrar çalıştırıldığında, ilk okuma sırasında olmayan "hayalet" satırlar görünür.
Bu anomaliler, farklı izolasyon seviyeleri kullanılarak önlenir.