📜  DBMS 中的单主复制和多主复制

📅  最后修改于: 2021-09-09 10:30:08             🧑  作者: Mango

先决条件 – 数据复制
数据复制只是将数据从一台数据库服务器复制到另一台数据库服务器的过程,以便所有用户可以共享相同的数据而不会出现任何不一致。在了解复制数据的各种模型之前,了解我们为什么需要复制数据非常重要。

例子 –
假设你有卢比。你的银行账户里有 5000 美元,今天你去自动取款机取款了卢比。 100. 现在您的帐户余额为卢比。 4900. 现在,如果您去任何其他银行分行,帐户中的金额相同,则为 Rs。 4900 only 这意味着它在所有分支中都被更新。在今天的情况下,无论您从特定银行的哪个分行取款,它仍然会在所有银行中更新,其背后的原因是数据复制。

不存在数据复制时的场景:
让我们考虑上述相同的例子。现在,如果不存在数据复制,那么您退出的 ATM 分行将只有您当前的余额为 Rs。 4900. 所有其他银行分行都会有信息表明您当前的银行余额仍为卢比。 5000. 然而,在现实世界中,数据被复制到所有分行,所有银行在他们的数据库中得到更新,一个人 X 的账户余额现在是卢比。 4900。

综上所述,我们可以说,对于数据的一致性和提高系统可用性,数据复制起着非常重要的作用。在了解了复制概念背后的基本思想后,我们将了解两种类型的数据复制方法:单主复制和多主复制。

1. 单主复制:
单主复制是数据复制以这样一种方式完成的,即只有一台服务器管理主表并进行所需的更新和更改。主表的副本被复制到被授权查看、读取、搜索数据的从服务器或客户。消费者指示的任何写操作都将传输到主服务器,并执行所需的更改。因此,我们可以推断这些应用程序为从站提供只读功能,而写入仅由主站完成。

图 –单主复制

单主复制的用例 –

  • 卸载信息和监控问题:
    每个组织都有自己的在线事务处理 (OLTP) 来管理面向事务的应用程序。在这种使用情况下,来自 OLTP 系统的整个数据或数据子集被传输到另一个数据库。将数据从主数据库传输到从数据库的目的是支持报告中的查询。

    这种用法的优点是——

    1. 由于从 OLTP 框架中消除了报告负载,因此它提高了转换处理效率。
    2. 它通过提升用户体验来提高查询性能。
  • 使用暖备用服务器:
    当公司想要增强其数据可用性时,通常首选使用暖备用服务器。换句话说,暖备用是一个备份数据库系统与主数据库系统并行运行的过程。在这种情况下,数据库服务器通过复制概念与在线网络保持同步,并且可以在生产系统出现故障时轻松恢复。它们还可以通过优雅地切换到备用服务器来使生产服务器脱机进行定期维护,从而用于定期维护。

2. 多主复制:
多主复制是数据复制以这样一种方式完成的,即数据被复制到一组称为主系统的计算机,任何人都可以更新数据库,任何人完成的更新也被复制到其他系统。在这里,所有成员都平等地处理客户端,因为写入可以由任何系统完成。

例子 –
如果一家银行在 X 市和 Y 市两个城市设有分行。如果 X 市的系统在一段时间内不可用,客户查询和交易可以由 Y 市管理。一旦 X 市的系统再次可用,我们可以说它在线,然后复制立即完成。这种安排设施具有单主复制的优点,其中客户端写入请求被传输到可用的主系统。除此之外,它还有助于多个主机的负载平衡,其中写入由任何可用系统完成。

图 –多主复制

多主复制的用例 –

  • 写作的可用性 –
    众所周知,单主复制系统允许对主数据库进行写操作,而将所有其他从数据库读到应用程序。因此,如果我们希望复制的数据也可用于写访问,则可以使用多主复制,因为它为从数据库提供了额外的写访问。
  • 写作的可扩展性——
    写应用程序中的多主复制允许使用不同主机上的多个数据库服务器相互独立地处理他们自己的主数据库上的写操作。之后可以协调所做的更改。