2010-11-02 93 views
6

Hola a todos, tengo una pregunta si tengo una computadora ejecute sqlite, y quiero hacer que sqlite sincronice el servidor Mysql en la red externa. Si los datos en sqlite han sido (cambiados/modificados), ¿cómo puedo sincronizar mi base de datos MySQL y sqlite para que los datos en sqlite sean (cambiados/modificados) cuando los datos en MYSQL DB se modifiquen o modifiquen?cómo sincronizar sqlite a Mysql

gracias a todos.

+0

La sincronización de la base de datos es un área muy compleja y amplia. Existen numerosas técnicas y herramientas, todas las cuales implican compromisos de un tipo u otro. En resumen, no hay una respuesta breve a esto, especialmente entre diferentes motores de base de datos. –

Respuesta

4

Usted puede intentar greplicator

geplicator es una solución en tiempo real diseñado para replicar los datos de base de datos MySQL a cualquier otra base de datos relacional , tales como Oracle, Microsoft SQL Server, IBM DB2 UDB y MySQL.

+0

El enlace de greplicator está muerto. ¿Tienes un nuevo enlace? – hriziya

2

Tengo un problema similar de sincronización bidireccional entre una base de datos SQL de Android y una base de datos MySQL. El problema realmente surge cuando se hacen inserciones, porque admite la posibilidad de claves primarias replicadas.

Hace un tiempo construí un sistema que usaba hardware y claves principales GUID basadas en tiempo en lugar de teclas primarias sencillas y monótonamente crecientes. La teoría es que si se insertan nuevos registros en el teléfono usando sqlite, o en el servidor central usando mysql, las claves nunca entrarán en conflicto debido a que son únicas en el mundo.

Desafortunadamente, esto significa que ha entrado en el negocio de administración de claves primarias en lugar de simplemente tomar el automático que viene con ambos motores de DB. Pero, en teoría, este enfoque permite que los datos de muchos teléfonos diferentes se fundan fácilmente en la base de datos central y se redistribuyan nuevamente a todos los teléfonos. Estoy considerando este enfoque para mi problema con Android, aunque todavía estoy esperando encontrar una solución ya creada.

+2

Seguimiento: construí una implementación de clave GUID en Android y una complementaria en el servicio web utilizando django y python. Hago mis propias claves desde el ID de Android y una combinación de System.currentTimeMillis() y System.nanoTime(). Si bien las claves resultantes no son secuenciales, al menos son monótonas, y espero que mejoren la agrupación. Las guías se ven así: 'A000002276D37D-01339e06f7ab-5be854e'. El primer bit es el ID de Android, el segundo es el actualTimeMillis, el tercero son los últimos 7 dígitos hexadecimales de nanoTime. También uso un "lastGuid" estático para asegurarme de que nunca repito una identificación. – joecascio

Cuestiones relacionadas