Streaming Replication (SR)
El equipo de PostgreSQL implemento Streaming Replication, esta técnica proporciona la capacidad de enviar y aplicar los ficheros de registro WAL continuamente a uno o varios servidores esclavos para mejorar la replicación. El medio de transmisión de estos ficheros es mediante la red.
Forma de Transmisión
En Postgres disponemos de dos formas de configurar la transmisión mediante la red de los ficheros WAL a las replicas.
- Asíncrono, el COMMIT en el maestro no espera a que los esclavos hayan recibido los registros WAL.
- Síncrono, el COMMIT en el maestro sólo se produce cuando todos los esclavos han recibido los registros WAL
La configuración permite alternar entre el modo asíncrono (predeterminado) y el síncrono en cada sesión e incluso por transacción sin tener que reiniciar el servidor.
Ventajas de Streaming Replication (SR)
Los esclavos se comportan como una conexión más a la base de datos para obtener los WAL, el overhead es muy bajo.
La latencia de replicación, que determina la máxima pérdida de datos, es muy baja (inferior al segundo) si se transmite de forma asíncrona. En cambio en el modo síncrono, nunca hay perdida de datos.
Inconveniente de Streaming Replication (SR)
El único inconveniente es la estabilidad de la propia red. Si la sincronización entre el maestro y los esclavos se desfasa mucho, puede suceder que el esclavo se “desconecte”. En tal caso, los segmentos de WAL que se deben enviar por la red al esclavo, éste no los aplica, y si además en el maestro se reciclan, ya no se le podrán enviar. Si sucede esto, es necesario realizar una copia de los ficheros del maestro y restaurar en las replicas, es decir, hay que comenzar de nuevo haciendo un backup base.
Solución
Configurar Streaming Replication junto al archivado continuo (WAL Shipping) es lo más recomendable, puesto que son compatibles.
Con esta combinación se soluciona el inconveniente que presenta la configuración WAL Shipping, la ventana de perdida de datos. Y se resuelve el inconveniente de comenzar de nuevo en el caso de que se reciclen los segmentos en el maestro o si la red cae.
Suscríbete al boletín formativo para aprender con nuestras píldoras formativa y estar informado acerca de novedades, descuentos, promociones, regalos sobre PostgreSQL.