Sobes.tech
Junior — Middle

Können Sie erklären, was im Kontext von Datenbanken unter einer Transaktion verstanden wird?

sobes.tech KI

Antwort von AI

Eine Transaktion in Datenbanken ist eine Sequenz von Operationen, die als eine Einheit ausgeführt wird. Die Transaktion wird entweder vollständig erfolgreich (commit) abgeschlossen oder bei einem Fehler vollständig zurückgesetzt (rollback). Dies gewährleistet die Integrität der Daten und verhindert partielle Aktualisierungen.

Die Hauptmerkmale von Transaktionen werden durch die Abkürzung ACID beschrieben:

  • Atomarität — alle Operationen innerhalb der Transaktion werden vollständig ausgeführt oder gar nicht.
  • Konsistenz — nach Abschluss der Transaktion bleibt die Datenbank in einem korrekten Zustand.
  • Isolation — parallele Transaktionen beeinflussen sich nicht gegenseitig.
  • Dauerhaftigkeit — nach Bestätigung der Transaktion bleiben die Änderungen auch bei Ausfällen erhalten.

Beispiel in Node.js mit der Bibliothek pg für 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();
  }
}