Sobes.tech
Middle

Tranzaksiya izolatsiyasining qanday turlari mavjud?

sobes.tech AI

AIdan javob

Transaksiya izolyatsiyasi, bir tranzaksiya boshqa parallel ravishda bajarilayotgan tranzaksiyalarning oraliq o'zgarishlarini qanchalik ko'rish mumkinligini belgilaydi.

SQL standarti to'rtta izolyatsiya darajasini belgilaydi:

  1. Read Uncommitted (Noto'g'ri o'qish): Eng past daraja. Tranzaksiya boshqa tranzaksiyalarning tasdiqlanmagan o'zgarishlarini o'qishi mumkin (xarob o'qish).
  2. Read Committed (Tasdiqlangan o'qish): Tranzaksiya faqat boshqa tranzaksiyalar tomonidan tasdiqlangan ma'lumotlarni o'qishi mumkin. "Xarob o'qish"dan qochadi.
  3. Repeatable Read (Takrorlanadigan o'qish): Tranzaksiya, tranzaksiya davomida o'qilgan ma'lumotlar, takroriy o'qishda o'zgarmasligini kafolatlaydi. "Xarob o'qish" va "takrorlanmaydigan o'qish"dan qochadi. "Fantomlar" yuzaga kelishi mumkin.
  4. Serializable (Serializatsiya qilingan): Eng yuqori izolyatsiya darajasi. Parallel tranzaksiyalar, ular ketma-ket bajarilgan kabi bajarilishini kafolatlaydi. Barcha noxush hodisalar: "xarob o'qish", "takrorlanmaydigan o'qish" va "fantomlar"dan qochadi.

Parallel tranzaksiya bajarishda noxush hodisalar:

  • Dirty Read (Xarob o'qish): A tranzaksiyasi, B tranzaksiyasi tomonidan o'zgartirilgan, lekin hali tasdiqlanmagan ma'lumotlarni o'qiydi. Agar B tranzaksiyasi o'zgarishlarni bekor qilsa, A noto'g'ri ma'lumotlar bilan ishlaydi.
  • Non-repeatable Read (Takrorlanmaydigan o'qish): A tranzaksiyasi, ayni ma'lumotlarni ikki marta o'qiydi, lekin B tranzaksiyasi, o'rtada, bu ma'lumotlarda o'zgarishlarni tasdiqlaydi. Natijada, A turli qiymatlarni oladi.
  • Phantom Read (Fantom o'qish): A tranzaksiyasi, satrlar to'plamini qaytaradigan so'rov bajaradi. B tranzaksiyasi, A so'rovining shartlariga mos keladigan satrlarni qo'shadi yoki o'chiradi. Qayta bajarilganda, A, turli satrlar to'plamini oladi.

Izolyatsiya darajalariga qarab, noxush hodisalar jadvali:

Izolyatsiya darajasi Xarob o'qish Takrorlanmaydigan o'qish Fantomlar
Read Uncommitted Ha Ha Ha
Read Committed Yo'q Ha Ha
Repeatable Read Yo'q Yo'q Ha
Serializable Yo'q Yo'q Yo'q

Izolyatsiya darajasini tanlash, ilovaning ishlash tezligi va to'g'riligi uchun ta'sir qiladi. Qanchalik yuqori bo'lsa, xarajatlar shunchalik ortadi.