Junior — Middle
Veritabanı bağlamında işlemden ne anlaşıldığını açıklayabilir misiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Veritabanlarındaki işlem, tek bir bütün olarak gerçekleştirilen bir dizi işlemdir. İşlem ya tamamen başarılı (commit) şekilde tamamlanır ya da bir hata oluşursa tamamen geri alınır (rollback). Bu, verilerin bütünlüğünü sağlar ve kısmi güncellemeleri önler.
İşlemlerin temel özellikleri, ACID kısaltmasıyla tanımlanır:
- Atomiklik — işlemler ya tamamen gerçekleştirilir ya da hiç gerçekleştirilmez.
- Tutarlılık — işlemin ardından veritabanı doğru durumda kalır.
- İzolasyon — paralel işlemler birbirini etkilemez.
- Dayanıklılık — işlemin onaylanmasından sonra değişiklikler, arızalara rağmen korunur.
Node.js'te pg kütüphanesi kullanılarak PostgreSQL örneği:
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();
}
}