软件制作活动中,时不时会遇到需要数据同步的场景,同步需要什么前提,同步有几种实现的方案,这方案有什么特点,本方试图全面来梳理一下。数据总量很小的情况下,可以每次都全量同步,多数情况下数据量较大,采用增量同步的方式。为方便描述,这里规定数据从 source 同步到 target。典型的 source 和 target 是两个数据库。
Max(ID)
,下次同步只处理大于Max(ID)
的数据。CreateTime
方案CreateTime
,同步时记录Target的Max(CreateTime)
,下次同步只处理大于等于Max(CreateTime)
的数据,但要用PK(主键)排除等于Max(CreateTime)
的重复数据。注意事务的隔离性。UpdateTime
方案UpdateTime
,同步时记录Target的Max(UpdateTime)
,下次同步只处理大于等于Max(UpdateTime)
的数据,但要用PK排除等于Max(UpdateTime)
的重复数据。注意事务的隔离性。createTime
方案 OR updateTime
方案updateTime
方案 AND 伪删除方案)updateTime
方案updateTime
方案 AND 伪删除方案)updateTime
方案updateTime
记录原始数据的更新时间,此值在各库间同步,始终保持值不变。可用于对比多条记录哪条最新。updateTime
记录本地数据的更新时间,作为同步到下一级的时间范围限定条件。此值用于增量同步限定同步的数据范畴。updateTime
记录本地数据的更新时间。原文:https://www.cnblogs.com/BillySir/p/12881752.html