[firebase-br] Replicação
Carlos H. Cantu
listas em warmboot.com.br
Segunda Julho 14 08:42:53 -03 2025
A replicação nativa foi desenvolvida para ser unidirecional, mas eles
implementaram de uma forma que no futuro ela possa se tornar bi-direcional.
No entanto, conforme o Dmitry Yemanov mostrou em sua palestra no 20º FDD, há
muitos problemas e situações que precisam ser resolvidas para que uma replicação
multi-master funcione adequadamente, e que hoje ainda estão sem respostas:
Abaixo reproduzi o conteúdo do slide dele, que fala sobre isso:
### Replicação bidirecional
* Tecnicamente possível usando múltiplas réplicas de leitura / gravação.
* Configure o banco de dados como primário **e** réplica no `replication.conf`,
com `cascade_replication = false`.
Alguns problemas:
* Como evitar conflitos de chave primária (PK)?
* Use GUIDs, chaves compostas (host + local) ou chaves baseadas em faixas –
todas são estratégias possíveis.
* Como lidar com conflitos lógicos de chave única (UK)?
* A estratégia “primeiro a gravar vence” é simplista demais; é preciso usar
carimbos de data/hora reais ou prioridades por nó.
* E as sequências (generators)?
* Usar quóruns para evitar SBS e recorra novamente a ferramentas de fail-over.
Enfim, hoje a única forma de ter replicação multi-master seria recorrer a
replicadores, e adequar os metadados da base para permitir isso.
[]s
Carlos H. Cantu
eBook Guia de Migração para o FB 5 - www.firebase.com.br/guiafb5.php
www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br
CSvl> Boa noite
CSvl> Tudo bem?
CSvl> A replicação do Firebird 5.0 pode ser configurada em dois sentidos, isto é,
CSvl> o servidor A enviar alterações do banco para o servidor B e o B também pode
CSvl> enviar para o A.
CSvl> Se for possível, saberiam me dizer quais as implicações desse cenário?
CSvl> Teria que usar identificadores tipo GUID?
CSvl> Obrigado!
Mais detalhes sobre a lista de discussão lista