Sobes.tech
Junior — Middle

Veritabanlarındaki işlemler izolasyon seviyelerini sıralayabilir ve aralarındaki farkı açıklayabilir misin?

sobes.tech yapay zeka

AI'dan gelen yanıt

Veritabanlarında, bir işlemin yaptığı değişikliklerin diğer işlemler tarafından ne zaman ve nasıl görüleceğini belirleyen birkaç standart izolasyon seviyesi vardır. Ana izolasyon seviyeleri:

  1. Read Uncommitted (Onaylanmamış Okuma)

    • Bir işlem, henüz onaylanmamış olsa bile diğer işlemlerin değişikliklerini görebilir.
    • "Kirli okuma" (dirty reads) olasıdır.
  2. Read Committed (Onaylanmış Okuma)

    • İşlem sadece onaylanmış değişiklikleri görür.
    • Kirli okumaları ortadan kaldırır, ancak tekrarlanamayan okumalar (non-repeatable reads) mümkündür.
  3. Repeatable Read (Tekrarlanabilir Okuma)

    • Bir işlemde okunan verilerin, tekrar okunduğunda değişmeyeceğini garanti eder.
    • Tekrarlanamayan okumaları ortadan kaldırır, ancak hayalet okumalar (phantom reads) mümkündür.
  4. Serializable (Serileştirilebilir)

    • En katı izolasyon seviyesidir.
    • İşlemler, sıralı gibi, ardışık olarak yürütülüyormuş gibi yürütülür.
    • Hayalet okumaları ortadan kaldırır ve tam izolasyon sağlar.

İzolasyon seviyesinin seçimi, performans ve veri bütünlüğünü etkiler: daha katı seviyeler daha büyük bütünlük sağlar, ancak paralelliği azaltabilir ve kilitlenmeleri artırabilir.