[firebase-br] Ref.: Sincronização dados Firebird

Edson Marco edmafer em gmail.com
Qui Nov 10 11:33:23 -03 2011


Eu desenvolvi um sistema de replicação de dados em java, e venho
trabalhando nele há uns 2 anos. A replicação de dados não é algo simples e
tem vários pontos a serem levados em consideração.


   - Quem vai ter prioridade na alteração quando houver conflitos (tipo os
   dois alteraram o mesmo registro)
   - Controle de id's para o sistema saber quem ele vai atualizar/excluir
   na outra filial
   - As duas filiais irão compartilhar os mesmos dados(simulando um único
   banco)? Ou somente haverá consulta de uma para outra (Muito mais fácil e
   elimina alguns pontos, mas geralmente não é o desejado)?
   - Como será o tratamento para replicar os dados quando não houver
   internet?
   - A replicação será limitada à somente duas filiais?
   - Garantir que os dados enviados foram realmente implantados no banco
   - Tratamento de referências do registro (foreign keys)
   - Segurança
      - Validação da conexão
      - Criptografia

E há alguns outros pontos que não me recordo agora de cabeça

Se for uma replicação somente entre dois pontos e a base será totalmente
compartilhada, você irá encontrar muitas ferramentas prontas
http://www.google.com.br/search?hl=pt-BR&q=replicar+dados+firebird&meta=&qscrl=1

Inclusive você pode fazer direto pelo firebird utilizando o execute
statement on external que ele irá se conectar ao outro banco e executar seu
comando. Dá uma pesquisada nele, funciona muito bem (utilizo muito em rede
local, nunca usei pela internet).

Quanto a internet, eu tenho clientes com aproximadamente 30 filiais
replicando dados utilizando adsl comum com dyndns mesmo (não é recomendado,
é um pouco lento, mas funciona).

[]'s

2011/11/10 Omar Marques Haddad <omarhaddadm em gmail.com>

> Bom dia  amigos
>
> Temos aqui um sistema de Farmácia e um de nossos clientes, que tem 2
> farmácias na cidade, comprou uma outra farmácia em uma cidade distante
> 200km de onde estamos.
>
> Estamos usando FB 2.5 com Delphi 2010 e temos uma tabela que guarda todos
> os scripts SQL de alterações feitas na base de dados.
>
> Precisamos montar um esquema de sincronização de dados entre a base da
> farmácia que está em outra cidade com a nossa daqui.
>
> Pensamos em servidores com IP fixo em cada farmácia e através de uma
> aplicação/serviço agendado, enviarmos estes LOGS (texto) para serem
> executados no banco destino.
> Após a execução bem-sucedida do mesmo, o log original é apagado do banco
> que o enviou
>
> Vem a questão:
> Alguém já fez algo parecido ? Tem outra idéia para podermos sincronizar
> estes 2 bancos com as mesmas informações ??
>
> Obrigado a todos
>
> --
> Att.
> Omar Marques Haddad
> Analista de Sistemas Sênior
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
/*
 * Edson Marco Ferrari Junior
 * edmafer em edmafer.com.br
 * http://www.edmafer.com.br
 */



Mais detalhes sobre a lista de discussão lista