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; COMMITOutputAtomic transferAll or nothing
Errores comunes
- No explicit transaction causes partial commits
- Wrap related operations in a transaction
Términos relacionados
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). GLOSARIO
Isolation Level
Los niveles de aislamiento definen la visibilidad entre transacciones concurrentes, desde lectura no confirmada hasta serializable; niveles más altos dan mayor consistencia pero menor concurrencia. GLOSARIO
Primary Key
Una clave primaria es la columna o combinación de columnas que identifica de forma única cada fila de una tabla — no nula y única; la identidad de la fila. GLOSARIO