Desarrollo de un Sistema de Replicación y Distribución de Consultas de Bases de Datos Infobright
Professor Advisor
dc.contributor.advisor
Pineda Leone, Edgard
es_CL
Author
dc.contributor.author
Poillot Cartes, Ronald Elias
es_CL
Staff editor
dc.contributor.editor
Facultad de Ciencias Físicas y Matemáticas
es_CL
Staff editor
dc.contributor.editor
Departamento de Ciencias de la Computación
es_CL
Associate professor
dc.contributor.other
Pérez Rojas, Jorge
Associate professor
dc.contributor.other
González González, Dionisio
Admission date
dc.date.accessioned
2012-09-12T18:18:31Z
Available date
dc.date.available
2012-09-12T18:18:31Z
Publication date
dc.date.issued
2012
es_CL
Identifier
dc.identifier.uri
https://repositorio.uchile.cl/handle/2250/104374
Abstract
dc.description.abstract
La Inteligencia de Negocios (BI) y la Minería de Datos (DM) son áreas que han tenido un importante crecimiento en los últimos diez años. Estas disciplinas ayudan en la toma de decisiones de las compañías, entregando valiosa información extraída desde los datos de la empresa mediante complejos procedimientos. Resulta indispensable para los proveedores de servicios en estas áreas el contar con los datos disponibles la mayor cantidad de tiempo posible, para no incurrir en quiebres importantes de su continuidad operacional.
El objetivo de la presente memoria fue crear un sistema básico de alta disponibilidad que incluye replicación y distribución de consultas a Bases de Datos, el cual pretende disminuir los riesgos asociados al downtime de los servidores de datos de la empresa Penta Analytics. Esta compañía utiliza Infobright como motor de almacenamiento de datos, el cual está orientado a Bases de Datos de tipo analítica y que actualmente no cuenta con una solución de alta disponibilidad que abarque ambos temas.
La solución fue diseñada en base a tres componentes principales: un sistema de replicación de datos, un sistema de distribución de consultas y una tabla de estados de replicación. Para la replicación se desarrolló una aplicación ad-hoc programada en lenguaje Java, mientras que la distribución de consultas fue creada en base a una aplicación llamada MySQL-Proxy, que fue adaptada para funcionar con un clúster de Bases de Datos analíticas. La tabla de replicación resguarda el estado de actualización de cada componente del sistema, estado que debe ser consistente ante cualquier escenario.
Como resultado se obtuvo un sistema que mejora los tiempos de respaldo de datos y de respuestas a consultas a Bases de Datos. La solución para la distribución de consultas es escalable y paralelizable, mientras que el sistema de replicación escala sólo verticalmente y requiere modificación de código para agregar paralelismo y escalabilidad horizontal.
Este desarrollo constituye una innovación como solución de alta disponibilidad para este tipo de Bases de Datos. En base a la presente memoria se muestra un conjunto de posibles mejoras y trabajos futuros, como por ejemplo mejorar los algoritmos de selección de servidor en la distribución de consultas u optimizar el transporte de datos entre servidores del sistema de replicación.