将本地SQLite DB与服务器SQLite DB同步

时间:2010-07-20 15:47:04

标签: database sqlite proxy synchronization mirror

是否可能,如果是这样,我怎样才能有效地将本地数据库与全局数据库同步,以便在对本地版本执行操作时,也可以在全局数据库上进行操作。简单地使用版本控制来破坏全局是不可接受的,因为根据对数据库进行更改的人数可能有数个数据库的本地副本。换句话说,它可以只拥有数据库的镜像,因此即使它位于网络上的其他位置,也可以在本地访问它。

1 个答案:

答案 0 :(得分:4)

如果主题非常复杂,则同步数据库。最简单的方法是在所有查询的应用程序级别(或通过自定义sqlite包装器)保留记录,然后在同步时再次运行。

当您有多个源或双向同步时,这会出现问题。由于操作顺序不同,在一个数据库上运行正常的查询可能会失败(假设启用了参照完整性)。

另一种更复杂但更健壮的方法是跟踪每个表的完整事务历史记录。您还需要知道每笔交易中哪些记录受到影响,以及每笔交易中的订单。完成后,您可能需要一种方法来检测何时会发生问题并自动解决问题。