我的数据库结构是:
我想在我的androidSQLite
和使用sync adapter
的服务器之间进行双向同步。
android应用程序可以执行所有CRUD
操作,网站也可以做同样的事情。website
将使用server
数据库。目前我使用PostgreSQL
但它可以更改。mobile app
将使用自己的数据库。
如何同步它们?最大的问题是local
。
其中一个想法是使用primary key
作为主键,但存在性能问题,因为正如您所看到的,我需要执行一些连接才能从用户转到其他表。
另一个想法是将uuid
保留为primary key
并仅使用auto increment integers
列进行同步。但这会为每个表中的每个uuid
和primary
添加一个新的表列。
最后一种方法是使用aforeign key
作为主要参数。这将包括3列compound key
,user_id
(原始数据库ID)和id
(网站/移动应用程序等)。每个外键都是一样的。
有更好的解决办法吗?如果没有,我应该使用哪种解决方案?
Gmail、Keep、Dropbox或其他应用程序如何执行此类任务?
谢谢您。
最佳答案
您应该使用CouchBase,因为通过json在同步库已经完成的情况下处理数据要容易得多。它比MongoDB更快,也是FireBase的免费替代品。