tranzaksiyalar o‘rtasidagi konfliktlar

PPTX 10 стр. 14,1 МБ Бесплатная загрузка

Предварительный просмотр (5 стр.)

Прокрутите вниз 👇
1 / 10
tranzaksiyalar o‘rtasidagi konfliktlar ushbu taqdimot ma'lumotlar bazalarida tranzaksiyalarning bir vaqtda bajarilishi natijasida yuzaga keladigan fundamental muammolarga, xususan, konfliktlarga bag'ishlangan. dasturchilar va tizim administratorlari uchun mo'ljallangan bo'lib, biz konflikt turlarini, ularning oqibatlarini va eng muhimi, ularni samarali hal qilish mexanizmlarini tahlil qilamiz. ma'lumotlar bazasining yaxlitligi (integrity) — bu muvaffaqiyatli tranzaksiya boshqaruvining asosiy tamoyilidir. konfliktlar esa ushbu yaxlitlikka jiddiy tahdid soladi. 1 nima uchun bir vaqtda bajarish (concurrency) muhim? zamonaviy ma'lumotlar bazalari yuqori unumdorlik va javob berish tezligini talab qiladi. bitta vaqtda bir nechta tranzaksiyalarni bajarish tizim resurslaridan maksimal foydalanishga va foydalanuvchi tajribasini yaxshilashga imkon beradi. biroq, bu o'zaro ta'sirlar konflikt xavfini tug'diradi. samaradorlik tizimning umumiy o'tkazuvchanligini oshirish va kutish vaqtlarini kamaytirish. masshtablilik ko'p sonli foydalanuvchilarni qo'llab-quvvatlash uchun tizimni kengaytirish imkoniyati. foydalanuvchi tajribasi tranzaksiyalarning tez va uzluksiz bajarilishini ta'minlash. tranzaksiya boshqaruvida acid prinsiplari (atomicity, consistency, isolation, durability) hal qiluvchi ahamiyatga ega. konfliktlar asosan isolation (izolyatsiya) tamoyilini buzadi. 2 asosiy konflikt turlari: izolyatsiya …
2 / 10
asi biror ma'lumotni o'qiydi. keyin t2 tranzaksiyasi o'sha ma'lumotni o'zgartiradi va tasdiqlaydi (commit). agar t1 yana shu ma'lumotni o'qisa, u boshqa qiymatni oladi. t1 ichida bir xil so'rov turli natijalar qaytaradi. oqibat: tranzaksiya ichidagi mantiqiy nomuvofiqlik. 3. xayoliy o'qish (phantom read) t1 tranzaksiyasi bir shartga mos keladigan ma'lumotlar to'plamini o'qiydi (masalan, barcha 'active' foydalanuvchilar). keyin t2 tranzaksiyasi shu shartga mos keladigan yangi qatorlarni qo'shadi va tasdiqlaydi. t1 so'rovni takrorlaganida, u qo'shimcha "xayoliy" qatorlarni ko'radi. oqibat: qatorlar to'plamida boshqarilmaydigan o'zgarishlar. 3 konfliktlarning yuzaga kelish mexanizmi: write-write va read-write tranzaksiya konfliktlari asosan ikkita tranzaksiya bir xil ma'lumotlarga kirishga yoki ularni o'zgartirishga harakat qilganda sodir bo'ladi. bu o'zaro ta'sirlar ma'lumotlarning noto'g'ri holatga tushishiga olib kelishi mumkin. 1. yozish/yozish konflikti (write-write conflict) ikkita tranzaksiya bir vaqtning o'zida bir xil ma'lumotni o'zgartirishga harakat qilganda yuzaga keladi. bu eng jiddiy konflikt bo'lib, odatda blokirovka (locking) orqali hal qilinadi. agar tizim buni boshqara olmasa, oxirgi yozish avvalgi …
3 / 10
hunchalik past bo'lishi mumkin. unumdorlik xavfsizlik eng keng tarqalgan va samarali darajalar: 1 read committed iflos o'qishlarga yo'l qo'ymaydi. faqat tasdiqlangan (committed) ma'lumotlarni o'qiydi. aksariyat ma'lumotlar bazalari uchun standart hisoblanadi (masalan, postgresql, oracle). 2 repeatable read iflos va takrorlanmaydigan o'qishlarga yo'l qo'ymaydi. tranzaksiya davomida o'qilgan ma'lumotlar o'zgarmasligini ta'minlaydi. mysql innodb uchun standart. 3 serializable eng yuqori daraja. barcha konfliktlarni (iflos, takrorlanmaydigan, xayoliy) to'liq bartaraf etadi. tranzaksiyalar ketma-ket bajarilgandek taassurot qoldiradi. eng sekin va blokirovkalash xavfi yuqori. 5 konfliktlarni boshqarish texnikalari: blokirovka (locking) blokirovka — bu tranzaksiyalarni izolyatsiya qilishning an'anaviy va eng samarali usulidir. u bir vaqtning o'zida bir nechta tranzaksiyaning bir xil ma'lumotlarga kirishini cheklaydi. eksklyuziv blokirovka (x-lock) ma'lumotni o'zgartirish (write) uchun ishlatiladi. bu blokirovkaga ega tranzaksiya yakka tartibda ma'lumotga ega bo'ladi; boshqa hech kim uni o'qiy olmaydi yoki o'zgartira olmaydi. ulushli blokirovka (s-lock) ma'lumotni o'qish (read) uchun ishlatiladi. bir nechta tranzaksiya bir vaqtning o'zida s-blokirovkaga ega bo'lishi mumkin, chunki …
4 / 10
asida resurslarni aylana shaklida kutish (circular waiting) holatini yaratadi. aniqlov (detection) tizim doimiy ravishda "kutish grafigi" (wait-for graph) ni tekshiradi. agar grafikda aylana topilsa, deadlock yuzaga kelgan hisoblanadi. oldini olish (prevention) tranzaksiya boshlanishidan oldin, u talab qiladigan barcha blokirovkalar so'raladi. yoki "wait-die" va "wound-wait" kabi sxemalardan foydalaniladi. bu usullar xavfsizroq, lekin unumdorlikni kamaytiradi. hal qilish (resolution) deadlock aniqlanganidan so'ng, tizim qurbon tranzaksiyani tanlaydi (odatda eng kam ish bajarganini) va uni bekor qiladi (rollback). qolgan tranzaksiya davom etadi, bekor qilingani esa qayta ishga tushiriladi. zamonaviy ma'lumotlar bazalari ko'pincha deadlockni aniqlash va hal qilish yondashuvini qo'llaydi, chunki oldini olish ko'pincha juda cheklovchi bo'ladi. 7 optimistik konflikt boshqaruvi (occ) an'anaviy blokirovka (pessimistik boshqaruv) o'rniga, optimistik konflikt boshqaruvi konfliktlar kamdan-kam yuzaga kelishini taxmin qiladi. tranzaksiyalar blokirovkasiz amalga oshiriladi va faqat tasdiqlash bosqichida konflikt mavjudligi tekshiriladi. 1 1. o'qish (read phase) tranzaksiya ma'lumotlarni o'qiydi va o'zgarishlarni mahalliy, vaqtinchalik xotirada saqlaydi (private workspace). 2 2. tasdiqlash …
5 / 10
mysql/innodb) tomonidan qabul qilingan ilg'or yondashuv. u ma'lumotlarning bir nechta versiyasini saqlash orqali o'qish/yozish konfliktlarini minimallashtiradi. versiyalash tamoyili mvcc har bir qatorning yangi versiyasini yaratadi, eski versiyani esa o'chirib tashlamaydi. o'qish tranzaksiyalari har doim izolyatsiyani buzmasdan, o'ziga mos keladigan ma'lumot versiyasini ko'radi. blokirovkasiz o'qish o'qish operatsiyalari uchun deyarli hech qachon blokirovka talab qilinmaydi, chunki ular yangilanishi mumkin bo'lgan qatorni emas, balki qatorning eski versiyasini o'qiydi. bu "takrorlanmaydigan o'qish" kabi muammolarni bartaraf etadi. mvcc izolyatsiya va yuqori bir vaqtda bajarish (concurrency) o'rtasidagi eng yaxshi muvozanatni ta'minlaydi, chunki yozishlar o'qishlarni deyarli hech qachon bloklamaydi. 9 xulosa va keyingi qadamlar tranzaksiya konfliktlarini tushunish va ularni boshqarish yuqori samarali va ishonchli tizimlarni yaratishning ajralmas qismidir. to'g'ri izolyatsiya darajasini tanlash va texnik usullarni qo'llash muhimdir. 1 izolyatsiya darajasini tanlang aksariyat ilovalar uchun read committed yoki repeatable read yetarli. serializable faqat ma'lumotlar yaxlitligi mutlaq ustuvor bo'lgan holatlarda qo'llanilishi kerak. 2 deadlockga tayyor tuting deadlock an'anaviy ma'lumotlar …

