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

MySQL Proxy最强大的一项功能是实现“读写分离(Read/Write Splitting)”。基本的原理是让主数据库处理事务性查询,而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致的变更同步到集群中 的从数据库。

一 什么是读写分离

MySQL Proxy最强大的一项功能是实现“读写分离(Read/Write Splitting)”。基本的原理是让主数据库处理事务性查询,而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致的变更同步到集群中 的从数据库。 当然,主服务器也可以提供查询服务。使用读写分离最大的作用无非是环境服务器压力。

二、读写分离的好处

1.增加冗余

2.增加了机器的处理能力

3.对于读操作为主的应用,使用读写分离是最好的场景,因为可以确保写的服务器压力更小,而读又可以接受点时间上的延迟。

三、读写分离提高性能之原因

1.物理服务器增加,负荷增加

2.主从只负责各自的写和读,极大程度的缓解X锁和S锁争用

3.从库可配置myisam引擎,提升查询性能以及节约系统开销

4.从库同步主库的数据和主库直接写还是有区别的,通过主库发送来的binlog恢复数据,但是,最重要区别在于主库向从库发送binlog是异步的,从库恢复数据也是异步的

5.读写分离适用与读远大于写的场景,如果只有一台服务器,当select很多时,update和delete会被这些select访问中的数据堵塞,等待select结束,并发性能不高。 对于写和读比例相近的应用,应该部署双主相互复制

6.可以在从库启动是增加一些参数来提高其读的性能,例如–skip-innodb、–skip-bdb、–low-priority-updates以及–delay-key-write=ALL。当然这些设置也是需要根据具体业务需求来定得,不一定能用上

7.分摊读取。假如我们有1主3从,不考虑上述1中提到的从库单方面设置,假设现在1 分钟内有10条写入,150条读取。那么,1主3从相当于共计40条写入,而读取总数没变,因此平均下来每台服务器承担了10条写入和50条读取(主库不 承担读取操作)。因此,虽然写入没变,但是读取大大分摊了,提高了系统性能。另外,当读取被分摊后,又间接提高了写入的性能。所以,总体性能提高了,说白 了就是拿机器和带宽换性能。

8.MySQL复制另外一大功能是增加冗余,提高可用性,当一台数据库服务器宕机后能通过调整另外一台从库来以最快的速度恢复服务,因此不能光看性能,也就是说1主1从也是可以的。

延伸阅读

软件库的形式

软件库通常有两种形式:静态库、动态库。

静态库是在编译时将库文件的代码与程序一起链接成一个可执行文件的库文件,因此静态库的代码会被复制到程序中。当程序运行时,静态库的代码会被加载到内存中,并与程序一起运行。由于静态库的代码是被复制到程序中的,因此程序的大小会变大,但静态库的执行速度比较快,因为它们的代码已经被编译成了可执行文件。

文章标题:为什么数据库读写分离能提高数据库的性能,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/54063

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年6月7日
下一篇 2023年6月7日

相关推荐

  • 有没有比较好的java轻量级web开发框架

    比较好的java轻量级web开发框架有:1、Spring;2、Hibernate;3、Blade;4、Struts;5、谷歌网络工具包 [GWT];6、现有后端工具-JSF(JavaServer Faces)。Spring Java 框架是一种流行的 Java EE 框架,既强大又轻量级。 1、Sp…

    2023年2月8日
    39000
  • 文件管理软件有哪些

    文件管理软件有:1、Total Commander;2、Dropit;3、TagLyst;4、QTTabBar;5、Directory Opus;6、Adobe Bridge;7、XYplorer;8、Listary;9、Multi commander;10、Files Inspector。Tota…

    2023年1月12日
    1.2K00
  • php做网站建设有什么优势

    优势有:一、跨平台,性能优越;二、语法简单;三、运行环境容易搭建;四、支持多种数据库链接方式;五、有很多完善的架构。相比于ASP和.NET,PHP可以跨平台,更加高效安全。ASP和。NET都是微软旗下的产品,服务器只能使用windows系统,数据库一般使用MSSQL。 一、跨平台,性能优越 相比于A…

    2023年5月29日
    1500
  • NoSQL为什么在可分布式扩展性比传统SQL数据库好

    原因有:一、数据模型的灵活性;二、分布式架构的支持;三、高可扩展性;四、适合大数据处理。传统的SQL数据库采用关系型数据模型,数据被组织成表格,每个表格有固定的列和行。而NoSQL数据库采用非关系型数据模型,没有固定的模式约束。 一、数据模型的灵活性 传统的SQL数据库采用关系型数据模型,数据被组织…

    2023年5月29日
    6700
  • 云计算的特点都有哪些

    云计算的特点有:1.按需自助服务;2.无处不在的网络访问;3.资源池化;4.快速弹性;5.按使用量计费;按需自助服务是指云计算允许用户根据需求来获取和配置计算资源,这种自助式服务使用户可以随时获取所需的服务,而无需人工干预。 云计算,作为一种现代化的计算模式,已经在全球范围内得到了广泛应用。下面是一…

    2023年6月15日
    14600
  • 需求优先级排序的缺点是什么

    需求优先级排序的缺点:1、每个人对需求优先级排序的观点都不同;2、需求优先级排序模型浩繁,无从下手;3、少部分人可能因为需求划分分歧而怠惰工作等。每个人对需求优先级排序的观点都不同是指团队成员对需求的重要性理解不一致,容易产生分歧。 一、需求优先级排序的缺点 二、优先级排序面临的挑战 优先级排序是对…

    2023年1月9日
    11700
  • 数据挖掘可用于哪些方面

    数据挖掘可用于:1、预测风险;2、对用户进行分组;3、分析人的行为;比如预测风险方面分析数据以确定以前出现过哪些问题(例如,查找商品之后却并未购买的在线访问者的数量),可以帮助零售商针对未来的库存采购制定更好的决策。 数据挖掘可用于哪些方面? 数据挖掘有许多用途,具体取决于公司及其需求。可能的用途包…

    2022年11月7日
    25400
  • 固态硬盘和机械硬盘的区别

    固态硬盘和机械硬盘的区别有:1、容量不同;2、转速不同;3、缓存不同;4、接口类型不同;5、数据读写速度不同;6、抗震性不同;7、内部结构不同。容量不同是指一般来说,常用的机械硬盘大小在1T左右,而固态硬盘一般会用的容量125G或者250G。 1、容量不同 硬盘是计算机最主要的存储数据信息设备之一,…

    2023年1月27日
    16400
  • 网络管理软件哪些

    网络管理软件有:1.迅捷智能网管交换机管理软件;2.Winshield内网管理软件;3.聚生网管远程管理工具。迅捷智能网管交换机管理软件是一款简单实用的网络交换机管理软件,能够帮助用户轻松管理同一网络下的所有交换机设备,在线对设备参数进行修改调整。 1.迅捷智能网管交换机管理软件 迅捷智能网管交换机…

    2023年1月11日
    1.1K00
  • 深度学习与神经网络有什么区别

    深度学习与神经网络的区别有:1、定义不同;2、发展历程不同;3、应用范围不同;4、结构复杂度不同;5、关系与依赖性;6、学习策略不同。其中,定义不同指的是二者的基本概念不同,深度学习是神经网络技术的一个分支,而神经网络是深度学习技术的基础。 1、定义不同 深度学习:是机器学习的一个子领域,特指使用多…

    2023年7月30日
    31300

发表回复

登录后才能评论
联系我们
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部