PostgreSQL salvando el día…

Cuando se tiene un servidor de base de datos PostgreSQL, se tiene uno de los mejores manejadores de base de datos de software libre y hasta mejor que los de software privativo.

Ok… pero sabemos que en la vida nada es perfecto y mucho menos eterno, entonces puede suceder que donde está mi sistema falle, por lo cual surgen ciertas dudas; tales como:

  •  ¿Qué pasa si el servidor donde está la base de datos deja de funcionar?, pues debemos montar un respaldo en otro servidor y ya…
  •  ¿Y el tiempo que tarda instalar el servidor y restaurar la base de datos afectará el servicio de mi plataforma?, por supuesto que sí, mientras más grande sea la base de datos más tardará en recuperarse, sin contar que se debe instalar un servidor donde recuperar el respaldo.
  • ¿Pueden entonces los respaldos de base de datos ser la solución más óptima para garantizar que mi plataforma este “siempre” activa?

No… El respaldo de la base de datos es lo mínimo que se debe de tener, ya que la información que se guarda es irrecuperable y casi siempre imposible de duplicar. Si estas premisas dan la implicación de que solamente con respaldos no garantizo la continuidad de mi plataforma, ¿Qué puedo hacer?

Simple… Tener una réplica de tu servidor de base de datos. PostgreSQL, en su versión más reciente (para la fecha de este artículo es la 9.4)  permite tener N cantidad de réplicas de base de datos de manera Maestro-Esclavo; esto quiere decir que en un solo servidor (Maestro) se podrán escribir y leer datos mientras que en los demás (Esclavos) se podrán solo leer.

Esta arquitectura permite tener servidores (se recomienda que sean exactamente igual en especificaciones técnicas y sistema operativo) que pueden en un momento dado convertirse en maestros, con lo cual se puede reactivar la plataforma en segundos, leyeron bien… en segundos.

Coloquemos este escenario; falló el servidor Maestro de base de datos, ¿qué podemos hacer?, Usamos el poder de lo simple:

  •  Tomamos uno de los esclavos y lo convertimos en maestro.
  • Informamos a los demás esclavos que el maestro ha cambiado.
  • Cambiamos la conexión del Aplicativo de Negocio y lo apuntamos al nuevo Maestro.
  • Validamos que se esté replicando la información en los Esclavos.

Listo, nuestra plataforma está operativa y accesible, en pocas palabras tenemos una continuidad de la operación o del negocio. Un plan de continuidad, no solo se enfoca en tener respaldo o réplicas de servidores de base de datos, principalmente es que la operación “nunca se vea afectada” pase lo que pase.

Con estas acciones es posible mitigar los errores que pueden suceder en una arquitectura cualquiera que tenga una solución informática con base de datos, simple… PostgreSQL es el poder de lo simple, es la sencillez de lo complicado, es software libre.

DesdeLaPlaza.com / Lennin Caro