[firebase-br] Sincronização de bases de dados

Gladiston Santana gladiston em vidy.com.br
Quinta Junho 18 10:49:33 -03 2020


Você pode usar modelo de replicação que no caso do firebird é a aquisição
de uma ferramenta de terceiros, ela automatiza um modelo/cenário de
replicação escolhido entre vários, o seu cenário é clássico  e essas
ferramentas vão lhe resolver o problema e algumas prometem o resultado
conciliado em segundos.
Mas você me parece falar de sincronização por meio de importação/exportação
de dados e não necessariamente de replicação, daí então você parece desejar
apenas importar os dados das estações clientes e conciliá-las para um banco
de dados central.
Isso me traz saudades na época que trabalhava com sistema de gestão que
tinha PDVs, funcionava assim, todas as estações continham um registro que
identificava a estação PDV (talvez hoje seja o ID da máquina de cupom e não
do computador em si), o BD que registrava as operações tinham apenas os
bilhetes de vendas e nada de algo para fazer a gestão, também tinha um id
que nunca se repetia entre os registros, daí juntava-se a união dessas duas
informações e tornava o registro único geograficamente distinguindo uma
loja das demais.
Na época, a internet não era tão abundante quanto é hoje (alguém se lembrar
das USRobotics?) então havia um período de fechamento onde o caixa gerava
um arquivo de transmissão, daí um operador recolhia estes arquivos -
lembre-se que estes PDVs funcionavam offline - e um outro programa os
transmitia para um endereço de FTP que era um repositório central para
todas as lojas, daí então outro programa baixava o arquivo, se certificava
que ele estava no formato adequado - havia uma linha no final do arquivo
para indicar que o fechamento foi gerado até o fim, pois o FTP tinha mania
de enviar arquivos pela metade - e então o exportava para a base central
conciliando as informações. De muitas maneiras, essa solução ainda melhor
que os modelos que consideram que a internet é plena e dá para fazer tudo
com cliente/servidor online, não havia coisas como "o sistema tá fora do
ar".

Como sincronizar dados de locais diferentes e conciliá-los é uma tarefa
corriqueira, os bancos de dados implementam um tipo de dado chamado de uuid
que é uma chave digna de ser chamada de 'universal id' (tem mais um "U" a
mais que não lembro que significa) e que resolve problema de conciliar
informações únicas geograficamente que depois terão de ser unificadas num
repositório.

[]´s e sucesso na empreitada.


Em qua., 17 de jun. de 2020 às 21:51, Marcelo - MK Softwares <
marcelo em mksoftwares.com.br> escreveu:

> Pessoal boa noite
>
> Como fazer a sincronização de bases de dados. Cenário:
>
> - Um servidor sofrendo alterações diversas em seus registros, e um ou
> vários PDVs vendendo na loja, isso em rede local;
>
> - Um servidor sofrendo alterações diversas em seus registros, e as
> outras filiais vendendo.
>
> Até imagino que a cada registro alterado o mesmo poderia ter uma flag de
> alteração e os "clients" usariam essa flag para localizar os registros
> alterados e sincronizar. Mas no caso dos PDVs, onde pode ser um ou
> vários, uma flag não bastaria, teria que ter uma flag para cada pdv, e
> se tiver 30 pdvs na loja, terei 30 flags no banco.
>
> Hoje uso linguagem C# desenvolvendo aplicações desktop.
>
> Se alguém puder dar alguma sugestão agradeço.
>
> ______________________________________________
> 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://www.firebase.com.br/pesquisa_lista.html
>


-- 
A Vidy possui um Sistema de Gestão da Qualidade estruturado e com
Certificação ISO 9001 há mais de 10 anos, mantendo seu foco na Qualidade e
na Melhoria Continua.

Em março de2018 migramos com sucesso para a nova versão da ISO 9001.

Somos a única Empresa Brasileira de Engenharia de Laboratórios com
certificação com o Escopo Completo; desde Projetos, Engenharia, Construção,
Fabricação e Instalação de Laboratórios.


Mais detalhes sobre a lista de discussão lista