我很难区分数据同步和复制之间的差异。
据我所知,复制是使两个数据库之间的所有数据相同。同步并不一定使两个数据库之间的所有数据都相同。复制是一次性转移,同步可以是小的更新以保持数据一致?我不太确定,请在这里纠正我。
如果我有一个中央MySQL数据库,其中存储了多个手机数据,并且我的目标是将手机的数据与MySQL的数据保持相同(仅特定用户的数据),那么这是同步还是复制或两者都是?它最初会获取所有用户数据(复制),然后发送更新后的数据(同步)?
希望有人能澄清混淆,非常感谢!
我很难区分数据同步和复制之间的差异。
据我所知,复制是使两个数据库之间的所有数据相同。同步并不一定使两个数据库之间的所有数据都相同。复制是一次性转移,同步可以是小的更新以保持数据一致?我不太确定,请在这里纠正我。
如果我有一个中央MySQL数据库,其中存储了多个手机数据,并且我的目标是将手机的数据与MySQL的数据保持相同(仅特定用户的数据),那么这是同步还是复制或两者都是?它最初会获取所有用户数据(复制),然后发送更新后的数据(同步)?
希望有人能澄清混淆,非常感谢!
直白地说:
但我敢打赌这两个术语经常被混用,我很确定我可以找到很多使用"复制"来描述多个数据库保持同步的例子。
因此,不要过于纠结这两个术语 - 它们的意思基本相同,但显然不同的数据库系统或工具在实现所谓的“复制”或“同步”时可能存在巨大差异。
1)本质上,复制是使多个数据库瞬间完全相同,几乎不会有时间延迟或非常小的时间延迟。
2)同步与上述相同,但时间延迟为0(以秒,分钟,天,月等计算)。
3)时间延迟是一个重要的区别。
4)因此,从技术上讲,复制是同步的子集。这就是为什么你会听到像复制同步这样的东西。
这取决于使用的上下文。
例如,Informatica ETL工具有“数据复制”和“数据同步”任务-在这里,数据复制意味着源表中的字段被精确地复制到目标表中的相应字段,而同步允许进行转换-公式,查找等。此外,复制是单向流动的,例如,生产数据库到备份。同步可以是双向的,例如,一个服务可以提供一个面向中央服务器的web接口和一个用于离线使用的本地副本 - 更新可以通过任何一个数据库传入并同步到另一个数据库。