Sobes.tech
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();
  }
}