Sobes.tech
Junior — Middle

Verilənlər bazalarında tranzaksiya izolasiya səviyyələrinin müxtəlif növlərini sadalaya bilərsən və onların fərqini izah edə bilərsənmi?

sobes.tech Süni İntellekt

AI-dan cavab

Verilənlər bazalarında tranzaksiyaların izolyasiyasının bir neçə standart səviyyəsi mövcuddur və bunlar bir tranzaksiyanın etdiyi dəyişikliklərin digər tranzaksiyalar üçün nə zaman və necə görünəcəyini müəyyən edir. Əsas izolyasiya səviyyələri:

  1. Read Uncommitted (Təsdiqlənməmiş oxuma)

    • Bir tranzaksiya digər tranzaksiyaların dəyişikliklərini görə bilər, hətta onlar hələ təsdiqlənməyibsə belə.
    • "Qarışıq oxuma" (dirty reads) mümkündür.
  2. Read Committed (Təsdiqlənmiş oxuma)

    • Tranzaksiya yalnız təsdiqlənmiş dəyişiklikləri görür.
    • Qarışıq oxumaları aradan qaldırır, lakin təkrarlanmayan oxumalar (non-repeatable reads) mümkündür.
  3. Repeatable Read (Təkrarlanan oxuma)

    • Əgər məlumatlar tranzaksiyada oxunubsa, onlar növbəti oxumada dəyişməz.
    • Təkrarlanmayan oxumaları aradan qaldırır, lakin phantom oxumalar (phantom reads) mümkündür.
  4. Serializable (Serializasiya olunmuş)

    • Ən sərt izolyasiya səviyyəsidir.
    • Tranzaksiyalar ardıcıl, bir-birinin ardınca icra olunur kimi yerinə yetirilir.
    • Phantom oxumaları aradan qaldırır və tam izolyasiya təmin edir.

İzolyasiya səviyyəsinin seçimi, performans və məlumatların bütövlüyünə təsir edir: daha sərt səviyyələr daha böyük bütövlük təmin edir, lakin paralelliyi azalda və bloklamaları artıra bilər.