我有一个相当简单的同步问题。我有一个包含大约10列的表,我希望在3个不同客户端上的sqlite文件之间保持同步:Iphone客户端,浏览器客户端和Ruby on Rails客户端。所以我需要一个适用于所有3个的简单sycing解决方案,即我可以在Javascript,Objective C和Ruby中轻松实现它,它可以通过HTTP使用JSON。我查看了其他同步解决方案的各种组件,例如git中的一个,Google齿轮社区中的一些教程,以及一个名为acts_as_replica的rails插件。我天真的方法是简单地在数据库中创建最后同步的时间戳,然后在制作时创建所有删除的更改日志。 (我不允许更新表中的条目)。然后,我可以检索自上一个时间戳以来的所有新条目,然后将其与删除组合,并在3个解决方案之间通过http发送更改日志作为json。
我应该考虑使用SHA1哈希值还是每个条目的UUID,或者是最后同步的时间戳是否足够?如何确保没有重复的条目?我可以使用更简单的算法吗?
答案 0 :(得分:2)
我假设更改可能会在最后。我不知道插入和更新的特征,但这是我的想法;
可以根据数据量调整时间类别(日,月)。
当然这是一个天真而简单的算法。如果我正在处理敏感/关键数据,我会寻找transactional算法。