Utilizar dois bancos de dados e manter os dois atualizados

546 views
Skip to first unread message

Wesley Junior

unread,
Jul 27, 2012, 9:46:05 AM7/27/12
to python...@googlegroups.com
Olá pessoal,

Estou tentando fazer o seguinte, tenho uma aplicação e ela irá utilizar o mysql quando estiver em rede, quando ela não
encontrar a rede ela irá utilizar um banco sqlite.
Para que isto funcione preciso que o banco local (sqlite) seja constantemente atualizado, pensei em criar algo para automatizar isto.
Como eu poderia estar fazendo isto?

--
Atenciosamente.
Wesley
__________________________________________________________________________________________________________
"Linux... Liberdade significa responsabilidade, é por isso que tanta gente tem medo dela." (Anônimo)


Filipe Cifali

unread,
Jul 27, 2012, 9:53:11 AM7/27/12
to python...@googlegroups.com
https://docs.djangoproject.com/en/dev/topics/db/multi-db/

Isso te ajuda a ter uma idéia? 


--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com



--
[]'s

Filipe Cifali Stangler

Bruno Rocha

unread,
Jul 27, 2012, 10:02:42 AM7/27/12
to python...@googlegroups.com

no web2py tem round robin e distributed transaction.

ja fiz algo parecido com o que vc quer fazer.

web2py.com/book capitulo 6

http://zerp.ly/rochacbruno

Leandro Luiz

unread,
Jul 27, 2012, 10:03:56 AM7/27/12
to python...@googlegroups.com
Pessoal Estou precisando criar um site com o google earth, so que preciso enviar ao earth os dados de lat e Long. sera que e possivel abrir os dados de um banco no google earth?





   

Atenciosamente;

        
Leandro Luiz Silva
Com3 Tecnologia Ltda.
SOLUÇÕES EM TI, CONECTIVIDADE E
SEGURANÇA DA INFORMAÇÃO
Fone: (34) 91790471 (TIM)
Skype: Luizsilva22



As informacoes contidas nesta mensagem e nos arquivos anexados sao para uso
exclusivo do destinatario aqui indicado e podem conter assuntos comerciais, de
propriedade intelectual ou outras informacoes confidenciais, protegidas pelas leis
aplicaveis.
Caso nao seja o destinatario correto, por favor, notifique o remetente
imediatamente e elimine esta mensagem, uma vez que qualquer revisao, leitura,
copia e, ou divulgacao do conteudo desta mensagem sao estritamente proibidas
e nao autorizadas.
Obrigado por sua cooperacao.

The information contained in this message and the attached files are restricted to
the addressee, and may contain commercial information, copyright, or other
confidential information protected by law.
If you are not the recipient, please notify the sender immediately and delete it
from you system, since any change, reading, copy and, or dissemination of this
e-mail is strictly prohibited by and not authorized.
Thank you.


com3FX.png

Anderson Unsonst

unread,
Jul 27, 2012, 10:12:06 AM7/27/12
to python...@googlegroups.com
eu acho interessante esse conceito (apesar que nunca cheguei a desenvolver) será que vale a pena ? por exemplo enquanto o cliente está trabalhando no mysql, você não está alimentando o banco local,  e quando não tem internet você não pode alimentar o banco no servidor, depois tem que sincronizar tudo ....

 tão complexo, mas tão intrigante (quero fazer alguma coisa assim hauhauhauhauhua) quem já conseguiu, qual é a logica a ser seguida ?

Filipe Cifali

unread,
Jul 27, 2012, 10:16:32 AM7/27/12
to python...@googlegroups.com
Não cheguei a implementar isso, mas ao meu ver seria:

O Banco de dados local precisar estar sincronizado com o web(o mysql possui replicação, seria uma boa usar ela(ou replicações de outros bancos de dados que possuam)) via replicação do banco em si.

Assim, no settings.py seria feito um teste de conexão para se conectar ao banco de dados correto. 

Um script externo para fazer a sincronia quando o master voltar, no caso, o master precisaria ser "re-sincronizado" com seu próprio slave. 

Foi isso que pensei na hora, mas deve existir uma maneira melhor de fazer isso. 

Em 27 de julho de 2012 11:12, Anderson Unsonst <anderso...@gmail.com> escreveu:
eu acho interessante esse conceito (apesar que nunca cheguei a desenvolver) será que vale a pena ? por exemplo enquanto o cliente está trabalhando no mysql, você não está alimentando o banco local,  e quando não tem internet você não pode alimentar o banco no servidor, depois tem que sincronizar tudo ....

 tão complexo, mas tão intrigante (quero fazer alguma coisa assim hauhauhauhauhua) quem já conseguiu, qual é a logica a ser seguida ?

