Pergunta

Eu não tenho certeza, se ele se encaixa exatamente stackoverflow, porém, como eu estou procurando algum código em vez de uma ferramenta, eu acho que ele faz.

Eu estou procurando uma maneira de como replicar / sincronizar diferentes sistemas de banco de dados - neste caso: mysql e MongoDB. Estamos correndo tanto para finalidade diferente. Começamos com um banco de dados mysql e acrescentou mongodb, mais tarde, para aplicações especiais. Há dados que gostariam de ter em ambas as bases de dados, onde queremos ter restrições em DBRefs respectivly mysql no MongoDB. Por exemplo: Precisamos de um user-registro em mysql, mas também no MongoDB para referências entre tabelas objetos respectivly. No momento temos um cron, que despeja os dados mysql e importações isto em MongoDB. No entanto, embora ele funciona muito bem, isso não é a solução que gostaria de ter.

Eu acho que para o momento em que uma replicação unidirecional seria suficiente -. Mysql> MongoDB, a parte mais importante é que as obras de replicação em "tempo real", bem como um mysql master> slave de replicação obras

Já existem quaisquer soluções para este problema ou idéias ninguém de como conseguir isso?

Obrigado!

Foi útil?

Solução

O que você está procurando é chamado de EAI ( Enterprise Application Integration ). Há uma série de ferramentas comerciais em torno mas sob o link fornecido, você também vai encontrar um par de soluções OSS. A base da EAI é que você tem fontes de dados e pias de dados. As bombas de costume EAI ofertas quadro ferramentas para construir entre os dois.

Eu sugiro usar um disparo DB para iniciar a sincronização ou enviar um sinal de disparo em suas aplicações. Note-se que não há uma solução chave-buraco desde a sincronização pode se tornar arbitrariamente complexa (por exemplo, como você se certificar de que todas as linhas são copiados?).

Outras dicas

SymmetricDS é open source, baseado em Java, web-enabled, independente de banco de dados, sincronização de dados / software de replicação que poder fazer o truque com alguns ajustes. Ele tem um ponto de extensão chamado IDataLoaderFilter que você poderia usar para implementar um MongodbDataLoader.

Isso ajudaria com a replicação do banco de dados de uma maneira. Pode ser um pouco mais difícil de sincronizadas a partir MongoDb -.> Banco de dados relacional, mas a equipe SymmetricDS seria muito útil na tentativa de encontrar a solução

Tanto quanto eu ver que você precisa para desenvolver algum tipo de "programa de controlo" que tem os drivers para cada DBMS e executá-lo como um daemon. O daemon deve ter um gatilho ou um pequeno intervalo novamente para manter os bancos de dados sincronizados

Tecnicamente, você poderia configurar um processo que analisa o log binário do servidor MySQL e replicar as consultas SQL relevantes. Eu nunca fiz uma coisa dessas com um outro banco de dados como um escravo, mas talvez seja um tiro vale?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top