martes, 21 de junio de 2016

Replicación postgresql con pgpool-II

Replicación postgresql con pgpool-II 

Antes de comenzar, debemos tener claro algunos conceptos básicos que nos ayudarán al correcto desarrollo de la replicación con postgreSQL y PgPool-II:

  • Replicación
La réplica es un conjunto de tecnologías destinadas a la copia y distribución de datos y objetos de base de datos, desde una base de datos a otra, para luego sincronizar ambas bases de datos y mantener su coherencia. La réplica permite   distribuir   datos   a   diferentes   ubicaciones   y   a   usuarios   remotos   o móviles   mediante   redes   locales   y   de   área   extensa,   conexiones   de   acceso telefónico, conexiones inalámbricas e Internet.
  • PostgreSQL.
Es   un   Sistema   de   gestión   de   bases   de   datos   objeto­relacional,   distribuido bajo licencia BSD y con su código fuente libre. Es el sistema de gestión de bases   de   datos   de   código   abierto   más   potente,   utiliza   un   modelo   cliente­ servidor   y   usa   multiprocesos   en   vez   de   multihilos   para   garantizar   la estabilidad del sistema. Un fallo en uno de los procesos no afecta el resto y el sistema continúa funcionando.
  • Pgpool II
Es un middleware que se encuentra entre los servidores de PostgreSQL y un cliente de bases de datos PosgreSQL, habla los protocolos de frontend y backend de PostgreSQL, y pasa las conexiones entre ellos. Pgpool­II funcionasobre Linux, Solaris, FreeBSD y la mayoría de las arquitecturas UNIX. Windows no está soportado. Ofrece las siguientes características:

1. Agrupación o pool de Conexiones
Pgpool­II mantiene las conexiones establecidas a los servidores PostgreSQL y los reutiliza cada vez que una nueva conexión con las mismas propiedades entra en juego reduce la sobrecarga de la conexión, y mejora el rendimiento global del sistema.

2. Replicación
Puede gestionar múltiples servidores PostgreSQL, la activación de la función de la replicación hace que sea posible la creación de una copia de seguridad en tiempo real en dos o más grupos PostgreSQL de manera que el servicio pueda continuar sin interrupción si uno de esos grupos falla.

3. Balanceo de Carga
Si se replica una base de datos la realización de una consulta SELECT en cualquier servidor devolverá el mismo resultado. Pgpool­II se aprovecha de la función de replicación con el fin de reducir la carga en cada servidor. Lo hace mediante   la   distribución   de   las   consultas   SELECT   entre   los   servidores disponibles   mejorando   el   rendimiento   global   del   sistema.   El   equilibrio   de carga   funciona   mejor   en   un   escenario   donde   hay   una   gran   cantidad   de usuarios que ejecutan muchas consultas de solo lectura al mismo tiempo.

4. Limitar el acceso de conexiones
Hay   un   límite   en   el   número   máximo   de   conexiones   simultáneas   con PostgreSQL   y   nuevas   conexiones   son   rechazadas   cuando   se   alcanza   este número.   Al   aumentar   este   número   máximo   de   conexiones   aumenta   el consumo de recursos y tiene un impacto negativo en el rendimiento general del   sistema.   Pgpool­II   también   tiene   un   límite   en   el   número   máximo   de conexiones pero las conexiones adicionales se pondrán en otra cola en lugar de devolver un error de inmediato.

5. Consulta en paralelo
Los datos se puede dividir entra varios servidores, por lo que una consulta se puede ejecutar en todos los servidores al mismo tiempo reduciendo el tiempo de   ejecución   total. La consulta paralela es la que funciona mejor   en la búsqueda de datos a gran escala.

Teniendo en cuenta los conceptos anteriores, pasamos a desarrollar el siguiente escenario:

En este escenario se presentan 2 máquinas o hosts con acceso a Internet ya que nuestros servidores estarán alojados en la nube, en este caso en Amazon Web Service. Los nombres de host se han configurado como pgsql1 (maestro) y pgsql2 (esclavo) y se trabajará con la ip pública que dan en los servidores de amazon

Ambos host o nodos, pgsql1 y pgsql2 tendrán instalado:
  • Postgresql 9.4.
  • pgpool2.
  • Sistema Operativo con el que se trabajará en ambos nodos: Debian 8
Para crear nuestras instancias (maquinas virtuales) en amazon web services anexamos la siguiente guía donde está detallado los pasos a seguir:
Enlace para descargar la guía para poder crear una instancia de amazon EC2:
Descargar Guia Amazon

Ya que tenemos creada nuestra cuenta en amazon procedemos a instalar y configurar los archivos de postgreSQL y Pgpool-II como se muestra:
Enlace para descargar la guía para poder configurar la replicación de datos utilizando postgresql con pgpool-II:
Descargar Guia Replicación PostgreSQL

Grupo de trabajo:
Figueroa Ardon, Deisy Cecilia
Lemus Sanabria, Luis Mario
Ramirez Escobar, Carlos Alfredo
Murillo Murgas, Luis Mario
Hidalgo Hidalgo, Nelson Antonio








1 comentario:

Alexander Calderón dijo...

el enlace de la guia de replicacion es incorrecto, manda a la misma guia de amazon