O contexto é o seguinte:
Um banco local, uma base remota e uma base "móvel" (que pode ser xml, não esta definido ainda).
Posso ter alteração dos dados nesses 3 bancos, pode ser, mas não necessariamente essas alterações seriam simultâneas.
Funcionamento:
Banco local -> sincroniza para -> banco remoto
Banco remoto -> sincroniza para -> banco local
Banco remoto -> sincroniza para -> banco móvel
Banco móvel -> sincroniza para -> banco remoto
O HSQLDB me da algum tipo de recurso específico pra trabalhar com sincroniza de dados? como seria uma boa maneira de "administrar" essas possíveis mudanças/diferenças nos bancos?
Se ficou meio complicado de entender eu tento explicar denovo… rs
O contexto é o seguinte:
Um banco local, uma base remota e uma base "móvel" (que pode ser xml, não esta definido ainda).
Posso ter alteração dos dados nesses 3 bancos, pode ser, mas não necessariamente essas alterações seriam simultâneas.
Funcionamento:
Banco local -> sincroniza para -> banco remoto
Banco remoto -> sincroniza para -> banco local
Banco remoto -> sincroniza para -> banco móvel
Banco móvel -> sincroniza para -> banco remoto
O HSQLDB me da algum tipo de recurso específico pra trabalhar com sincroniza de dados? como seria uma boa maneira de "administrar" essas possíveis mudanças/diferenças nos bancos?
Se ficou meio complicado de entender eu tento explicar denovo… rs
só para eu entender e estudar as possibilidades, gostei da forma de gerenciamento… tinhaisso em mente mas não sabia como implementar…
ql será o seu critério para atualizações??
data?
e quem será o banco de dados prioritário? o remoto? é ele que sempre terá que ser o mais atual?
uma idéia, que é o que eu faria, com qualquer banco, é comparar as tabelas, lógico que quando tivesse muitos dados isso me acarretaria problemas, imagine varrer 10000 registros e atualizar os que foram modificados e adicionar os novos pra manter sincronia… demoraria um bocado…
enfim…
[]'s
(na verdade este post é um pensamento escrito… acho que não te ajudou em nada neh? =])
This file contains the extra SQL statements that have modified the database since the last checkpoint (something like the 'Redo-log' or 'Transaction-log', but just text). [/quote]
Na verdade, meu “problema” está sendo numa situação por exemplo assim:
as 22hs, vc no seu notebook, ta dando aquela aliviada no banheiro, e lançando seus gastos diários… 5 débitos
as 22:15hs sua esposa ta voltando do mercado, e pelo celular lançou (e atualizou pra base remota) mais 3 débitos e 1 crédito (vamos supor que ela ganhou no jogo do bixo hehe)
Ai vc vai querer lá pelas 23hs quando saiu do banho, sincronizar tudo isso… mandar o seus lançamentos locais pra base remota, e baixar os lançamentos da base remota pra sua local… mantendo os dados que foram lançados em ambos os bancos, ai que ta o ponto onde cheguei… fazer esse “merge”.
É isso
Cara, o arquivo .log fica com todos os sqls executados guardados. Então bastaria pegar as queries do arquivo e re-executa-las nas outras máquinas.
Mas atente que infelizmente os timestamps das queries não é guardado.
Se chegares a uma boa solução, usando ou não ferramentas de terceiros, gostaria de saber como foi feito.
Não é o caso! Estamos falando de banco de dados, não de objetos. E a sincronização não seria em ‘tempo real’, mas em horário aleatório, com uma quantidade aleatória de dados.
[quote=LIPE]Cara, o arquivo .log fica com todos os sqls executados guardados. Então bastaria pegar as queries do arquivo e re-executa-las nas outras máquinas.
Mas atente que infelizmente os timestamps das queries não é guardado.