ShardingSphere -读写分离(概念)| 学习笔记

简介: 快速学习ShardingSphere -读写分离(概念)。

开发者学堂课程【数据库中间件ShardingSphere详解ShardingSphere -读写分离(概念)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/666/detail/11252


 ShardingSphere -读写分离(概念)


内容介绍:

一、前言

二、介绍读写分离及其原理

三、总结

 

一、前言

在前面的内容中,学习了用 Sharding-JDBC 实现对水平切分、垂直切分以及公共表的基本操作,接下来继续学习 Sharding-JDBC 的其他操作,即使用 Sharding-JDBC 实现对数据库读写分离操作。接下来的内容会分别介绍读写分离的概念及实现原理,然后在 MySQL 数据库中配置读写分离,最后使用 Sharding-JDBC 对读写分离操作后的数据进行操作。

 

二、介绍读写分离及其原理

1.读写分离操作

读写分离是提高大数据库查询效率一种方案,接下来会有两张图来具体介绍一下读写分离。先看第一张图(如下),

为了确保数据库产品的稳定性,很多数据库拥有双机热备功能。也就是,第一台数据库服务器,是对外提供增删改业务的生产服务器;第二台数据库服务器,主要进行读的操作。它的原理是让主数据库( master )处理事务性增改删操作,而从数据库( slave )处理SELECT 查询操作。

4.1.png

比如现在要对数据库进行相关的操作,也就是增删改操作,而之前的方式,操作是针对某一个数据库,比如 DB数据库,之前不管是做增加修改删除这些操作都是一个数据库实现,这是之前的方式。如果是这种方式会发现如果数据量很大都是一个数据库提供会造成访问的性能问题,所以针对这种问题解决方案为读写分离。

什么叫读写分离,如下图,还是做相应的操作,操作内容为增删改操作,但是现在下面不是有一个数据库,可以有两个或者多个,第一个数据库叫 DB1,第二个叫 DB2DB1理解为是一个主数据库,是主要的数据库在这里面描述 master mDB2 叫从数据库,叫做 slave ,为 s,这是两个数据库。什么叫读写分离,比如现在要做增加修改删除操作,让它去查询 DB1 主数据库,也就数增加修改删除去读取主数据库,而此时想做查询操作,就去读取从数据库 DB2,这个过程为读写分离。

4.2.png

但在过程会出现一个问题,现在做添加修改删除,只操作主数据库,从数据库并没有操作,现在向主数据库中加了数据,读从数据库,读不到数据,所以在这个过程中里面还要有一个操作,即主数据库和从数据库之间得有一个数据同步操作或数据复制操作。也就是在主数据库中加了数据库后,这个数据会同步到从数据库中,所以是可以读到的,这就是读写分离的基本概念。

然后再结合第一张图的文字内容,再次理解一下读写分离的概念。两台数据库也可以多台,做增删改操作,一台做读操作,让主数据库处理增删改操作,从数据库处理读操作,过程中要进行数据复制,比如向主数据库中增加修改删除之后,数据要同步到从数据库中,从而达到一主多从,多主多从的效果。以上内容就是读写分离的基本概念。

2.原理

接下来看第二张图(如下),它对读写分离操作的原理进行了一个讲解,大家可以先从这张图了解一下它的原理是怎么样的。

4.3.png

接下来画一个简单的流程图(如下)。以一主一从为例,现在有一个主服务器和一个从服务器,上图中可以清晰地看见,数据库中有一个日志功能,叫binlog 日志,用于记录数据库的增删改操作。如要进行读写分离操作,需要先开启 binlog 日志功能,防止遗忘而出现操作失误。先在主服务器中加入一个数据,但是要先开启 binlog 日志功能,记录这个操作,而从服务器会实时监控它的变化,进而及时实现数据同步。这里说到从服务器的另一个功能,即实时监控主服务器的 binlog 日志变化,并及时进行数据同步。这就是主从复制的原理过程。

 

4.4.png

 

三、总结

主从复制是指一台服务器进行增、删、改操纵,另一台用于查询操作,可以达到一主一从,一主多从或者多主多从的效果。读写分离的原理是实时监控binlog 日志的变化,如果日志发生变化,从服务器会进行读取,然后进行数据同步过程。在实际中操作中,我们经常会用到一主一从,或者一主多从,甚至是多主多从的情况。以上就是读写分离的基本概念及其原理,需要理解透彻。读写分离的目的是为了解决数据量过大造成效率过低的问题。

