Alberto:

2016-03-14 21:57 GMT+01:00 alberto cordones <listas.alberto.cordo...@gmail.com>:
> esto ultimo no lo entendi muy bien
> "Creo que ademas va por BD, no por cluster, lo que en algunos casos te
> puede disminuir muchisimo el trafico."
> ..ya que cuando configuro el servidor (postgresql.conf), lo configuro para
> todo el cluster, no para una sola base de datos

Veamos.

La streaming replicacion va mandando todo el wal por una conexion y
aplicandolo, con lo que manda el cluster entero, si hay 10 bd las
manda todas. Si creas una nueva se manda sola, incluyendo su creacion.

Hay unos slots de replicacion par streaming, que lo que hacen es que
el maestro sepa cuanto wal les falta a los esclavos, y que se pueden
usar para que no borre los wal durante un base backup ( que es
parecido a una replicacion en streaming ) o que espere a los esclavos.
Basicamente se crea uno por cliente persistente que tienes y contienen
poco mas que cual es el ultimo log procesado en el esclavo para que el
master pueda calcular el minimo de eso y saber que hasta ahi puede
borrar.

Luego estan los slots logicos, que son distintos. Se crean POR BD, con
funciones SQL contra esa BD, y sirven para dos cosas. Por un lado
tienen un puntero para que no se borren los wal, como los otros, pero
por otro lado entre su funcionalidad basica y sus plugins lo que hacen
es extraer los cambios de la BD en la que estan para presentarlos en
una forma estandard. Eso hace que valgan para mas cosas pero son mas
complicados de manejar.

Cuando usas la replicacion logica lo que recibes no es el wal crudo,
que es algo como 'escribir estos trozos de bytes en estas paginas de
este archivo' ( lo que es muy rapido, pero poco fino, y solo vale
entre dos servidores de postgres muy similares ), sino cosas como
"poner tal cosa en tabla tal, borrar tal otra,", y ademas solo de una
BD. Ese flujo de informacion es mas compacto, lo que puede disminuir
tu trafico de red aun cuando repliques todo ( de la misma forma que,
p.e., un pg_dump suele ocupar, aun sin compresion, menos que la BD en
disco ).

De hecho hay una cierta similitud, la streaming replication se parece
a copiar el directorio de datos del server. Va todo el cluster pero es
simple y rapido. La logica es parecida a un pg_dump/pg_restore, va una
base de datos, es mas flexible, se mueven menos datos ( por ejemplo no
van los indices ), pero es mas compleja y exige mas procesos. Ademas
el dump-restore funciona entre versiones, y te vale hasta para meter
datos en otro motor de bd con un poco de cuidado, como puedes hacer
con la replicacion logica.

Vamos, que son animales distintos.

Francisco Olarte.

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a