在我的工作中,经常会出现数据库系统之间双向数据同步的想法。典型的例子是两个稍微不同的CRM系统(例如,Raiser's Edge和Salesforce),以及它们之间需要双向同步的联系数据。
撇开API考虑因素不谈,假设您有一个可以同步的共享密钥,并且纯粹考虑要使用的算法/模式,这是一项经常被非技术人员低估的任务。
例如,你必须提防:
就我个人而言,我可以想出解决所有这些问题的方法,但我想知道是否有任何众所周知的模式、文献或最佳实践可以供我参考。
发布于 2012-02-19 14:26:34
是的,一个很难的问题,很容易被低估。可能有很多工作要做。如果您使用的是微软技术,您可能想看看Microsoft 这里和这里。
发布于 2012-02-18 10:41:36
有关远程站点数据库同步的理论有很多。首先从插入开始。处理这个问题很容易--因为您可以为每个站点创建一个唯一的ID (例如,站点名称+ ID (编号)的首字母: site_a_177和site_b_53)
因此,插入不应造成任何冲突。问题是更新。我不相信有100%的失败验证方法,但是您可以通过“锁定”远程DB中的记录来启动更新,并且只有在获得句柄之后才能启动更新--继续更新,然后同步更新,然后释放锁。
https://softwareengineering.stackexchange.com/questions/135423
复制相似问题