SQL Server/MySQL数据库读写分离最全详解(看这篇就够了)
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
什么是读写分离读写分离就是将数据库分为主从库,一个主库(Master)用于写数据,多个从库(Slaver)进行轮询读取数据的过程。 主从库之间通过某种通讯机制进行数据的同步,是一种常见的数据库架构。
为什么要读写分离呢?因为数据库的“写”,比如:10000条数据到oracle可能要3分钟,操作是比较耗时的。 但是数据库的“读”,比如:从oracle读10000条数据可能只要5秒钟,相对应写就没有这么耗时。 所以读写分离解决的是:把数据库的写入与查询,在服务器上分开来,从而可以极大的提升查询效率。
什么时候要读写分离?数据库不一定要读写分离,但是如果程序使用数据库较多时,而更新少,查询多的情况下就可以考虑使用。 这样可以减少数据库压力,提高性能,当然数据库也有其它优化方案,比如:分库分表,或是搜索引擎等都是解决方法。
读写分离的原理读写分离基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。 读写分离是为了将请求流量分散到不同的数据库节点上,将写入数据的请求分发到主数据库,读取数据的请求分发到从数据库,从数据可以有多台,即一主多从。 整体架构如下图: 从上图可看出,有个关键技术就是主从复制,每次写入数据的时候,需要将主服务器数据复制到从服务器中,用来确保数据一致性。 下面我以MySQL的主从复制为例,如下图所示: 主从复制
读写分离总结在实际的生产环境中,对数据库的读和写都在同一个数据库服务器中,是不能满足实际需求的,无论是在安全性、高可用性还是高并发等各个方面都是完全不能满足实际需求的。 因此,通过主从复制的方式来同步数据,再通过读写分离来提升数据库的并发负载能力,即可以解决可用性的问题,又解决了数据库性能问题。 -end- 该文章在 2024/1/23 12:20:44 编辑过 |
关键字查询
相关文章
正在查询... |