数据复制和数据同步的区别是什么?

7

我很难区分数据同步和复制之间的差异。

据我所知,复制是使两个数据库之间的所有数据相同。同步并不一定使两个数据库之间的所有数据都相同。复制是一次性转移,同步可以是小的更新以保持数据一致?我不太确定,请在这里纠正我。

如果我有一个中央MySQL数据库,其中存储了多个手机数据,并且我的目标是将手机的数据与MySQL的数据保持相同(仅特定用户的数据),那么这是同步还是复制或两者都是?它最初会获取所有用户数据(复制),然后发送更新后的数据(同步)?

希望有人能澄清混淆,非常感谢!

4个回答

10

直白地说:

  • 复制强烈意味着数据有两个或更多副本。
  • 同步意味着正在保持两个或更多数据副本最新状态,但不一定每个副本都包含所有数据(尽管对于数据库同步来说通常是这种情况)。

但我敢打赌这两个术语经常被混用,我很确定我可以找到很多使用"复制"来描述多个数据库保持同步的例子。

因此,不要过于纠结这两个术语 - 它们的意思基本相同,但显然不同的数据库系统或工具在实现所谓的“复制”或“同步”时可能存在巨大差异。


2
如前面的帖子所解释的,这两个术语可以互换使用,但它们应该具有不同的含义。
正如他所说,复制是存在两个或多个数据库“副本”的情况。这使得用户可以在“同一个”数据库上工作,而不必竞争访问时间或应对诸如通信传输时间或网络延迟等技术限制。
同步将在一定预定的时间后(可以是几分钟、几小时、几天、几周)进行,其目的是将对数据库不同副本所做的更改重新合并到主数据库中。

0

1)本质上,复制是使多个数据库瞬间完全相同,几乎不会有时间延迟或非常小的时间延迟。

2)同步与上述相同,但时间延迟为0(以秒,分钟,天,月等计算)。

3)时间延迟是一个重要的区别。

4)因此,从技术上讲,复制是同步的子集。这就是为什么你会听到像复制同步这样的东西。


0

这取决于使用的上下文。

例如,Informatica ETL工具有“数据复制”和“数据同步”任务-在这里,数据复制意味着源表中的字段被精确地复制到目标表中的相应字段,而同步允许进行转换-公式,查找等。此外,复制是单向流动的,例如,生产数据库到备份。同步可以是双向的,例如,一个服务可以提供一个面向中央服务器的web接口和一个用于离线使用的本地副本 - 更新可以通过任何一个数据库传入并同步到另一个数据库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接