Replicación Autonómica de Bases de Datos

  1. Milán Franco, Jesús Manuel
Dirigida por:
  1. Bettina Kemme Director/a
  2. Ricardo Jiménez-Peris Director/a

Universidad de defensa: Universidad Politécnica de Madrid

Fecha de defensa: 30 de junio de 2008

Tribunal:
  1. Sergio Arévalo Viñuales Presidente/a
  2. Ernesto Jimenez Merino Secretario/a
  3. Peter Popov Vocal
  4. Esther Pacitti Vocal
  5. Francesc Daniel Muñoz Escoí Vocal

Tipo: Tesis

Resumen

En los últimos años, la evolución de los sistemas informáticos ha creado sistemas cada vez más complejos que constan de multitud de elementos interconectados a través de redes de comunicaciones rápidas. La configuración óptima de cada uno de estos elementos para obtener el máximo rendimiento del sistema depende de un gran número de factores como son la carga del sistema, el tipo de carga y el hardware sobre el que se ejecuta, entre otros. Esta diversidad de parámetros de configuración hace que la administración de dichos sistemas sea cada vez más complicada y que requiera administradores de sistemas con mucha experiencia y dedicación a estas tareas. Dichos sistemas, además, están sujetos a cambios de diversa naturaleza como son variaciones en la carga del sistema, en el tipo de carga, en los recursos disponibles; fallos y recuperaciones de los elementos del sistema, etc. Por esta razón ha surgido la necesidad de crear sistemas que sean capaces de adaptarse de forma automática a los cambios en el entorno que les rodea sin necesidad de intervención humana y que al mismo tiempo exhiban un alto rendimiento y calidad de servicio. Estos sistemas adaptables dinámicamente interaccionan con su entorno para detectar los cambios en el mismo, analizan la información obtenida para generar configuraciones óptimas a las condiciones actuales del entorno y modifican su configuración para adaptarse a estos cambios. El objetivo de estos sistemas es maximizar el rendimiento del sistema de acuerdo a las métricas de rendimiento de interés. En estos sistemas distribuidos, la replicación de datos juega un papel muy importante como forma de aumentar el rendimiento. Hasta ahora la replicación se implementaba dentro de la propia base de datos, lo que obligada a realizar modificaciones en la base de datos y estos no siempre eran posibles. Una línea de investigación nueva iniciada en el LSD y que ha sido adoptada por gran parte de los investigadores es la implementar la lógica de la replicación fuera de la base de datos a nivel de middleware. Este trabajo de investigación se enmarca dentro de esta línea de investigación y en él se estudia la adaptabilidad dinámica en el contexto de las bases de datos replicadas basadas en middleware. La adaptabilidad del sistema replicado afecta principalmente a dos áreas de trabajo: La adaptación local (el control del nivel de concurrencia) y la adaptación global (el equilibrado de carga). El objetivo de la adaptación local es conseguir el máximo rendimiento de cada réplica individualmente sin llegar a sobrecargarlas, mientras que el objetivo de la adaptación global es conseguir que la carga del sistema esté equilibrada, evitando de esta forma que algunas réplicas estén saturadas, mientras que otras estén ociosas. El trabajo realizado en esta tesis desarrolla un sistema de replicación adaptable a nivel de middleware que englobe ambas áreas de trabajo desarrollando protocolos y algoritmos para el control de la concurrencia a nivel local y el equilibrado de carga a nivel global y que maximizan de forma automática el rendimiento del sistema bajo distintos tipos de carga, fallos y recuperación de réplicas. ABSTRACT.In the last years, computer systems have evolved from mainframes to complex systems made out of thousands of interconnected elements through fast communication networks. Optimal tuning of such elements to get the highest performance of the system depends on a great number of factors such as system load, workload, hardware, etc. This number of parameters makes systems administration a very hard task and requires fulltime skilful system administrators. Furthermore such systems are subject to changes in their environment such as load, type of workload, available resources, fail and recoveries of system elements, etc. This makes necessary to build systems that are able to adapt themselves automatically to the changes in the environment without any human operation while they show high performance and QoS. These dynamic adaptive systems interact with their environment to detect the changes, analyse the data gathered to generate optimal configurations for the current environmental conditions and modify their configuration accordingly to adapt themselves to these changes. Their objective is to maximize system performance according to some target performance metrics. In distributed systems, data replication plays a main role to improve the performance. Until now, replication was implemented inside the database, which implies changes in the database code that were not always feasible. A new research line started in LSD and adopted by a majority of the researches is to implement the replication logic outside the database at a middleware level. This research work fall in this research line and it studies dynamic adaptability in the context of middleware replicated databases. Adaptability in replicated systems deals with two key issues: local adaptation (control of concurrency level) and global adaptation (load balancing). The objective of local adaptation is to get the maximum performance of each individual replica without overloading, and the objective of global adaptation is to evenly distribute the load of the system avoiding overloading some replicas, while other are idle. The work done in this thesis develops an adaptive replicated system at middleware level that covers both areas developing protocols and algorithms for concurrency control at local level and load balancing at global level that automatically maximize the system performance under different load conditions, workloads, and replica failures and recoveries.