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
COMPONENTESPara 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:
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.
Scheduler
Es el planificador algorítmico. Implementa el control de concurrencia y sincroniza el acceso a los datos enviando peticiones a los procesadores locales.
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 2PLEn 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
3. Cuellos de Botella (Deadlocks) y Grafos de Espera
SIMULADOR VISUALUna 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.