Хотите читать дальше?

Скачайте все 10 страниц бесплатно через Telegram.

Скачать полный файл

О "tranzaksiyalar o‘rtasidagi konfliktlar"

tranzaksiyalar o‘rtasidagi konfliktlar ushbu taqdimot ma'lumotlar bazalarida tranzaksiyalarning bir vaqtda bajarilishi natijasida yuzaga keladigan fundamental muammolarga, xususan, konfliktlarga bag'ishlangan. dasturchilar va tizim administratorlari uchun mo'ljallangan bo'lib, biz konflikt turlarini, ularning oqibatlarini va eng muhimi, ularni samarali hal qilish mexanizmlarini tahlil qilamiz. ma'lumotlar bazasining yaxlitligi (integrity) — bu muvaffaqiyatli tranzaksiya boshqaruvining asosiy tamoyilidir. konfliktlar esa ushbu yaxlitlikka jiddiy tahdid soladi. 1 nima uchun bir vaqtda bajarish (concurrency) muhim? zamonaviy ma'lumotlar bazalari yuqori unumdorlik va javob berish tezligini talab qiladi. bitta vaqtda bir nechta tranzaksiyalarni bajarish tizim resurslaridan maksimal foydalanishg...

Этот файл содержит 10 стр. в формате PPTX (14,1 МБ). Чтобы скачать "tranzaksiyalar o‘rtasidagi konfliktlar", нажмите кнопку Telegram слева.

Теги: tranzaksiyalar o‘rtasidagi konf… PPTX 10 стр. Бесплатная загрузка Telegram