Armado de Clusters PostgreSQL de alta disponibilidad con verdaderos expertos
Clustering y recuperación ante fallas: En PostgreSQL se puede pasar una Base de Datos del rol de servidor primario al rol de standby, como así también del estado de standby al primario. Esto se conoce como switchover o failover. En el caso de un desastre, puede hacerse una recuperación manual. Sin embargo, mucho clientes prefieren una recuperación automática en su lugar ya que reduce el tiempo de baja y minimiza (en algunos casos incluso a CERO) la pérdida de datos. CYBERTEC tiene 20 años de experiencia en el campo del clustering y recuperación ante fallas de bases de datos PostgreSQL.

Clusters PostgreSQL con Patroni y vipmanager
Si bien existen muchas herramientas para armar clusters y replicaciones en PostgreSQL, no todas son igualmente buenas.
CYBERTEC recomienda «Patroni«, que está basada en las tecnologías más modernas actualmente disponibles en el mundo de alta disponibilidad. Patroni ha sido ampliamente adoptado en la industria y provee automatización total de PostgreSQL. Basado en modernos algoritmos de consenso, Patroni promoverá y degradará automáticamente servidores PostgreSQL, lo cual redundará en una disponibilidad superior usando una complejidad mínima
Las ventajas de Patroni son:
- Tecnología de punta
- Automatización de cluster completa
- Baja complejidad y máxima confiabilidad
- Totalmente Open Source
- Integrable con soluciones cloud (Kubernetes, OpenShift, etc.)
- Tamaño de cluster infinito
Si está buscando una configuración profesional, probablemente esté buscando un cluster con recuperación de IP automática. La extensión «vipmanager» de CYBERTEC para patroni ofrece exactamente eso. Si algo falla dentro de su cluster, Patroni y vipmanager se asegurarán de que no haya necesidad de reconfigurar su aplicación o hacer cualquier tipo de trabajo manual. Patroni y vipmanager administrarán las direcciones IP y ligarán automáticamente la IP vista por su software a la máquina deseada.
Patroni y vipmanager manejan direcciones IP automáticamente.
Patroni es muy fácil de usar. La experiencia demuestra que la complejidad es el mayor enemigo de cualquier solución de alta disponibilidad. Nuetsro objetivo, por ello, es reducir el grado de complejidad a un mínimo absoluto. Baja complejidad es una de las ventajas claves de Patroni sobre las soluciones tradicionales como Linux HA (pacemaker, corosync, heartbeat, STONITH, etc.).
Complejidad mínima asegura alta disponibilidad
Otras soluciones de clustering y replicación en PostgreSQL
La simplicidad de patroni le otorga una ventaja real por sobre soluciones tradicionales. Sin embargo, muchos clientes siguen utilizándoles, las cuales son, por supuesto, totalmente soportadas por CYBERTEC.
Linux HA (pacemaker, corosync, etc.)
Linux HA es una solución de propósito general para alta disponibilidad ya que puede ser usada para clusterizar casi cualquier tipo de software. Este tipo de flexibilidad es tambiñen su debilidad más grande ya que introduce demasiada complejidad.
A diferencia de Linux HA, Patroni ha sido diseñado especñificamente para PostgreSQL, por lo que puede utilizar funcionalidades onboard mucho mejor que Linux HA
Sin embargo, Linux HA es aún una buena solución y ofrece una buena variedad de funcionalidades, que incluye:
- Detección y recuperación de fallas en las aplicaciones y en la máquina
- Soporte a configuraciones redundantes
- Soporte a clusters quorate y orientado a recursos
- Provisión de estrategias configurables para el manejo de pérdida de quorum (= demasiadas máquinas perdidas)
- Soporte a encendido y apagado de aplicación, sin importar en qué máquinas están
- Soporte a aplicaciones que deben o no deben correr en la misma máquina
- Soporte a aplicaciones que deben estar ectivas en múltiples máquinas
- Soporte a aplicaciones con múltiples modos (e.g. primary/standby)
Linux HA le permite a PostgreSQL integrarse con otros componentes requeridos para que estén disponibles en cualquier momento
pgpool-II y pgbouncer
Cuando hablamos de servidores pool separados en el contexto PostgreSQL, hay dos productos que se destacan – PgBouncer y pgpool-II. Ambas herramientas son usadas normalmente en el contexto de clusters PostgreSQL y pools de conexiones
Nuestros expertos de bases de datos han escrito sobre pgpool-II y pgbouncer. Para más información visite este post
En general, recomendamos Patroni por sobre pgpool-II porque es menos invasivo
Legacy: Slony y Skytools (londiste)
Slony fue desarrollado cerca de la fecha de release de PostgreSQL 7.4. Soporta replicación trigger-based. Antes de la introducción de replicaciones basadas en el log de transacciones, los triggers eran prácticamente la única manera de replicar datos a un set de hosts remotos.
Skytools (básicamente una herramienta llamada londsite) enfrenta problemas similares a los de Slony y por ello es considerada desactualizada. Si está interesado en replicar tablas aisladas, considere «CREATE PUBLICATION» y «CREATE SUBSCRIPTION», que fueron introducidas en PostgreSQL 10.0.
Si usted está usando Slony y quiere migrar o simplemente está interesado en aprender acerca de nuevas tecnologías, contáctenos hoy
Ayuda profesional
Contáctenos hoy para recibir su oferta personal de CYBERTEC. Ofrecemos entregas a tiempo, tratamiento profesional y 20 años de experiencia en PostgreSQL.
Contáctenos >>