android sqlite sincronización bidireccional sqlite

Necesito sincronizar mi base de datos SQLite de Android con mi base de datos del servidor en la nube, y hacerlo de forma bidireccional en un entorno multiusuario.

He encontrado y la introducción a la solución aquí, pero me gustaría leer sobre una mejor solución / algoritmo.

¿Puedes usar la base de datos Oracle como tu base de datos del servidor?

De ser así, debería considerar Oracle Database Lite, que incluye una solución de sincronización completa que es compatible con SQLite y Android, y que fue diseñada para entornos de usuarios múltiples.

Admite sincronización automática, resolución avanzada de conflictos y múltiples modelos de sincronización. También es compatible con la implementación y administración de aplicaciones desde una consola de administración central, e incluso la administración de dispositivos.

Puede leer más sobre esto aquí: http://www.oracle.com/technetwork/database/database-lite/overview/index.html

Además, puede hacer clic en la pestaña de descargas para probarlo usted mismo.

Eric

Recomiendo enviar archivos db a su servidor y fusionarlos en el servidor. A continuación, envíe de nuevo db fusionado al cliente si es necesario. Su solución variará en función del algoritmo de resolución de conflictos y su esquema de base de datos. Pero aquí hay un ejemplo para el caso más simple:

sqlite> attach 'client.db3' as ClientDBtoMerge; sqlite> insert into TableName select * from ClientDBtoMerge.TableName; sqlite> detach database ClientDBtoMerge; 

Espero que puedas modificar el ejemplo para la fusión bidireccional.