alta disponibilidad con postgresql · junio 2012 @leninmhs 2012 ... potenciar las capacidades de...
TRANSCRIPT
![Page 1: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/1.jpg)
Alta Disponibilidad Alta Disponibilidad con PostgreSQLcon PostgreSQL
Lenin Hernández Junio 2012
@leninmhs 2012
![Page 2: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/2.jpg)
¿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
![Page 3: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/3.jpg)
Gracias a Universidad Nacional
Experimental Romulo Gallegos
“Un viaje de mil leguas comienza con un primer paso”
@leninmhs 2012
![Page 4: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/4.jpg)
¿Por qué PostgreSQL? #aptitude install postgres postgresql8.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
![Page 5: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/5.jpg)
Y la competencia???
@leninmhs 2012Imagen por: http://www.exprimetuhost.com/2010/10/mysql-o-postgresql/mysql-vs-postgresql/
![Page 6: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/6.jpg)
En algún momento...
@leninmhs 2012Imagen por: http://www.seofaction.com/postgres
![Page 7: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/7.jpg)
Actualmente...
@leninmhs 2012Imagen por: http://stefano.salvatori.cl/blog/2007/09/21/postgresql-vs-mysql-2/
![Page 8: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/8.jpg)
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
![Page 9: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/9.jpg)
Por lo general, consiste en● Servidor maestro (s)● Servidor esclavo (s)● Software para detectar la falta de un maestro● Software para promover un esclavo a maestro● Software o hardware para garantizar la coherencia de datos● entre el maestro (s) y el esclavo (s)● Software 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
Alta Disponibilidad (High Availability) <=> Continuidad operativa del servicio.
24 - 7
@leninmhs 2012
![Page 10: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/10.jpg)
Replicación Balanceo de Cargas (Load Balance) Tolerancia a fallos (FailOver) Conexiones Agrupadas (Pool
Connection) Consultas Distribuidas (Parallel
Query) Gestión de Divergencias
Cuando hablamos de alta disponibilidad hablamos de:
@leninmhs 2012
![Page 11: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/11.jpg)
Replicación
Extraido de: http://py-arahat.blogspot.com/2011/11/alta-disponibilidad-con-postgresql.html
![Page 12: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/12.jpg)
Extraido de: http://py-arahat.blogspot.com/2011/11/alta-disponibilidad-con-postgresql.html
![Page 13: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/13.jpg)
Extraido de: http://py-arahat.blogspot.com/2011/11/alta-disponibilidad-con-postgresql.html
![Page 14: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/14.jpg)
Divergencia
Extraido de: http://py-arahat.blogspot.com/2011/11/alta-disponibilidad-con-postgresql.html
![Page 15: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/15.jpg)
Tolerancia a Fallos
Extraido de: http://py-arahat.blogspot.com/2011/11/alta-disponibilidad-con-postgresql.html
![Page 16: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/16.jpg)
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.htmlExtraido de: http://py-arahat.blogspot.com/2011/11/alta-disponibilidad-con-postgresql.html
![Page 17: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/17.jpg)
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.
![Page 18: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/18.jpg)
Soluciones Alta Disponibilidad
Bucardo PgClusterSlony RubyRepPostgreSQL 9 Londiste
Mammoth
Solución mágica y esotérica
● Scripts automaticos, semiautomaticos● Restaurar, replicar etc.. a partir de logs
@leninmhs 2012
PgPoolPgPool-II
![Page 19: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/19.jpg)
Consideraciones a tomar en cuenta al elegir una solución:
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
![Page 20: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/20.jpg)
Instalar & Implementar alguna de las soluciones:
If pruebas = okanotar_chuleta();compartir_internet();
Else intenter_nuevamente(); probar_otra_herramienta();
Descargar Descomprimir Ingresar directorio./configure make make installConfiguración, adaptación,pruebas etc..
aptitude search tu_solucionaptitude install tu_solucionConfiguración, adaptación,pruebas etc..
Camino largo, doloroso y recomendadopara entornos en producción
@leninmhs 2012
Camino 2Camino 1
PD: aptitude solo disponible en: y derivados...
![Page 21: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/21.jpg)
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 completade alta disponibilidad en software libre.
![Page 22: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/22.jpg)
Una imagen vale más que mil palabrasUna imagen vale más que mil palabras
PgPool-IIPgPool-IIIPPuertoUsuarioContraseña
IPPuertoUsuario
Contraseña
IPPuertoUsuario
Contraseña
IPPuertoUsuario
Contraseña
nodo1 nodo2 nodo3
Clientes
Se comporta como cliente y servidor
QRERy
QRERy
QRERy
QRERy
QRERy
QRERy
QRERy
Pool de servidores PostgreSQL@leninmhs 2012
pgpool-II
![Page 23: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/23.jpg)
PgPoolAdminPgPoolAdminHerramienta 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
![Page 24: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/24.jpg)
Dudas, Preguntas, Sugerencias???
Dudas, Preguntas, Sugerencias???
@leninmhs 2012
![Page 25: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/25.jpg)
@leninmhs 2012
http://tubasededatoslibre.orghttp://leninmhs.wordpress.com/2012/05/09/alta-disponibilidad-pgpool/http://wiki.postgresql.org/wiki/Clusteringhttp://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Poolinghttp://bucardo.org
preguntas
![Page 26: Alta Disponibilidad con PostgreSQL · Junio 2012 @leninmhs 2012 ... Potenciar las capacidades de desarrollo tecnológico Aprender, compartir, disfrutar, debatir Autodesarrollo, autodeterminación](https://reader033.vdocuments.net/reader033/viewer/2022052022/603796681041a733db7dc18c/html5/thumbnails/26.jpg)
Gracias Totales...Gracias Totales...Blog: leninmhs.wordpress.comCorreo: [email protected]: @leninmhs
www.tubasededatoslibre.orgTwitter: @tu_bd_libreFacebook: facebook.com/TuBaseDeDatosLibre
@leninmhs 2012