martes, 21 de junio de 2016

REPLICACIÓN CON POSTGRESQL Y SLONY-I

UNIVERSIDAD DE EL SALVADOR
FACULTAD MULTIDISCIPLINARIA DE OCCIDENTE
DEPARTAMENTO DE INGENIERÍA Y ARQUITECTURA
BASES DE DATOS


REPLICACIÓN CON POSTGRESQL Y SLONY-I


CATEDRÁTICO:
ING. ALEXANDER CALDERÓN


PRESENTADO POR:
DÍAZ CRUZ, JORGE ALBERTO
jadc1788@gmail.com
ESCALANTE GRIJALVA, GRACIELA ALBALUZ
gaegrijalva@gmail.com
LÓPEZ MARROQUÍN, ÁNGELA DOLORES
angelitalopez4@hotmail.com
OSORIO DE PAZ, DINORA VIRGINIA
virgy22.osorio@gmail.com




INTRODUCCIÓN

La replicación es un mecanismo utilizado para propagar datos en un ambiente distribuido, con el objetivo de tener mejor performance y confiabilidad, mediante la reducción de dependencia de un sistema de base de datos centralizado.
Dada la diversidad de contextos donde se aplican mecanismos de replicación, se puede disponer de una gama de posibilidades, en vez de utilizar una única forma de replicar datos.
Para nuestro ejemplo práctico se utiliza el gestor de base de datos PostgreSQL y la herramienta de replicación Slony-I. La cual se va a detallar en la presente guía.


OBJETIVOS

GENERAL:

Conocer la importancia de trabajar con replicaciones con la herramienta Slony-I para el gestor
de base de datos PostgreSQL.

ESPECÍFICOS:


  • Comprender el funcionamiento de un clúster.
  • Realizar un escenario demostrativo sobre el uso de un clúster empleando replicaciónde bases de datos.
  • Observar en el nodo esclavo el comportamiento de la información que se procesa en el nodo maestro.



REPLICACIÓN CON POSTGRESQL Y SLONY-I

Antes de iniciar esta práctica, es necesario que conozcamos algunos de los elementos que intervienen en este proceso de réplica de base de datos.

Slony-I
Es un software para la replicación de datos entre servidores PostgreSQL, creando clusters formados por un nodo maestro y uno o varios nodos esclavos.

PostgreSQL
Es un Sistema de gestión de bases de datos relacional orientado a objetos y libre, publicado bajo la licencia PosgreSQL.

pgAdmin III
Es una aplicación gráfica para gestionar el gestor de bases de datos PostgreSQL, siendo la más completa y popular con licencia Open Source. Está escrita en C++ usando la librería gráfica multiplataforma wxWidgets, lo que permite que se pueda usan en Linux, FreeBSD, Solaris, Mac OS X y Windows.

Replicación de base de datos
La replicación es el proceso de copiar y mantener actualizados los datos en varios nodos de bases de datos ya sean estos persistentes o no. Éste usa un concepto donde existe un nodo amo o maestro (master) y otros sirvientes o esclavos (slaves).


INSTALACIÓN DE POSTGRESQL Y SLONY-I

PROCEDIMIENTO

1. Descargar la versión que desee de PostgreSQL, en este caso se tomará de ejemplo la versión   9.5.2-1 Una vez descargado, debe dirigirse hacia la carpeta Descargas y darle doble clic al instalador para iniciar el proceso.


2. Deberá elegir el directorio para la instalación, así como el directorio para el almacenamiento de datos; en nuestro caso, dejaremos los directorios por defecto, tal como aparecen en las siguientes pantallas:





3. Como siguiente paso, se debe establecer una contraseña para el superusuario de base de datos postgres, así como el puerto con el que el servidor deberá escuchar.



4. Seleccione la configuración regional que utilizará para el nuevo clúster de base de datos e iniciará la instalación.







5. Mostrará el avance de la instalación y se indicará que ha finalizado satisfactoriamente. Deberá de chequear la opción: Stack Builder para que descargue e instale las herramientas adicionales como Slony-I que utilizará en nuestra replicación.










6. Elegir el directorio donde se almacenarán los paquetes. A continuación iniciará la descarga.



7. Una vez finalice la descarga de los elementos necesarios para la instalación de Slony-I deberá  aparecer el siguiente cuadro de diálogo, al cual deberá darle clic al botón siguiente (Next):




8. Se debe iniciar el asistente para la instalación de Slony-I:


