Actualizado el 21 de Marzo del 2018 (Publicado el 10 de Enero del 2018)
1.262 visualizaciones desde el 10 de Enero del 2018
2,1 MB
132 paginas
Creado hace 8a (18/05/2016)
Facultad de Ciencias Sociales y Administrativas
Ingeniería en Software
Tesis de grado
ii
CONFIABILIDAD, RECUPERACIÓN DE FALLOS Y OPTIMIZACIÓN DE
BASES DE DATOS “POSTGRES” EN SERVIDORES UTILIZANDO
SISTEMAS DE REPLICACIÓN
Alumno: Marcelo A. Giuntoli
Legajo Nº: 16624
Tutor: Mgter. Alejandro Vazquez
iii
CALIFICACIÓN
iv
AGRADECIMIENTOS
Agradezco principalmente a Dios, a mi familia y los profesores que marcaron mi camino.
v
Tabla de Contenido
1- INTRODUCCIÓN .......................................................................................................................... 1
1.1 RESUMEN TÉCNICO .............................................................................................................. 1
1.3 DENOMINACIÓN DEL PROYECTO ..................................................................................... 2
1.4 PALABRAS CLAVE ................................................................................................................. 2
1.5 DISCIPLINA .............................................................................................................................. 2
2- DESCRIPCION DEL PROYECTO ................................................................................................ 3
2.1 FORMULACIÓN Y FUNDAMENTACIÓN DEL PROBLEMA ............................................ 3
2.2 HIPÓTESIS DE INVESTIGACIÓN ......................................................................................... 3
2.3 OBJETIVOS............................................................................................................................... 4
2.3.1 Objetivo General .................................................................................................................. 4
2.3.2 Objetivos Específicos .......................................................................................................... 4
2.4 METODOLOGÍA ...................................................................................................................... 4
2.5 MARCO TEÓRICO ................................................................................................................... 5
2.5.1 Características de Postgres ................................................................................................... 5
2.5.2 Descripción de la replicación ............................................................................................. 16
2.5.3 Distintos métodos de replicación ....................................................................................... 23
2.5.3.1 Slony .......................................................................................................................... 23
2.5.3.2 PgPool-II .................................................................................................................... 31
2.5.3.3 Bucardo ...................................................................................................................... 45
vi
2.5.3.4 PgCluster II ................................................................................................................ 50
2.5.3.5 PyReplica ................................................................................................................... 58
2.5.3.6 Streaming Replication (Replicación en flujo) ........................................................... 64
2.5.4 Balanceo de carga .............................................................................................................. 70
2.5.4.1 SQL Relay ................................................................................................................. 70
2.5.4.2 HAProxy .................................................................................................................... 77
2.5.5 Backups .............................................................................................................................. 84
2.5.5.1 SQL Dump ................................................................................................................. 84
2.5.5.2 File System Level Backup ......................................................................................... 87
2.5.5.3 Continuous archiving and Point in Time Recovery (PITR) ...................................... 89
2.6 RESULTADOS ESPERADOS ................................................................................................ 98
2.6.1 Implementación de los métodos de Replicación, Balanceo de Carga y Backup ............... 99
2.6.1.1 Configuración de Streaming Replication ................................................................ 100
2.6.1.2 Configuración de SQL Relay .................................................................................. 109
2.6.1.3 Configuración de Backups....................................................................................... 123
3- TRANSFERENCIA Y BENEFICIARIOS ................................................................................. 125
4- BIBLIOGRAFÍA. ........................................................................................................................ 126
1
1- INTRODUCCIÓN
1.1 RESUMEN TÉCNICO
En este trabajo expongo la replicación de base de datos como un método para obtener mayor
seguridad y disponibilidad de los datos almacenados en las distintas bases de datos Postgres. Como
objetivo de este trabajo demuestro que utilizar replicación en bases de datos logra una mayor
disponibilidad de los datos. Esto queda demostrado por medio de sistemas operativos (Linux)
instalados en máquinas virtuales, los cuales cuentan con la configuración que se investiga según el
tema que se desarrolla.
Este tipo de tecnología beneficia a los administradores de bases de datos, a los propietarios
de la información y a los usuarios finales, dado que esto permite a los administradores de bases de
datos manejar las bases de datos de una manera más segura, a los propietarios de la información de
que garantizan la integridad de sus datos, dado que evita perdidas de información y que los usuarios
de la misma cuentan con los datos cada vez que lo necesitan, aun cuando existen fallas en los
servidores de bases de datos.
La replicación es el proceso de copiar y mantener objetos de la base de datos, como por
ejemplo relaciones, en múltiples bases de datos que forman un sistema de bases de datos
distribuido.
2
1.2 DENOMINACIÓN DEL PROYECTO
Confiabilidad, recuperación de fallos y optimización de bases de datos “Postgres” en
servidores utilizando sistemas de replicación.
1.3 PALABRAS CLAVE
Servidor, bases de datos, replicación, disponibilidad, recuperación de fallos, confiabilidad,
optimización.
1.4 DISCIPLINA
Las disciplinas del trabajo son las Bases de Datos. Este material de trabajo se centrará en la
aplicación de modos de replicación de Bases de Datos Postgres instaladas en servidores Linux.
3
2- DESCRIPCION DEL PROYECTO
2.1 FORMULACIÓN Y FUNDAMENTACIÓN DEL PROBLEMA
En la actualidad, el Centro de Informática de la Universidad Nacional de Cuyo no cuenta
con un sistema de base de datos que garantice la alta disponibilidad de los datos ante posibles fallas
de hardware o de software, por lo que si se produjera algún desperfecto no se podrían realizar
consultas sobre dichas bases de datos. Frente a esto, el administrador de bases de datos, tiene como
desafío lograr en lo posible que el sistema de bases de datos sea consistente y se encuentre
disponible siempre que sea requerido.
La base del problema radica en el hecho de que actualmente en el Centro de Informática de
la Universidad Nacional de Cuyo sólo se dispone de backups que se realizan de manera periódica,
por lo que si se interrumpe el servicio, este deberá estar detenido durante el lapso en que se logre
restablecer el mismo o durante el tiempo que tome restaurar un backup corriendo el riesgo de perder
los datos guardados en la base luego de realizada la última copia de seguridad.
2.2 HIPÓTESIS DE INVESTIGACIÓN
Mediante un sistema de replicación de datos en Postgres es posible aumentar la
disponibilidad de las bases de datos, logrando un grado de consistencia en los datos replicados en
estas bases de datos bajo condiciones de tolerancia a fallas.
4
2.3 OBJETIVOS
2.3.1 Objetivo General
Analizar, configurar e implementar un Sistema de replicación de bases de datos Postgres,
que contribuya a mejorar la tolerancia a fallas, el almacenamiento y consulta de los datos.
2.3.2 Objetivos Específicos
Instalar un sistema de replicación asincrónica maestro-esclavo (master-slave) en el que
los nodos esclavos se pueden utilizar para realizar consultas de solo lectura.
Proporcionar un método de balanceo de carga en los servidores Postgres.
Realización de backups de las distintas bases de datos Postgres.
Implementación en la Universidad Nacional de Cuyo, que constará de la instalación y
configuración de un sistema de replicación conjuntamente con un método de balanceo de
carga, además de un sistema de backups para las distintas bases de datos que la
Universidad dispone.
2.4 METODOLOGÍA
El desarrollo de este trabajo de investigación se realizará en torno a las siguientes
actividades:
La primera etapa de investigación comienza con un relevamiento de la información
tendiente a obtener un panorama de las distintas tecnologías y opcio
Comentarios de: CONFIABILIDAD, RECUPERACIÓN DE FALLOS Y OPTIMIZACIÓN DE BASES DE DATOS “POSTGRES” EN SERVIDORES UTILIZANDO SISTEMAS DE REPLICACIÓN (0)
No hay comentarios