什么是数据复制 有哪些架构
什么是数据复制
跟大家说一说什么是数据复制的介绍,具体内容如下:
数据复制是指将数据复制到一个或多个数据容器以确保可用性的过程。
复制的数据通常存储在不同的数据库实例中,即使一个实例发生故障,我们也可以从其他实例获取数据。
一种流行数据复制的实现架构是主从架构。
主从架构
为了理解这个架构,我们举一个例子。
- 我们有四个客户端,每个客户端都连接到一个负载均衡器。
- 然后负载均衡器将请求分发到三个应用程序服务器。
- 每台服务器连接到一个数据库实例。
你能注意到这里有什么问题吗?
我们的数据库存在单点故障。如果它崩溃了,我们的整个系统就会停止工作。
为了避免这种单点故障,我们可以使用另一个数据库(最好是不同的数据库实例)来存储原始数据的副本(一般我们成为从库)。现在如果原始数据库(主库)崩溃,我们可以将请求转到从库。
但是我们如何保持从库与主库同步呢?这有两种方法。
同步复制数据
- 在这种方法中,数据同时写入主库和从库
- 数据始终一致。即数据如果写入主库,它也会写入从库
- 数据库负载较高
异步复制数据
- 在这种方法中,首先将数据写入主库,并定期将更新写入从库
- 由于复制以固定间隔进行,因此存在数据丢失和不一致的可能性
- 数据库负载相对较低
这里我们的一般定义是收到写请求的主库数据库是 master,从库被称为 slaves。

如上图我们的主站也就是 Server2 维护事务日志。他会更新从站中(Server1)的数据,它发送命令,然后从站以相同的顺序执行这些命令。
如果服务器向从站发送写入请求会发生什么?
有两种方法可以处理这种情况
- 不允许对从站的写请求,从站无法写入数据库,它只能去读从库数据。
- 允许从站写入数据。我们将允许从站写入数据。然后从站将更改复制到主站。在这种情况下,从站就接替了主站的角色。所以不再是主从架构而是主主架构
主主架构的问题
网络故障可能会导致主主架构中的数据不一致。
让我们用一个例子来理解这一点,假设我们有两个数据库实例 A 和 B。
- 两人都是 master。
- 它们之间的路由器出现故障。所以 A 认为 B 离线,B 认为 A 离线。
- 他们有一个数据项 X,其值最初为 100。
现在用户发送以下请求,
- X 减去 20,该请求被路由到 A,此时 A 中 X 的值为 80。
相关阅读
-
广州在线网页制作工具 网站免费制作平台
跟大家说一说广州在线网页制作工具和网站免费制作平台的教程内容,具体介绍如下: 最简单的网页制作软件:其实我们完全可以利用办公软件来设计网页,只要网页内容不太复杂或只涉及静
-
IP等级详细介绍 了解不同IP等级的详细介绍
今天小编详解IP等级详细介绍的内容,一起跟随小编看看吧! 防尘等级 第一个IP等级数字代表设备的防尘能力,从防尘完全到无防护,共有七个等级。让我们更深入地了解这些等级的含义。
-
Sort排序算法详解:各类排序方法全面解析
小编为你解答Sort排序算法详解的相关知识,接下来小编为网友介绍。 一、简介 排序是计算机科学和编程中非常常见的操作。 在本文中,我们将详细讨论各种排序算法,探讨它们的实现原理、
-
平面设计素材网站有哪些 网页设计模板网站
今天带来的IT技巧小经验平面设计素材网站有哪些和网页设计模板网站的内容,接下来IT袋小编为大家介绍。 平面设计师是一种创意职业,需要不断学习和掌握最新的设计趋势、软件技能和专业


