Alta Disponibilidad con PostgreSQL. Lenin Hernández Junio 2012

Alta Disponibilidad con PostgreSQL Lenin Hernández Junio 2012     @leninmhs 2012 ¿Por que estamos aqui?    Divulgar el Software Libre  Pro

0 downloads 87 Views 769KB Size

Story Transcript

Alta Disponibilidad con PostgreSQL Lenin Hernández Junio 2012

 

 

@leninmhs 2012

¿Por que estamos aqui?

 



Divulgar el Software Libre



Profundizar el uso de Software Libre



Potenciar las capacidades de desarrollo tecnológico



Aprender, compartir, disfrutar, debatir



Autodesarrollo, autodeterminación.



Conocimiento Libre



4 Libertades  

Gracias a Universidad Nacional Experimental Romulo Gallegos “Un viaje de mil leguas comienza con un primer paso”

 

 

@leninmhs 2012

¿Por qué PostgreSQL? 

#aptitude install postgres postgresql­8.4



Proyectos de interfaces de administración WEB y por GUI



Proyectos para datos geográficos/geométricos (PostGIS)



 Proyectos de uso de indices avanzados (OpenFTS)











 

Proyectos para soportar diversos lenguajes de programación como  lenguajes de funciones internas del motor (pl/Php, pl/Java, pl/Python,  pl/Perl, pl/Tcl,pl/Javascript, pl/C etc.) Licencia BSD, la mas permisiva de todas. Corre en casi todos los principales sistemas operativos : (Linux, Unix,  Solaris, BSDs, Mac OS, Beos) Soporte para los lenguajes mas populares del medio: PHP, C, C++, Java,  Perl, Python, Ruby,etc. Máximo de base de datos : ILIMITADO  



Máximo de tamaño de tabla : 32TB

Y la competencia???

 

  Imagen por: http://www.exprimetuhost.com/2010/10/mysql-o-postgresql/mysql-vs-postgresql/

@leninmhs 2012

En algún momento...

 

  Imagen por: http://www.seofaction.com/postgres

@leninmhs 2012

Actualmente...

 

  Imagen por: http://stefano.salvatori.cl/blog/2007/09/21/postgresql-vs-mysql-2/

@leninmhs 2012

Cluster Alta Disponibilidad

Nos enfocamos en la disponiblidad del servicio. Lo medimos en tiempos en linea y tiempos fuera de linea Lo medimos en tiempos en linea y tiempos fuera de linea

 

 

Alta Disponibilidad (High Availability) Continuidad operativa del servicio.

24 - 7

Por lo general, consiste en ● ● ● ● ● ● ●

Servidor Servidor Software Software Software entre el Software

maestro (s) esclavo (s) para detectar la falta de un maestro para promover un esclavo a maestro o hardware para garantizar la coherencia de datos maestro (s) y el esclavo (s) para restaurar el servicio luego de caída o falla

¿Que NO es alta disponibilidad en Bases de Datos?   Una forma de aumentar el rendimiento   ● Una manera de simplificar tu trabajo, la red, el mantenimiento ● Fácil de implementar ●

@leninmhs 2012

Cuando hablamos de alta disponibilidad hablamos de: 

Replicación



Balanceo de Cargas (Load Balance)



Tolerancia a fallos (FailOver)







 

Conexiones Agrupadas (Pool Connection) Consultas Distribuidas (Parallel Query) Gestión de Divergencias  

@leninmhs 2012

Replicación

 

  Extraido de: http://py-arahat.blogspot.com/2011/11/alta-disponibilidad-con-postgresql.html

 

  Extraido de: http://py-arahat.blogspot.com/2011/11/alta-disponibilidad-con-postgresql.html

 

  Extraido de: http://py-arahat.blogspot.com/2011/11/alta-disponibilidad-con-postgresql.html

Divergencia

 

  Extraido de: http://py-arahat.blogspot.com/2011/11/alta-disponibilidad-con-postgresql.html

Tolerancia a Fallos

 

  Extraido de: http://py-arahat.blogspot.com/2011/11/alta-disponibilidad-con-postgresql.html

Replicación Síncrona Se realiza tan pronto como se realiza una transacción la misma se ejecuta en todos los nodos. Esto es muy costoso en términos de latencia y la cantidad de mensajes que se enviarán, pero evita la divergencia

 

  Extraido de: http://py-arahat.blogspot.com/2011/11/alta-disponibilidad-con-postgresql.html

Replicación Asíncrona Los nodos del 'cluster' pueden aplicar los datos de transacciones en cualquier momento posterior, por lo que los nodos pueden servir diferentes simultáneamente distinta data.

 

 

Soluciones Alta Disponibilidad

PostgreSQL 9 Slony RubyRep Londiste Mammoth Bucardo PgCluster PgPool-II PgPool

Solución mágica y esotérica

● ●

 

Scripts automaticos, semiautomaticos Restaurar, replicar etc.. a partir de logs  

@leninmhs 2012

Consideraciones a tomar al elegir una solución:

en

cuenta



Software Libre. 4 Libertades



Linux,FreeBSD,Solaris y xUnix



PostgreSQL y Solución versión estable



Comunidad y Desarrollo activo



Sinergia [Solución - Organización]

 

 

@leninmhs 2012

Instalar & Implementar alguna de las soluciones: Camino 1 aptitude search tu_solucion aptitude install tu_solucion Configuración, adaptación,pruebas etc.. PD: aptitude solo disponible en: y derivados...

 

Camino 2 Camino largo, doloroso y recomendado para entornos en producción Descargar Descomprimir Ingresar directorio ./configure make make install Configuración, adaptación,pruebas etc..

If pruebas = ok anotar_chuleta(); compartir_internet(); Else intenter_nuevamente(); probar_otra_herramienta();   @leninmhs 2012

PGpool-II Es una capa intermedia de software (middleware),que nos provee de una interfaz de conexión con uno o mas nodos de PostgreSQL. Nuestros clientes se conectaran en realidad al PgPool y este a su vez repartirá el trabajo a los Nodos según se haya configurado. Es una de las soluciones mas completa de alta disponibilidad en software libre.  

 

pgpool-II Una imagen vale más que mil palabras

Q R E R y

IP Puerto Usuario Contraseña

Q R E R y

Clientes

Se comporta como cliente y servidor Q R E R y

 

IP Puerto Usuario Contraseña nodo1

Q R E R y

PgPool-II

Q R E R y

IP Puerto Usuario Contraseña

Q R E R y

Q R E R y

IP Puerto Usuario Contraseña nodo2

nodo3

 

Pool de servidores PostgreSQL

@leninmhs 2012

PgPoolAdmin Herramienta de Administración de PgPool de interfaz web, similar a PhpPgAdmin, escrita en PHP que nos permite administrar, configurar, monitoriar y aplicar algunas acciones sobre nuestra instalación de PgPool ó nuestros nodos.

 

 

@leninmhs 2012

Dudas, Preguntas, Preguntas, Dudas, Sugerencias??? Sugerencias???

 

 

@leninmhs 2012

preguntas

http://tubasededatoslibre.org

http://leninmhs.wordpress.com/2012/05/09/alta-disponibilidad-pgpool/

http://wiki.postgresql.org/wiki/Clustering

http://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Pooling

http://bucardo.org

 

 

@leninmhs 2012

Gracias Totales... Blog: leninmhs.wordpress.com Correo: [email protected] Twitter: @leninmhs

www.tubasededatoslibre.org Twitter: @tu_bd_libre Facebook: facebook.com/TuBaseDeDatosLibre  

 

@leninmhs 2012

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.