Sincronismo de banco de dados

Falae galera, tudo bem? :wink:

Gostaria de umas ideias para o seguinte problema de banco de dados.

Tenho um servidor central na nuvem que roda uma determinada instância de banco de dados.

No entanto, gostaria de replicar partes desse banco de dados para outros servidores locais.

Aí, se alguma modificação acontecer nesse servidor central ou em algum dos servidores locais, então ocorreria um sincronismo dos registros e das tabelas.

(Esse sincronismo não necessariamente seria em tempo real, mas poderia ser sempre no final do dia, por exemplo)

Alguém sabe se já existe alguma solução pronta ou relacionada a isso?

Obrigado! :thumbup:

Abraço

Acho que JMS seria uma boa solução.

As melhores soluções que vi para isso foram soluções implementadas na própria aplicação, o que deixa independente dos bancos de dados usados nas extremidades.

Aqui por exemplo, usamos PostgreSQL nos “agentes”, e a central usa PostgreSQL em um contrato, SQLServer em outro, Oracle em outro - imagine querer usar recurso de replicação especifico de cada banco.

O mecanismo que vai transportar os dados entre os dois podem ser vários, mas acho que como o colega acima falou, JMS realmente seria interessante, principalmente com relação à sua natureza de fila - assim, um “agente” pode receber 1, ou 1000 mensagens quando iniciar seu sincronismo ao se conectar com a central.

JMS é uma solução boa.

Uma dúvida: os servidores locais teriam dados diferentes do servidor central? Ou todas as alterações devem ser feitas no servidor central? Talvez o próprio sistema de replicação master-slave do banco resolva.