将本地SQLite数据库与服务器SQLite数据库同步

3

是否可能并且如果可以的话,如何有效地将本地数据库与全局数据库同步,以便在本地版本上执行操作时,全局数据库也会进行相应的更改。仅仅使用版本控制来规避全局数据库是不可接受的,因为根据对数据库进行更改的人数,可能会有几个本地副本。换句话说,是否可能只有一个数据库的镜像,以便在网络上的其他位置访问。

1个回答

4
同步数据库是一个非常复杂的主题。最简单的方法是在应用程序级别(或通过自定义 SQLite 包装器)保留针对每个系统运行的所有查询的记录,然后在同步时重新运行这些查询。
当您有多个来源或双向同步时,这会导致问题。在一个数据库上运行良好的查询可能在另一个数据库上由于不同的操作顺序而失败(假设启用了引用完整性)。
另一个更复杂但更健壮的方法是跟踪每个表的完整事务历史记录。您还需要知道每个事务中受影响的记录以及每个事务中的顺序。完成后,您可能需要一种检测问题将发生的方式,并自动解决它们。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接