Saltar al contenido
uencoder

ACID

ACID son las cuatro propiedades de las transacciones relacionales: atomicidad (todo o nada), consistencia (se mantienen las restricciones), aislamiento (concurrencia sin interferencia), durabilidad (persistencia tras commit).

Propósito

Garantizar que las transacciones sean correctas y fiables ante fallos y concurrencia, el compromiso central de las bases de datos relacionales.

Mecanismo

Atomicidad: undo log para todo o nada. Consistencia: se satisfacen las restricciones antes y después. Aislamiento: bloqueos/MVCC hacen las transacciones concurrentes equivalentes a seriales. Durabilidad: redo log/WAL escribe a almacenamiento persistente tras commit. Niveles de aislamiento crecientes: lectura no confirmada → lectura confirmada → lectura repetible → serializable.

Casos de uso

  • Transacciones de transferencia financiera
  • Pedidos y deducción de inventario
  • Actualización multitabla
  • Operaciones que requieren fuerte consistencia

Ejemplos

  • entrada
    BEGIN; UPDATE...; INSERT...; COMMIT
    Output
    Atomic commit or rollback

    All or nothing

Errores comunes

Long transactions holding locks cause blocking
Shorten transactions; use optimistic locking

Términos relacionados

References