--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

Wesley Junior

unread,
Jul 27, 2012, 10:17:26 AM7/27/12
to python...@googlegroups.com
Filipe
Valeu deu pra ter várias idéias aqui! Já estou até anotando.

Bruno
Beleza cara vou estar analizando com tempo este site qu você enviou.

Leandro
Acho que esta questão seria mais pertinente em uma nova thread.

Anderson
Kra tipo assim acho que não me expressei bem meu sistema será desktop não será web. Mas é bem assim como vc falou

Wesley Junior

unread,
Jul 27, 2012, 10:19:58 AM7/27/12
to python...@googlegroups.com
Tipo assim,

Você está no trabalho e tem acesso as informações e está utilizando um notebook. Ao ir para casa você precisa levar todas as informações mas não pode levar o banco da empresa.

Acho que me expliquei um pouco melhor agora ;)

rodrigo koblitz

unread,
Jul 27, 2012, 6:47:11 PM7/27/12
to python...@googlegroups.com
Desses outros bancos eu não sei, mas em postgres esse problema de sincronização é mais ou menos tranquilo.


abs,
Koblitz

Matheus Lima

unread,
Jul 28, 2012, 2:25:42 AM7/28/12
to python...@googlegroups.com
Tenho um trabalho que fala sobre replicação de banco de dados. O trabalho mostra algumas diferenças entra a forma que o SQL Server e o PostgreSQL implementam. (inclusive com passo-a-passo)

Existem diferentes tipos de replicação, que são aplicados em contextos distintos. Isso pode até influenciar na escolha de um SGBD, pois nem todos implementam todos os tipos de replicação. Como exemplo do SQL Server, que só implementa a estratégia "Lazy" de propagação, não sendo 100% confiável quanto a integridade, quando existe mais de um publicador. Porém, se bem montado, pode-se ter uma boa tolerância a falhas e resolução de conflitos.

bla bla bla...


Se tiver interesse, o trabalho está em :  http://code.google.com/p/matheus-tcc/ 



Porém não é uma versão final, ainda. Falta algumas melhorias, mas o conteúdo em si está correto.

--
Att,

Matheus dos Santos Lima     


Wesley Junior

unread,
Jul 30, 2012, 11:18:42 AM7/30/12
to python...@googlegroups.com
Obrigado pessoal,

Vou verificar as sugestões sugeridas valeu mesmo!

John Evan Dizaro

unread,
Jul 30, 2012, 1:13:06 PM7/30/12
to python...@googlegroups.com
Melhor que usar os recursos do banco par replicar  é usar o servidor(linux) para replicar o banco
Tenho isto na minha empresa e funciona 100%.

2012/7/30 Wesley Junior <www.we...@gmail.com>
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com



--
John Evan Dizaro - Desenvolvimento
Celular (41) 9243-3240

Matheus Lima

unread,
Jul 30, 2012, 2:14:01 PM7/30/12
to python...@googlegroups.com
Depende muito da situação.

Pra ter mais de um banco realizando updates, o melhor é utilizar o SGBD pra fazer a replicação. Porque ele tem recursos pra resolver conflitos. E ainda ganha outras coisas como balanceamento de carga (podendo até quebrar a transação em transações menores e executar em servidores diferentes).

John Evan Dizaro

unread,
Jul 30, 2012, 4:07:51 PM7/30/12
to python...@googlegroups.com
No meu caso uso isto para redundância de dados .
Se der problemas em um servidor o outro está igual e não terei problemas

ricardo f. Rocha

unread,
Jul 31, 2012, 9:33:51 AM7/31/12
to python...@googlegroups.com
Como que funciona essa replicação via linux? Que bd que é ?

Em 30 de julho de 2012 14:13, John Evan Dizaro <johnd...@gmail.com> escreveu:



--
Atenciosamente,

Ricardo F. Rocha
Analista de Sistemas
Cel: (14) 9118.4409

*  "A primeira falha de um projeto de software é ignorar a complexidade do mesmo".

*  "Se eu perguntasse a meus compradores o que eles queriam, teriam dito que era um cavalo mais rápido. [Henry Ford]".


Reply all
Reply to author
Forward
0 new messages