Misión 2 · Lección 7

Transacciones y Control de Concurrencia

Objetivos

¿Qué es una Transacción?

Una unidad de trabajo que agrupa una o más operaciones SQL que se ejecutan como un bloque.

Propiedades ACID

Manejo de Transacciones

BEGIN;

UPDATE cuentas SET saldo = saldo - 100 WHERE id = 1;
UPDATE cuentas SET saldo = saldo + 100 WHERE id = 2;

COMMIT; -- confirma los cambios
-- ROLLBACK; -- deshace los cambios si hay error

Problemas de Concurrencia

Niveles de Aislamiento SQL

Bloqueos (Locks)

Técnicas de Control de Concurrencia

MVCC — Multiversion Concurrency Control

Permite que múltiples transacciones lean datos sin bloquearse:

Ejercicio Guiado

  1. Simula una transferencia bancaria con BEGIN, COMMIT y ROLLBACK.
  2. Configura un nivel de aislamiento y observa el comportamiento.
  3. Prueba dos sesiones simultáneas actualizando la misma fila.