镜像与复制的区别

17 Mar 2025 | 4 分钟阅读

镜像(Mirroring)复制(Replication)是两种不同的DBMS技术,用于提高数据可用性和可靠性。镜像包括数据库的重复副本,而复制则包含重复的数据和数据库对象,如视图、表等。这些技术的主要区别在于,镜像技术指的是将数据库复制到不同的机器上。相比之下,复制包含将数据和数据库对象从一个数据库复制到另一个数据库。

在本文中,您将了解镜像与复制之间的区别。但在讨论区别之前,您必须了解镜像和复制。

什么是镜像?

镜像复制数据和数据库的技术。镜像也称为“影子数据库”(Shadowing)。在大多数情况下,镜像涉及将数据库复制到与原始数据库完全不同的系统或位置。如果主服务器在维护期间发生任何故障,系统将自动切换到镜像数据库。因此,任何给定时间只能访问一个副本。

镜像在数据库上运行,但不支持分布式数据库。通过将事务日志块传输到镜像数据库,可以在镜像数据库和主数据库之间建立紧密的耦合关系。它还可以通过将数据从一个数据库复制到另一个数据库来在发生故障时恢复数据。当发生故障转移时,镜像数据库将成为主数据库。

什么是复制?

复制是在多个数据库之间创建和分发重复数据和数据库对象的过程,以提高数据可用性。它可以从地理上分散的站点收集公司信息,并通过局域网或互联网将其提供给远程用户。它加快了并行命令的执行速度。在Microsoft SQL Server中,发布服务器(Publisher)是向其他服务器提供复制数据的实体。订阅服务器(Subscriber)通常是获取来自发布服务器的重复数据的服务器。

Microsoft SQL Server主要有三种复制操作类型。它们如下:

  1. 快照复制
  2. 事务复制
  3. 合并复制

快照复制

快照复制在特定时间点以数据的当前状态将数据提供给订阅服务器,而不检查数据更新。同步发生时,整个快照会被生成并传输到订阅服务器。

事务复制

它通常以发布数据和数据库对象的快照开始。初始快照后,发布服务器订阅服务器所做的任何额外数据更新和架构修改通常会随着它们的出现而提供。订阅服务器接收数据修改的顺序与发布服务器相同,并且在相同的事务边界内。因此,在一个发布中保证了事务一致性。

合并复制

合并复制与事务复制非常相似,因为它通常也以发布数据库中的对象和数据的快照开始。发布服务器和订阅服务器进行后续的数据修改架构更新,这些都通过触发器进行跟踪。当用户连接到网络时,订阅服务器会与发布服务器同步,并交换自上次同步以来所有已更改的行。

镜像与复制的关键区别

Difference between Mirroring and Replication

镜像与复制之间存在几个关键区别。以下是镜像与复制之间的一些主要区别:

  1. 镜像是一个创建和维护数据库重复副本的过程。相比之下,复制是创建存储在不同位置的数据和数据库对象,以增强分布式数据库的性能。
  2. 镜像数据库的成本高于复制数据库。相比之下,复制数据库的成本低于镜像数据库。
  3. 镜像作用于数据库。相比之下,复制作用于数据库对象和数据。
  4. 镜像技术不支持分布式环境。相比之下,复制技术支持分布式环境。
  5. 镜像数据库通常可以位于其主数据库的几台机器上。相比之下,复制将其数据库对象存储在另一个数据库中。

镜像与复制的头对头比较

在这里,您将了解镜像与复制之间的头对头比较。镜像与复制的主要区别如下:

特点镜像复制
定义它是在不同位置创建数据和数据库重复副本的技术。它是一种创建数据和数据库对象以增强分布式数据库性能的技术。
分布式数据库它不支持分布式环境。它支持分布式数据库。
费用其成本高于复制。其成本低于镜像。
作用于它作用于数据库。它作用于数据库对象和数据。
地点它通常可以位于其主数据库的几台机器上。它将其数据和数据库对象存储在另一个数据库中。

结论

镜像和复制技术有助于提高数据可用性、性能和可靠性。镜像技术需要数据库的多个副本。相比之下,复制涉及复制数据和数据库对象,包括表、用户定义函数、存储过程和物化视图。


下一主题区别