Pregunta

Estoy trabajando en un proyecto que está a punto de comenzar, y como estaba ocupado con otro, mis colegas siguieron adelante y comenzaron a trabajar en las especificaciones del nuevo. Cuando entré, acababan de elegir hacer persistencia con SQL simple (aunque acepté rápidamente mi sugerencia de agregar Hibernate), pero insistieron en que la replicación de datos debería realizarse usando una herramienta llamada Symmetric DS , de de la que nunca había oído hablar.

Estoy preocupado porque, por lo que sé, tener un servidor JBoss (los planes actuales son usar solo Tomcat) con EJB3 maneja toda la molestia de la transacción / replicación, y debería ahorrarnos muchos dolores de cabeza.

¿Cómo veis este DS simétrico ? (tenga en cuenta que no tengo nada en contra de esto, es solo que sé que JBoss estará presente por mucho tiempo y que tiene una reputación bastante respetable)

¿Cómo compararías las dos soluciones?

¡Gracias!

EDIT : Por cierto, ¿cómo trata SymmetricDS con claves primarias duplicadas? Quiero decir, si agrego una fila en la base de datos A y otra en la base de datos B, ambas probablemente se agregarán con la misma clave principal, ¿verdad? ¿Cómo maneja SymmetricDS eso para evitar conflictos? Este discusión en el foro parecía al principio abordar algo de eso, pero al principio no responde del todo a mi pregunta

¿Fue útil?

Solución

Creo que EJB y SymmetricDS están tratando de resolver diferentes problemas. EJB es un marco que proporciona (entre muchas cosas) la persistencia de la base de datos. SymmetricDS es una aplicación que captura los cambios realizados en una base de datos y los aplica a otra base de datos de forma asíncrona. De hecho, los dos trabajan juntos, permitiéndole persistir fácilmente los datos de un Java Bean a la base de datos y hacer que se repliquen en otras bases de datos remotas.

Puede implementar SymmetricDS en JBoss o Tomcat (también hay opciones independientes e integradas), y todo lo que importa es la base de datos. Bajo las cubiertas, está utilizando el marco de Spring para acceder a la base de datos. Instala los activadores de la base de datos para capturar los cambios y aplica los cambios a la base de datos de destino exactamente de la misma manera. Por lo tanto, si las filas A y B se confirmaron juntas en la base de datos de origen, entonces se comprometen juntas en el destino.

Espero que ayude a aclarar las dos tecnologías. Hay una comunidad activa en SourceForge para SymmetricDS que está más que feliz de responder preguntas y dar ejemplos de implementaciones exitosas:

http://sourceforge.net/projects/symmetricds

¡Buena suerte en tu proyecto!

Eric

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