9. Se muestra un cuadro de diálogo indicando que todo está listo para instalar.


10. Observe el proceso de instalación de Slony-I 2.2.4-1:


11. Al finalizar la instalación se muestran dos ventanas: La primera para indicar que ya se instaló Slony-I y la segunda del Stack Builder 3.1.1 indicando una instalación completa (PostgreSQL y herramienta Slony-I), se debe dar clic al botón finalizar (Finish) en ambas ventanas.








FIREWALL.REGLA DE ENTRADA


Es importante realizar este proceso para que el firewall de Windows permita que el puerto 5432 funcione correctamente y pueda escuchar al servidor.


PROCEDIMIENTO


1. Dirigirse hacia el panel de control y dar clic a la opción: Sistema y seguridad. Aparecerá la siguiente ventana:



2. Dar clic a la opción Firewall de Windows y aparecerá una ventana donde debe buscar la opción: Configuración avanzada y ahí agregar la regla de entrada.


3. Buscar la opción: Regla de entrada y dar clic a la opción, posteriormente deberá buscar: Agregar nueva regla y darle clic.


4. Aparecerá un asistente que guiará paso a paso para crear nuestra nueva regla de entrada; esta configuración permitirá que el puerto 5432 funcione correctamente. En el tipo de regla a crear, debe dar clic a la opción: Puerto y luego al botón Siguiente.



5. Luego debe especificar que la regla se aplicará al protocolo TCP (TRANSFER CONTROL PROTOCOL) y debe especificar el puerto que se desea permitir. Clic al botón siguiente.



6. Seleccione la medida que debe ser tomada si una conexión coincide con las configuraciones previamente establecidas, para esto, debe elegir la opción: PERMITIR CONEXIÓN. Dar clic al botón siguiente.


7. Especifique los perfiles que se van a aplicar, deberá seleccionar los tres: Dominio, Privado y Público.

8. Agregar el nombre que llevará la regla y dar clic al botón Finalizar. Luego se observa en la lista de reglas que ya se encuentra la que se creó.



NOTA: En algunos casos será necesario deshabilitar el firewall por completo, ya que con la configuración anterior no basta para establecer la conexión con el puerto 5432.



CREACIÓN DE LA BASE DE DATOS EN POSTGRESQL CON PG ADMIN III

Una base de datos (cuya abreviatura es BD) es una entidad en la cual se pueden almacenar datos de manera estructurada, con la menor redundancia posible.


PROCEDIMIENTO

1. Ingrese a PG Admin III

2. Deberá conectarse a la Base de Datos de PostgreSQL, dando clic derecho sobre la base y seleccionar la opción Connect


3. Deberá escribir la contraseña que ingresó durante el proceso de instalación.



4. Debe crear una Base de Datos, para nuestro caso, deberá colocar el nombre de minitienda.


5. Posteriormente, se deberá conectar a la base de Datos y dirigirse a la creación de las tablas que utilizaran. A continuación se mostrará el Modelo Entidad Relación de la Base de Datos a usar:


6. Deberá agregar las claves primarias, así como las relaciones de acuerdo al modelo de entidad relación.

7. Diseñar las tablas que se muestran en el Modelo Entidad Relación. Primero se asigne el nombre de la Tabla en la ficha Properties (PROPIEDADES) y posteriormente se agrega los campos en la ficha Columns (COLUMNAS).

TABLA PRODUCTO:




8. A continuación deberá asignar la clave principal en la pestaña Constraints (RESTRICCIÓN). Seleccionar el tipo de Clave (Primary Key) y luego elegir el campo al que se aplicará dicho cambio.


9. Una vez que se crea la primera tabla, se procede a crear las siguientes con el mismo procedimiento

TABLA VENTA:





TABLA DETALLE VENTA:





HABILITAR EL LENGUAJE DENTRO DEL PGADMIN III

Una vez creadas las tablas, se procede a habilitar el lenguaje dentro del PGADMIN III. Para ello, hacer el siguiente procedimiento:
1. Dar clic izquierdo al Menú File (Archivo) y dar clic a la opción: Options (Opciones)



2. Aparecerá la siguiente ventana:


3. Dar clic a la opción Display (MOSTRAR) y chequear la opción LANGUAGES (Lenguajes). Luego verificar dentro de la base de datos que se encuentre la opción: PLPGSQL.



CONFIGURACIONES FÍSICAS DE LOS NODOS, AGREGAR DIRECCIONES IP ESTÁTICAS

