Sobes.tech
Junior — Middle

Маалыматтар базасынын контекстинде транзакция деген эмне экенин түшүндүрө аласызбы?

sobes.tech AI

AIден жооп

Маалыматтар базаларындагы транзакция — бул бир бүтүн катары ишке ашырылган операциялардын үзүндүсү. Транзакция ийгиликтүү аяктап, толук (commit) же каталар болсо толугу менен кайтарылып (rollback) калтырылат. Бул маалыматтардын бүтүндүгүн камсыздайт жана бөлүнгөн жаңылоолорду алдын алат.

Транзакциялардын негизги өзгөчөлүктөрү ACID кыскача белгиленет:

  • Атомдуулук — транзакциянын ичинде бардык операциялар толук же эч качан жасалбайт.
  • Туруктуулук — транзакция аяктагандан кийин, маалыматтар базасы туура абалда калат.
  • Изоляция — параллелдүү транзакциялар бири-бирине таасир этпейт.
  • Туруктуулук — транзакциянын бекитилиши менен өзгөртүүлөр сакталат, ката кетсе да.

Node.js колдонуп, pg китепканасы менен PostgreSQL үчүн мисал:

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