TGViewer
Otabek’s I/O Otabek’s I/O @otabekswe · 2.84K subscribers
Post #340 1.34K
Database Transaction

The Problem
Anna databasega id=1 teng kitob chiqarilgan sanasi (release_year)ni olish uchun query yozdi va unga 2004 javobi qaytdi. Xuddi shu vaqt Sam shu kitobni chiqarilgan sanasini (2012) va nashrini (4-nashr) o'zgartirish uchun query yozdi. Anna biroz vaqtdan keyin yana shu "release_year"ini oldi va natija bu safar o'zgarib qoldi. Biroz vaqt o'tib esa Sam adashganini sezib ROLLBACK qilib yubordi.

The Solution
Transaction ma'lumotlarni "consistency"si bilan bog'liq muammolarni oldini olish uslubi xisoblanadi. U ACID tamoyili bo'yicha ishlashi kerak va transaction konseptsiyasidan asosiy maqsad transaction tugagunicha butun bir jarayonni izolyatsiyalash xisoblanadi. Xo'sha ACID nima?

ACID
ACID bu Atomicity, Consistency, Isolation va Durability.

Atomicity
Qachonki transaction (read/write) sodir bo'lsa, barcha operatsiyalar bir vaqtning o'zida sodir bo'lishi kerak yoki umuman bo'lmasligi kerak. Agar transaction to'xtatilsa yoki xatolik yuz bersa, databasega ta'sir qilmasligi kerak va butun jarayon oldingi xolatiga qaytishi kerak. Xuddi shunday, agar transaction amalga muvaffaqiyatli oshirilsa, database holati o'zgarishlarni qabul qilishi kerak. Qisqacha aytganda yoki hammasi muvaffaqiyatli kechadi yoki hech biri bajarilmaydi.

Consistency
Transaction faqat databaseni bir holatdan ikkinchisi olib o'tishni taminlaydi ya'ni databasega yoziladigan har qanday ma'lumotlar barcha belgilangan qoidalar (constraints, cascades, triggers, va boshqa)ga muvofiq ishlashi kerak. Qisqachasiga, noqonuniy ma'lumotlardan qochish imkoniyatini beradi.

Isolation
Har bir transaction operatsiyalari izolyatsiyalangan bo'lishi kerak ya'ni race condition keltirib chiqarishi kerak emas degani. Database transactionlar ketma-ket bajarilishini ta'minlash uchun row(qator)larga lock (qulf) qo'yib chiqadi. Qisqachasiga, Concurrency controlni aynan isolation bajaradi.

Durability
Transaction amalga oshirilgandan so'ng, tizim ishdan chiqgan taqdirda ham ma'lumotlar saqlanib qolishi kerak.

Real Life Example

Atomicity
Do'stingiz xisobiga 100$ o'tkazayabsiz. Jarayonlar esa: avval sizni xisobingiz tekshiriladi so'ngra xisobingizdagi summadan 100$ ayriladi va do'stingiz xisobi tekshirilib unga 100$ ni qo'shib qo'yadi. Oddiy logika )

Consistency
Sizning xisobingiz manfiyga aylanmasligi va unda yetarli mablag' bo'lishi bu qoida sifatida beriladi. Agar qoida buzilsa kompaniya minusga ishlaydi. Bunday qoidalar juda ko'p bo'lishi mumkin va men qisqacha keltirdim.

Isolation
Operatsiyalar to muavaffaqiyatli bajarilmagunigacha sizga va do'stingizga hech qanday o'zgarishlar ko'rinmasligi shart. Barcha jarayonlar isolation bo'lgan bo'lishi kerak.

Durability
O'tkazma muvaffaqiyatli kechdi endi ma'lumotlar saqlanishi va o'chib ketmasligi shart.

Transactiondan maqsad va muamolarni to'g'ri yoritib berdim deb umid qilaman.

@otabekswe
More from @otabekswe
  1. Sep 28, 2026Voicelab da bizga eng qiziq bo'lgan mavzu bu Small Language Models (Large Language Models…
  2. Sep 10, 2026Barchamiz miriqib kuzatgan O'rgimchak Odam, Chaqmoq Makvin, Aka-uka Kreshlar (Muzlik davri…
  3. Sep 7, 2026Biz yangilik qilishdan to'xtamayabmiz. • Aisha Comet LLM modelimizni chiqardik. Platformag…
  4. Sep 4, 2026#experience Deyarli bir yarim yildan buyon intervyular jarayonida bitta savol doim so'raym…
  5. Aug 28, 2026#experience Ko'pchilik bir xil savol beradi: "Model o'zilarnikimi yoki open-source modelmi…
  6. Aug 25, 2026Voicelab Desktop V1 chiqdi (katta yangilanish va yaxshilanish qildik), har kunlik bepul kr…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →