我需要在本地和远程数据库之间同步记录,例如客户端列表.双方的数据库具有相同的结构.我曾考虑过使用某种标记(日期字段,字段值的哈希/校验和…),但是您有什么建议?
编辑:远程数据库位于虚拟主机上,因此将需要PHP来传输数据.
解决方法:
在记录中保留最后更改字段(日期)始终是一个好主意.请记住,如果开始同步,则必须注意冲突.
如果双方都可以插入,请对主键使用分区方案.示例:站点A从1000000000开始,站点B从2000000000开始(使此数字足够大或简单地将主键大小除以并发站点数).
粗同步图:
>从上一个同步周期开始,从源A获取修改的记录.
>对于每条记录,请检查:
>它是新插入到A中的吗?然后将其插入B
>是否在A中进行了修改,但在B中没有进行修改:更新B
>是否在A和B中进行了修改:解决了字段级别的冲突.
>从上一个同步周期开始,从源B获取修改的记录
>对于每条记录,请检查:
>它是新插入到B中的吗?然后将其插入A
>是否在B中修改了,但在A中没有修改:更新A
>是否在B和A中进行了修改:解决了字段级别的冲突.