Creo que debes tener en cuenta dos cosas.

1.- Stream replication es para replicar bases de datos ( generalmente cliente se conectan a bases de datos centralizadas ), y la replicación es para tener un DR activo-activo o activo-pasivo.

2.- Un sistema distribuido no es un DR activo-activo es un sistema distribuido.

Creo que lo que necesitas es una mezcla de ambos... para tu configuración de hecho yo haría que la configuración de tu sistema sea un json sacado de la base de datos centralizada ( no tiene sentido que instales un postrgesql en N clientes.

para las transacciones ( usa colas, hasta un mail sirve para recibir las transacciones o un ftp ).

Lucchetti y el portal comercial usan un FTP para cada transacción y las transacciones se procesan en la mañana cada 30 min hasta las 5:00 pm, no es necesario tenerlas online.

Se que no es lo que quieres escuchar o no es tu idea tener archivos por cada clientes pero realmente creo que la mantención de tener todo en bases de datos con tanta replicación va a ser una pesadilla más que una ayuda.

Si aun así quieres tener todo en bases de datos, te sugiero que mires rabbitMQ para tener las transacciones en colas y no la base de datos.

Y si rabbitMQ no te convence solo instala una base de datos en los clientes donde escribas las transacciones y cuando esten online que hagan guarden un estado en las tablas ( sync ) cosa de insertas en un repositorio centras las transacciones que no están con un sync ( y lo puedes hacer un dblink ). algo como transacciones por insertar. ( algo asi teniamos en registro civil de Chile ( una tabla transacciones por procesar ), claro usabamos Oracle pero la idea es la misma.

https://www.rabbitmq.com/tutorials/tutorial-three-java.html

PS: Realmente creo que es un overkill pensar en replicación entre todos tus clientes. ( trata de hacerlo lo mas simple posible ), las cosas complicadas por lo general dan problemas.

-
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