我正在开发一个在多个客户端上运行的应用程序,这些客户端与一个主 MySQL 数据库进行通信。此外,我们还有一个使用相同 MySQL 数据库的 Web 应用程序。
由于延迟问题,所有客户端都必须运行自己的本地 MySQL 数据库,该数据库应该是主 MySQL 数据库的副本。 Web 应用程序仍然使用主 MySQL 数据库。
客户端仅从表 A 读取数据,并写入表 B。Web 应用程序同时写入表 A 和表 B。
我应该如何设置确保数据一致性的复制方案?客户端应该可以长时间离线。使用 MySQL 是否可以做到这一点,或者我最好看看 CouchDB 之类的东西?根据网站,CouchDB 似乎明确支持这一点:
it allows for users and servers to access and update the same shared data while disconnected and then bi-directionally replicate those changes later
最佳答案
如果您可以放弃 MySQL,CouchDB 具有您需要的语义。
您甚至不需要“双表”系统。文档系统内置了 MVCC,因此您可以更新文档并解决冲突等。复制非常棒,并且完全点对点,并且在设计上旨在支持离线应用程序。
关于mysql - 关于我的用例的复制方案的建议?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2330477/