BD
Resumen Base de datos
Volver al Hub de materias

Transacciones Distribuidas
Concurrencia y Deadlocks

Garantizando la consistencia de la base de datos a través de la red. Estudio de la arquitectura de componentes y la detección de interbloqueos (grafos de espera).

1. Arquitectura de Ejecución Distribuida

COMPONENTES

Para que las transacciones mantengan la base de datos consistente, el SGBD distribuido delega las operaciones en tres módulos de software independientes. Si en el examen te piden el rol de cada uno, debes definirlos con precisión técnica:

TM

Transaction Manager

Es el coordinador supremo. Recibe la transacción del usuario y coordina la ejecución de las operaciones interactuando con otros TMs en la red.

SC

Scheduler

Es el planificador algorítmico. Implementa el control de concurrencia y sincroniza el acceso a los datos enviando peticiones a los procesadores locales.

RM

Recovery Manager

Es el seguro de vida. Asegura que la BD pueda restaurarse a un estado consistente en caso de fallos de hardware o caídas de red.

2. Control de Réplicas y Candados (Locks)

REGLA 2PL

En bases de datos con fragmentos replicados, el control de concurrencia debe garantizar que todas las copias de un dato se actualicen sin conflictos. Existen controladores en cada sitio administrando los candados (Locks) de sus propios fragmentos.

Reglas Estrictas para Fragmentos Replicados

READ LOCKLas transacciones pueden solicitar un candado de lectura sobre cualquier copia disponible en la red. Esto optimiza la lectura al nodo más cercano.
WRITE LOCKPara escribir, la regla es draconiana: se deben bloquear absolutamente todas las copias del fragmento en todos los sitios simultáneamente.

3. Cuellos de Botella (Deadlocks) y Grafos de Espera

SIMULADOR VISUAL

Una transacción entra en un cuello de botella si está bloqueada y permanecerá así a menos que intervenga el administrador. Para detectarlos, el sistema construye Grafos de Espera: Si Ti espera que Tj libere un candado, se traza un arco dirigido Ti ➔ Tj.

Trampa Teórica de Examen: ¿Puede existir un interbloqueo global aunque ningún sitio físico reporte un interbloqueo local? . Esto se demuestra uniendo los grafos de espera locales.
ESTADO: 01/02 Operaciones Locales Sanas