lunes, 28 de octubre de 2013
PostgreSQL: streaming replication
Hace años me hablaron de PostgreSQL, como parte de una movida muy fuerte de software libre. Pensé que pasaría lo mismo que con Linux vs Windows, que en determinados entornos y para algunos requerimientos aún no llega a despegar, así que no le presté mucha atención.
Hace unos meses estoy participando en un proyecto interesante, implementando un sistema basado en postgresql para una organización. Hechas las primeras presentaciones debo decir que me llevé una buena sorpresa: no solo hace lo que promete, sino que lo hace fácil.
Uno de esos ejemplos es la configuración de un Standby Server. Con ayuda de un amigo muy metido en esto logramos configurar fácilmente un servidor de respaldo, aunque la documentación es buena: warm-standby siempre es bueno contar con alguna ayuda extra. Es tan interesante esta lectura que acabo de encontrar unos funciones que ayudan a monitorear la salud de la replicación.
Streaming Replication es una característica disponible desde PostgreSQL 9.0, anteriormente se realizaba con algunas herramientas aún disponibles, pero siempre es mejor tener el paquete completo. Aquí dejo la documentación para montar un entorno de alta disponibilidad. Hemos hecho las pruebas de recuperación (que sigue siendo un proceso manual) y quedó espectacular. La configuración necesaria para poner en línea el servidor de respaldo no pasa de comentar un par de líneas y reiniciar el servicio.
¿Lo siguiente? Dos cosas: (i) Tengo que revisar la replicación síncrona y (ii) usar el nodo secundario como sólo lectura.
Para que la replicación asíncrona funcione mejor debo asegurar que la tasa de pérdida de WAL sea muy baja, ya que el servidor secundario está conectado por un radioenlace esto puede tener algunos inconvenientes, lo mejor es medir el ancho de banda disponible realmente, para así poder hacer algunos "ajustes menores". Justamente de eso tratará la siguiente entrada, cómo medir el ancho de banda entre dos nodos.
Suscribirse a:
Entradas (Atom)