Sobes.tech
Principal

Ma'lumotlar bazalaridagi tranzaktsiyalar nima? Tranzaktsiyalarni izolyatsiya qilish darajalari nima, ularning ma'nosi nima va asosiy farqi nima?

sobes.tech AI

AIdan javob

Ma'lumotlar bazasidagi tranzaksiya — bu mantiqan bog'langan operatsiyalar ketma-ketligi bo'lib, u yagona birlik sifatida bajariladi. Tranzaksiyalarning asosiy xususiyatlari ACID akronimi bilan tavsiflanadi:

  • Atomiklik — tranzaksiyaning barcha operatsiyalari to'liq bajariladi yoki umuman bajarilmaydi.
  • Moslik — tranzaksiya ma'lumotlar bazasini to'g'ri holatdan boshqa to'g'ri holatga o'tkazadi.
  • Izolyatsiya — parallel tranzaksiyalar bir-biriga ta'sir qilmaydi.
  • Mustahkamlik — tasdiqlashdan keyin (commit) o'zgarishlar hatto nosozliklar bo'lsa ham saqlanadi.

Tranzaksiya izolyatsiya darajalari bir tranzaksiya o'zgarishlarining boshqalarga ko'rinish darajasini belgilaydi va mumkin bo'lgan anomaliyalarni ta'sir qiladi:

  1. Read Uncommitted — tranzaksiya boshqa tranzaksiyalarning tasdiqlanmagan o'zgarishlarini ko'rishi mumkin (iflos o'qish).
  2. Read Committed — faqat tasdiqlangan o'zgarishlar ko'rinadi, lekin takrorlanmaydigan o'qishlar (non-repeatable reads) mumkin.
  3. Repeatable Read — bir xil ma'lumotlarni takroran o'qish doimo bir xil natija beradi, lekin fantom o'qishlar (yangi satrlar) mumkin.
  4. Serializable — eng qat'iy daraja, tranzaksiyalar ketma-ket bajariladi, barcha anomaliyalar olib tashlanadi.

Asosiy farq — bu ishlash va qat'iy izolyatsiya o'rtasidagi muvozanat. Daraja yuqori bo'lsa, parallelizm kamroq bo'ladi, lekin ma'lumotlarning yaxlitligi yuqori bo'ladi.