2011-10-11 8 views
13

Estoy desarrollando una aplicación web usando php y mysql. esta aplicación se ejecuta en tres ubicaciones diferentes. 1. en internet. 2. oficina central. 3. sucursal. La aplicación se ejecuta en el servidor local en la oficina central y la sucursal. la conexión a internet no está disponible en todo momento. clientes que realizan pedidos a través de estas tres ubicaciones. mi problema es que quiero sincronizar los datos entre estas tres bases de datos y mantener estas tres bases de datos actualizadas. ¿Hay alguna manera de esto?Sincronización de bases de datos en línea/fuera de línea - MySQL/PHP

+0

hmm. intente la replicación – Gajahlemu

+0

posible duplicado de [sincronización de base de datos MySQL] (http://stackoverflow.com/questions/3648242/mysql-database-synchronization) (también vea las [otras preguntas] (http://stackoverflow.com/search) ? q = mysql + sincronización + php)) – mario

+0

ver http://www.mysql.com/products/cluster/mysql-cluster-datasheet.pdf – Gajahlemu

Respuesta

11

estoy usando SymmetricDS para sincronizar bases de datos. Es capaz de sincronizar o replicar datos entre nodos (servidores/bases de datos), solo empujando o tirando de los datos que defina. Es un software basado en Java, tiene una curva de aprendizaje pronunciada, pero realmente hace el trabajo.

SymmetricDS se puede configurar para impulsar los cambios de un nodo a los otros dos nodos, asegurándose así de que los tres nodos contengan los mismos datos. Debe asegurarse de que las claves principales sean claves únicas, y no valores autoincorporados asignados por la base de datos, ya que es muy probable que esto sea un problema en las tres bases de datos diferentes que desea sincronizar.

El software instala desencadenantes en la base de datos y captura los cambios cuando se llevan a cabo las operaciones INSERTAR, ACTUALIZAR o ELIMINAR (y otras). Estos cambios de datos se invocan en los otros nodos. El software debe ejecutarse en cada ubicación, pero no necesita una conexión a Internet disponible en todo momento.

Al principio me preocupé que los factores desencadenantes en todas mis tablas ralentizarían el rendimiento, pero esto no ha sido un problema en absoluto. No puedo decir que hayamos descubierto algún problema con el rendimiento después de que se instalaron los desencadenadores.

Eche un vistazo a http://symmetricds.org/ para más detalles.

+0

Gracias sbrattla por sugerir herramienta. Escribí algunas secuencias de comandos PHP personalizadas para resolver mi problema. Usé una idea de SymmetricDS para resolver esto. – iamsumesh

+0

¿Cómo usar esto? –

+0

Mi publicación anterior describe cómo funciona, pero necesita ir al sitio web del software para conocer los detalles. Como se mencionó, tiene una curva de aprendizaje muy empinada, pero funciona muy bien si usted le entiende. – sbrattla

Cuestiones relacionadas