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:
-
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.
-
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.
-
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.
-
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.