Pregunta

Sin embargo, no estoy seguro, si se ajusta exactamente stackoverflow, como estoy en busca de algo de código en lugar de una herramienta, creo que lo hace.

Estoy buscando una manera de cómo reproducir / sincronizar los diferentes sistemas de bases de datos - en este caso: mysql y mongodb. Estamos funcionando tanto para fines diferentes. Comenzamos con una base de datos MySQL y añadimos mongodb más adelante para aplicaciones especiales. Hay datos que nos gustaría tener en ambas bases de datos, en el que quieren tener limitaciones en DBREFS respectivly MySQL en MongoDB. Por ejemplo: Necesitamos un usuario a grabar en MySQL, sino también en mongodb referencias entre tablas objetos respectivly. Por el momento tenemos una tarea programada, que vuelca los datos de MySQL y lo importa en MongoDB. Sin embargo a pesar de que funciona bastante bien, eso no es la solución que nos gustaría tener.

Creo que por el momento en que una réplica unidireccional sería suficiente -. Mysql-> mongodb, la parte importante es, que la replicación funciona en "tiempo real", al igual que una fábrica de MySQL maestro-> esclavo de replicación

¿Hay ya alguna solución para este problema o las ideas a nadie de cómo lograr esto?

Gracias!

¿Fue útil?

Solución

Lo que usted está buscando se llama EAI ( Enterprise Application Integration ). Hay una gran cantidad de herramientas comerciales de todo pero en el enlace que aparece, también encontrará un par de soluciones OSS. La base de la EAI es que tiene fuentes de datos y los sumideros de datos. El marco EAI ofrece herramientas para construir bombas personalizados entre los dos.

Sugiero a utilizar un disparador de base de datos para iniciar la sincronización o enviar una señal de disparo en sus aplicaciones. Tenga en cuenta que no existe una solución ojo de la cerradura desde la sincronización puede llegar a ser arbitrariamente compleja (por ejemplo, ¿cómo se asegura de que todas las filas se copian?).

Otros consejos

SymmetricDS es de código abierto, basado en Java, con conexión a Internet, la base de datos independiente, el software de sincronización de datos / replicación que podría hacer el truco con algunos retoques. Tiene un punto de extensión llamado IDataLoaderFilter que se podría utilizar para implementar un MongodbDataLoader.

Esto ayudaría con la replicación de bases de datos de una manera. Puede ser que sea un poco más difícil de sincronizar desde MongoDB -.> Base de datos relacional, pero el equipo SymmetricDS sería muy útil para tratar de encontrar la solución

Por lo que yo veo es necesario desarrollar una especie de "programa de control" que tiene los controladores para cada DBMS y ejecutarlo como un demonio. El demonio debe tener un disparador o un intervalo de? Servicios muy pequeño para mantener las DBs sincronizados

Técnicamente, se podría establecer un proceso que analiza el log binario del servidor MySQL y replicar las consultas SQL pertinentes. Nunca había hecho algo así con una base de datos diferente a como esclavo, pero quizás es digno de un tiro?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top