Para lograr una réplica efectiva, es necesario que las PC´s tengan una dirección estática dentro del mismo rango para lograr la conexión. Para ello, accederemos al procedimiento siguiente:
1. Clic derecho al ícono de la red que se encuentra en la parte inferior derecha de la pantalla y seleccionar la opción: ABRIR CENTRO DE REDES Y RECURSOS COMPARTIDOS. Aparecerá la siguiente pantalla:



2. Dar clic izquierdo a la opción: CAMBIAR CONFIGURACIÓN DEL ADAPTADOR.



3. En la ventana que aparece, deberá darle clic derecho a la opción ETHERNET y seleccionar la opción PROPIEDADES; aparecerá lo siguiente:


4. Debe dar clic a la opción: PROTOCOLO DE INTERNET VERSIÓN 4 (TCP/IPV4) y darle clic al botón Propiedades.



5. En dicha ventana, deberá escribir la dirección IP que se asignará para poder establecer la conexión.
6. Clic izquierdo al botón ACEPTAR y listo.



CREACIÓN DEL SLONY-I

Para la creación del Slony, se debe de configurar el archivo: PG_HBA el cual permitirá agregar las direcciones IP donde se realizará la replicación MAESTRO-ESCLAVO. La ruta del archivo es:
C:/Archivos de Programas/PostgreSQL/9.5/data/pg_hba.conf


1. Al abrir el archivo deberá escribir lo siguiente:


2. Guardar los cambios.

NOTA: Todas estas configuraciones se realizarán en ambos nodos


RUTA DEL SLONY-I

Esta opción permite configurar el Slony-I para especificar la ruta y posteriormente se realizará la replicación. Para ello haremos el siguiente procedimiento:

1. Menú Archivo(File)
2. Seleccionar la opción: OPTIONS (Opciones). Dar clic a la opción: BINARY PATHS y digitar la ruta del Slony específicamente las carpetas Bin y Share así:





REPLICACIÓN: CASO PRÁCTICO

Para verificar que todas las configuraciones han sido efectuadas correctamente, se procederá a realizar las pruebas para verificar la conectividad a través del comando ping en la ventana CMD

1. Uso del comando PING para verificar la conexión:


2. Como puede observar, se tiene conexión. Entonces se procederá a la creación de los archivos.txt de Maestro y Esclavo y así crear la ejecución de la réplica con el Slony-I.
3. La configuración del archivo maestro.txt debe contener lo siguiente:


4. La configuración del archivo esclavo.txt debe contener lo siguiente:


5. A continuación se procederá a ejecutar en la ventana del CMD los comandos que ayudarán a la replicación de cada uno de los archivos.
6. Ingrese a la ventana del CMD y digite lo siguiente:


7. Ahora se procederá a la ejecución del comando para el archivo esclavo.txt



8. Nos aparecerá lo sigiuiente: 



9. Luego se deberá ejecutar el comando en ambos nodos:

slon slony_minitienda “dbname=minitienda user=postgres password=esclavo”


10. Aparecerá lo siguiente:


NOTA: Deberá verificar en el PG ADMIN que ya se cuenta con la replicación y con las tablas a replicar así como el suscriptor esclavo para realizar las pruebas.



Ahora que ya se tienen todas las configuraciones establecidas, se procede a hacer las pruebas de la siguiente manera.

1. Digitar el comando:
slon slony_minitienda “dbname=minitienda user=postgres password=esclavo” desde la consola del Maestro. Cuando se establezca la conexión, el maestro se dispone a abrir la tabla y realizar diferentes acciones sobre las tablas.

2. Se realizan las pruebas desde la tabla Producto así:


3. Se verifica que desde el maestro se ingresan datos, se guarda la información y se refresca en el lado del esclavo, automáticamente se verá la información en la pantalla de la pc.

4. Desde esta ventana se puede insertar, eliminar y editar información.



CONCLUSION

Para concluir con esta guía de instalación y aplicación de postgreSQL con Slony-I, un clúster es un grupo de ordenadores independientes que trabajan conjuntamente para incrementar la disponibilidad de diversas aplicaciones, servicios y recursos. Los servidores en el clúster (llamados nodos) están interconectados mediante cables físicos y por software. Dicho clúster fue de gran utilidad al momento de crear la réplica ya que se logró establecer la conexión y esto permitió compartir información sincronizada a través de dos ordenadores.



CONGRESO DE REPLICACION DE DATOS













1 comentario:

JoshTorrez dijo...

Me gustaría poder recibir una asesoria al respecto