Saltar al contenido
uencoder

Transaction

Una transacción es un grupo de operaciones ejecutadas como una única unidad lógica que satisface ACID: todo o nada.

Propósito

Agrupar múltiples operaciones en una unidad atómica, garantizando corrección ante fallos y concurrencia.

Mecanismo

BEGIN la inicia, las operaciones se ejecutan, COMMIT confirma o ROLLBACK aborta. La atomicidad la garantiza el log de undo, la durabilidad el log de redo/WAL, el aislamiento los cerrojos o MVCC. Las transacciones distribuidas usan 2PC/3PC o el patrón Saga.

Casos de uso

  • Transferencias bancarias
  • Pedidos y descuento de inventario
  • Actualizaciones multitabla relacionales
  • Operaciones distribuidas entre servicios

Ejemplos

  • entrada
    BEGIN; A→B 100; COMMIT
    Output
    Atomic transfer

    All or nothing

Errores comunes

No explicit transaction causes partial commits
Wrap related operations in a transaction

Términos relacionados

References