Junior — Middle
Ma'lumotlar bazalari kontekstida tranzaksiya nima ekanligini tushuntirib bera olasizmi?
sobes.tech AI
AIdan javob
Ma'lumotlar bazalaridagi tranzaksiya — bu bir butun sifatida bajariladigan operatsiyalar ketma-ketligi. Tranzaksiya muvaffaqiyatli yakunlanadi (commit) yoki xato yuz bersa butunlay bekor qilinadi (rollback). Bu ma'lumotlarning yaxlitligini ta'minlaydi va qisman yangilanishlarni oldini oladi.
Tranzaktsiyalarning asosiy xususiyatlari ACID qisqartmasi bilan tavsiflanadi:
- Atomicity (Atomiklik) — tranzaktsiya ichidagi barcha operatsiyalar to'liq bajariladi yoki umuman bajarilmaydi.
- Consistency (Yaxlitlik) — tranzaksiya bajarilgandan so'ng, ma'lumotlar bazasi to'g'ri holatda qoladi.
- Isolation (Izolyatsiya) — parallel tranzaktsiyalar bir-biriga ta'sir qilmaydi.
- Durability (Mustahkamlik) — tranzaksiya tasdiqlangandan so'ng, o'zgarishlar xatoliklar bo'lsa ham saqlanadi.
Node.jsda pg kutubxonasi yordamida PostgreSQL uchun misol:
const { Client } = require('pg');
async function runTransaction() {
const client = new Client();
await client.connect();
try {
await client.query('BEGIN');
await client.query('INSERT INTO users(name) VALUES($1)', ['Alice']);
await client.query('INSERT INTO accounts(user_id, balance) VALUES($1, $2)', [1, 100]);
await client.query('COMMIT');
} catch (e) {
await client.query('ROLLBACK');
throw e;
} finally {
await client.end();
}
}