2011-01-26 14 views
16

Tengo varias bases de datos ubicadas en diferentes ubicaciones y una base de datos central que se encuentra en un centro de datos. Todos tienen el mismo esquema. Todos ellos se modifican (insertar/actualizar/eliminar) en cada ubicación con datos diferentes, incluida la base de datos central.Estrategia para sincronizar bases de datos desde múltiples ubicaciones a una base de datos central y viceversa

Me gustaría sincronizar todos los datos en la base de datos central. También me gustaría que todos los datos en la base de datos central se sincronicen con todas las ubicaciones. Lo que quiero decir es que el cambio de la base de datos en la ubicación 1 también debe reflejarse en la base de datos de la ubicación 2.

¿Alguna idea sobre cómo hacerlo?

Respuesta

7

Basta con mirar SymmetricDS. Es un software de replicación de datos que admite múltiples suscriptores y sincronización bidireccional.

+1

Ese enlace ya no es accesible. Nuevo enlace de trabajo: http://www.symmetricds.org/ – jskidd3

3

Deberá implementar un esquema de replicación bidireccional entre las bases de datos. Cada nuevo registro creado debe tener un identificador único (por ejemplo, un GUID), para que los datos de las diferentes bases de datos no entren en conflicto. (Ver el mysql replication howto).

MySql solo es compatible con la replicación unidireccional, por lo que deberá configurar cada base de datos como maestro y convertir cada base de datos en esclava de todas las demás instancias de base de datos. Buena suerte con eso.

0

Desafortunadamente, las capacidades de replicación de MySQL no le permitirán hacer exactamente lo que desea.

Normalmente, para sincronizar dos servidores, se puede utilizar el esquema de replicación maestro-principal. Ver http://www.howtoforge.com/mysql_master_master_replication

El problema es que cada servidor MySQL puede tener SOLAMENTE UN maestro.

La única manera que conozco para mantener varios servidores sincronizados, habría una replicación circular (ver http://onlamp.com/pub/a/onlamp/2006/04/20/advanced-mysql-replication.html?page=2), pero no se ajuste exactamente a sus necesidades (configuración "estrella")

Tal vez esta configuración podrían estar lo suficientemente cerca : todas las bases de datos "distantes" (no centrales) serían solo esclavos legibles (sincronizados a través de una replicación maestro-esclavo básica), y las escrituras solo ocurrirían en el servidor central (que sería el maestro).

2

Fui a SymmetricDS

creo que es la más alta calidad también acaba de mencionar que encontré en SourceForge (php mysql sincronización)

y encontré muchos enlaces en internet.

Cuestiones relacionadas