Teresa K. Abuya, Richard M. Rimiru y Cheruiyot WK
Los sistemas de bases de datos distribuidas plantean distintos problemas al acceder a bases de datos distribuidas y replicadas. El protocolo de confirmación en dos fases (2PC) es un algoritmo estándar para salvaguardar las propiedades ACID de las transacciones en sistemas distribuidos. Asegura que cada transacción individual en un sistema distribuido se ejecute hasta su finalización o que una de sus operaciones se confirme. En un sistema de bases de datos distribuidas, una transacción se bloquea durante el procesamiento de confirmación en dos fases (2PC) si el sitio coordinador falla y, al mismo tiempo, algún sitio participante se ha declarado listo para confirmar la transacción. Los fenómenos de bloqueo reducen la disponibilidad del sistema, ya que los participantes mantienen bloqueos en los recursos hasta que reciben el siguiente mensaje del coordinador después de su recuperación. Se empleó un coordinador de respaldo para tratar el problema, pero introdujo más sobrecargas de comunicación. Este documento aborda el problema del bloqueo de transacciones al tiempo que reduce las sobrecargas de comunicación utilizando un algoritmo de simulación. El algoritmo de simulación se desarrolló utilizando Jcreator con MySQL actuando como un administrador de datos de back-end, el administrador de transacciones Bitronix (BTM), que es una implementación simple pero completa de aplicaciones Java. El gestor de transacciones de Bitronix es una opción perfecta para un proyecto que utilice capacidades de transacción mediante la interfaz Java Transfer Manager (JTM). El algoritmo de simulación de transacciones minimizará el problema de falla del coordinador en transacciones distribuidas.