还有一点需要注意,在第二张图中也有写到, Sharding-JDBC通过 SQL 语义的分析,实现读写分离,具体一点就是, Sharding-JDBC 根据 SQL 语义的分析,将读操作和写操作分别路由至主库与从库,它提供透明化读写分离,让使用方尽量像使用一个数据库一样使用主从数据库集群。具体解释一下这句话的意思,看第一张简图,然后补充一下(如下图),现在如果要进行增删改操作, Sharding-JDBC 会进行一个判断,然后将操作路由到主数据库中,当出现 select语句时,它会将操作路由到从数据库中,这就是 Sharding-JDBC 透明化的过程。

 

4.5.png

 

以上就是读写分离的基本概念,在实际工作中,这种方式也是经常会用到。需要明白读写分离的概念及原理, binlog 日志的作用,以及 Sharding-JDBC 在读写分离里的作用。 Sharding-JDBC 只实现读写分离过程,不会进行数据同步,数据同步过程是由MySQL 数据库完成。以上就是本节对读写分离内容的相关介绍。

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
2月前
|
Java 关系型数据库 数据库连接
在Spring Boot + MyBatis项目中实现MySQL读写分离
在Spring Boot和MyBatis项目中实现MySQL读写分离,主要有两种思路:一种是在应用层通过代码和配置手动控制,另一种是借助中间件自动路由。
220 6
|
SQL 存储 Oracle
大厂面试高频:聊下分库分表与读写分离的实现原理
本文详解了分库分表和读写分离的原理与实现,帮助解决大数据量下的性能瓶颈问题,大厂面试高频,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:聊下分库分表与读写分离的实现原理
|
存储 弹性计算 固态存储
阿里云服务器ESSD Entry系统盘测评IOPS、IO读写和时延性能参数
阿里云ESSD Entry云盘是新一代企业级云盘,具备高IOPS、低延迟特性,适合开发与测试场景。它提供10~32,768 GiB容量范围,最大IOPS达6,000,吞吐量150 MB/s,时延1~3 ms。支持按量付费和包年包月,性价比高,特别适合个人开发者和中小企业。详情及价格参考阿里云官网。
|
API
周公解梦免费API接口教程
该接口提供数万个解梦数据,支持通过用户ID、用户KEY和关键词查询梦的解析。支持POST/GET请求,返回状态码、消息内容、结果集等信息。示例请求地址:https://cn.apihz.cn/api/mingli/zhougong.php?id=88888888&key=88888888&word=捞鱼。返回数据包括梦的标题、内容等。
390 6
|
机器学习/深度学习 测试技术
DeepSeek开源数学大模型,高中、大学定理证明新SOTA
【9月更文挑战第11天】DeepSeek团队近日发布了开源数学大模型DeepSeek-Prover-V1.5,在高中和大学级别的定理证明任务上取得SOTA成果。该模型基于语言模型,通过优化训练和推理流程,在多个基准测试集中表现优异。它引入了RMaxTS变体以生成多样化证明路径,并结合大规模数学预训练、在线强化学习等技术,显著提升了性能。尽管如此,该模型在更复杂问题及计算资源需求方面仍面临挑战。[报告链接](https://arxiv.org/pdf/2408.08152)。
549 9
|
消息中间件 存储 负载均衡
【Alibaba中间件技术系列】「RocketMQ技术专题」帮你梳理RocketMQ或Kafka的选择理由以及二者PK
【Alibaba中间件技术系列】「RocketMQ技术专题」帮你梳理RocketMQ或Kafka的选择理由以及二者PK
640 76
【Alibaba中间件技术系列】「RocketMQ技术专题」帮你梳理RocketMQ或Kafka的选择理由以及二者PK
|
Kubernetes 负载均衡 Cloud Native
从零开始入门 K8s | 理解 CNI 和 CNI 插件
网络架构是 K8s 中较为复杂的方面之一。K8s 网络模型本身对某些特定的网络功能有着一定的要求,因此,业界已经有了不少的网络方案来满足特定的环境和要求。CNI 意为容器网络的 API 接口,为了让用户在容器创建或销毁时都能够更容易地配置容器网络。在本文中,作者将带领大家理解典型网络插件地工作原理、掌握 CNI 插件的使用。
从零开始入门 K8s | 理解 CNI 和 CNI 插件
|
安全 数据处理 数据安全/隐私保护
【专栏】IT 知识百科:理解基站工作原理和作用,有助于我们更好地认识通信技术的影响
【4月更文挑战第28天】基站(BTS)是无线通信的关键,包括宏基站、微基站、皮基站和飞基站,它们构建起通信网络,确保稳定服务。基站通过接收、解调、处理和转发信号实现通信。它们提供覆盖、保障通信质量、支持数据传输并推动技术发展。基站建设涉及选址、安装和维护,且其电磁辐射在安全范围内。理解基站工作原理和作用,有助于我们更好地认识通信技术的影响。
2840 0