为啥数据库读写分离可以提高性能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥数据库读写分离可以提高性能相关的知识,希望对你有一定的参考价值。

之所以说读写分离能够提高性能,是因为读写分离采用这样的机制:

假设我们现在有数据库服务器1,对外提供一切操作,还有数据库服务器2,仅仅保存数据库服务器1的数据备份,定时同步,以便服务器1意外崩溃后能够尽量的弥补损失。
但是服务器2原本能够提供增删改查服务,这样以来服务器2的资源就产生了极大的浪费,因此我们希望服务器2也做一些事情,而不是仅仅作为一个备份。
显然增删改都是不能够交给服务器2去完成的,因为如果这样做就失去了服务器1的意义,所以服务器2仅仅提供查询操作,增删改都留给服务器1去完成,这就是所谓的读写分离。
读写分离机制使得两个服务器分担原本属于一个服务器的压力,因此性能有所提高,同时有数据备份的存在,其稳定性高于单服务器。
参考技术A 通常读操作要比写操作的数量多得多,而且数据库在数据写入时是会锁表的,这个过程不能读取数据,必须等待写入完成,所以一旦请求量大那么执行效率就降低了。读写分离就是一个库只负责读取不做写入,这样就提高了读的效率。

读写分离与主从数据库

主从数据库:主要是数据上的读写分离;

数据库的读写分离的好处?
1. 将读操作和写操作分离到不同的数据库上,避免主服务器出现性能瓶颈;
2. 主服务器进行写操作时,不影响查询应用服务器的查询性能,降低阻塞,提高并发;
3. 数据拥有多个容灾副本,提高数据安全性,同时当主服务器故障时,可立即切换到其他服务器,提高系统可用性;

读写分离的基本原理就是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE)操作,
而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到其他从数据库。
以SQL为例,主库负责写数据、读数据。读库仅负责读数据。每次有写库操作,同步更新到读库。
写库就一个,读库可以有多个,采用日志同步的方式实现主库和多个读库的数据同步。

以上是关于为啥数据库读写分离可以提高性能的主要内容,如果未能解决你的问题,请参考以下文章

为什么数据库读写分离可以提高性能

数据库为啥要读写分离

应用MySQL读写分离以提高MySQL服务器的读写性能

提高性能,MySQL 读写分离环境搭建

数据库读写分离,主从同步实现方法

读写分离与主从数据库