[FUGSPBR] Sincronismo MySQL !

João Carlos Mendes Luís jonny em jonny.eng.br
Qui Jun 5 00:59:44 BRT 2003


Depende se você é da religião que acredita que o DBMS deve fazer tudo, 
ou daquela outra em que o programador pode tapar furos do DBMS.

- Tenha possibilidade de conectar tanto no banco de dados local, como no 
do servidor central.
- Para leituras, use o banco de dados local.
- Para alterações, use o banco de dados central, e replique as 
alterações no banco de dados local.  Voce também pode disparar um 
comando de rede para todos os bancos locais replicarem aquela 
informação, por exemplo, com um daemon a parte só para a função de 
replicação.
- Se o banco de dados central estiver inacessível, use uma tabela no 
banco de dados local, com os registros a serem alterados, e informe ao 
replicador que existem dados para serem inseridos na base central.
- Preveja os possíveis casos de alteração simultânea de dados, o lock 
vai ser por sua conta!!!  E com o banco de dados central fora do ar, os 
dados que voce alterou podem estar desatualizados quando ele voltar ao 
ar.  Exemplo: mude o nome de joão para josé.  Mas em outra estação, 
alguém mandou mudar o nome de joão para joaquim.  Como evitar isso com 
os bancos online?  Como evitar isso com os bancos offline?  Caso 
aconteca offline (mudou enquanto voce não estava olhando) o que fazer?

Note que os sistema de DNS não são semelhantes.  DNS é read-only, com 
atualizações somente na base central.  SMTP em geral é apenas um relay, 
que vai armazenar os dados temporariamente, até que o servidor principal 
volte ao ar.  Servidores SMTP replicados são complicados de fazer, e no 
mínimo exigem lock de NFS ou maildirs.  Idem para servidor POP3 e IMAP, 
mas não conheço nenhum cliente que saiba fazer escolha em tempo real.  A 
única solução próxima é usar DNS round robin.

Se voce resolver montar um sistema desses, mande pros primeiros passos, 
ou faça um middleware e coloque no sourceforge.   ;-)

Jean Duarte wrote:
>     Pessoal,
> 
> Tenho um sistema que roda em MySQL com um server BSD na Matriz
> e um em cada filial.
> 
> A ideia de manter um server MySQL na matriz e para agilizar o acesso
> ao Banco de Dados, pois se fizermos as consultas pela rede, vai gerar
> um trafego enorme.
> 
> Bem, alguem ja desenvolveu ou sabe como fazer o Mysql meio como trabalhar
> num "Cluster" de dados mantendo um sincronismo?
> 
> Como se eu pudesse cadastrar no programa o IP de cada server e se
> um parar ele trabalha com outro.
> 
> Mais ou menos como funciona um sistema de DNS ou E-mail.
> 
> Tenho essa ideia, mas nao sei por onde comecar a buscar.
> 
> Grato
> Jean Duarte
> _______________________________________________________________
> Sair da Lista: http://www2.fugspbr.org/mailman/listinfo/fugspbr
> Historico: http://www4.fugspbr.org/lista/html/FUG-BR/


-- 

                                         Jonny

-- 
João Carlos Mendes Luís - Networking Engineer - jonny em jonny.eng.br
--
"the West won the world not by the superiority of its ideas or values
or religion but rather by its superiority in applying organized
violence. Westerners often forget this fact, non-Westerners never do."
-- Samuel P. Huntington

_______________________________________________________________
Sair da Lista: http://www2.fugspbr.org/mailman/listinfo/fugspbr
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/



Mais detalhes sobre a lista de discussão freebsd