Android SQLite和服务器数据库2路同步离线

时间:2015-12-22 11:16:48

标签: android database sqlite synchronization

我的数据库结构是:

enter image description here


我想使用SQLite在我的android sync adapter和服务器之间同步它。

Android应用程序可以执行所有CRUD操作,网站可以执行相同的操作。

website将使用server数据库。目前我使用的是PostgreSQL,但可以更改。

mobile app将使用自己的local数据库。

如何同步它们?问题在于primary key

  1. 其中一个想法是使用uuid作为主键,但存在性能问题,因为您可以看到我需要执行一些连接以从用户获取到其他表。< / p>

  2. 另一个想法是将primary key保留为auto increment integers并仅使用uuid列进行同步。但是,这会为每个表格中的每个primaryforeign key添加一个新的表格列。

  3. 最后一个是使用compound key作为主要版本。这个将包括3列user_idid(原始数据库ID)和device_id(网站/移动应用等)。每个外键都是一样的。

  4. 有没有更好的解决方案?如果我不使用哪种解决方案?

    Gmail,Keep,Dropbox或其他应用程序如何执行此类任务?


    谢谢。

1 个答案:

答案 0 :(得分:-1)

您应该使用CouchBase,因为通过已经完成同步库的JSON处理数据要容易得多。它比MongoDB更快,它也是Firebase的免费替代品。