mysql读写分离和用Redis做缓存,这两种方案有什么异同

mysql读写分离和用Redis做缓存,这两种方案有什么异同,第1张

读写分离是分摊数据库的读取压力,

用缓存是减少数据库的读取压力。

假如有100次查询,有两个mysql从服务器,则每个服务器可以分担50次查询,

如果是有缓存,而没有mysql从服务器,100次查询,可能50次是可以从缓存里取的

50次是需要从数据库取的,那么mysql服务器只承担了50次查询。

一,安全性

数据库服务器可以只对WEB服务器提供服务,不至于暴露在互联网中。

将网络嗅探,暴力破解的可能性降到最低。

二,处理效率更高

数据库服务器可以只提供数据检索服务而不必处理其它服务。

且数据库服务器不需要外网,只在内网为WEB服务器提供数据查询服务即可。

WEB服务器可以只处理WEB请求,不处理数据库 *** 作,可以更好的利用带宽资源。

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

基本正确,除了读请求和写请求写反了,另外主从库的写是异步的,这也是为什么从库有可能有脏数据(旧数据)的原因。

至于查询的分配,写请求不用说了,都是要给写库的。主要是读请求。

自建数据库:

容易产生容量与性能瓶颈

当前的硬件条件下,主流数据库可以支持单表千万级数据量的存储,但是难以支撑密集的并发读写,存在性能瓶颈。

分区分表或分库方案限制太多

采用分区表方案,数据不能跨实例存储,扩展性和维护性较差。

采用分库方案,客户端需要自行管理各库连接,数据库连接管理和升级复杂,扩容迁移困难。

服务器成本高昂

普通X86服务器支撑能力有限,品牌厂商的服务器价格高昂,通过增加硬件规格来提升并发性能的成本太高,且能到达的性能高度有限。

分布式数据库面前,上面这些都不是问题,有很长厂商都已经把分布式数据库做的不错了,如阿里云,华为云等。

如下以我熟悉的华为云分布式数据库中间件DDM为例为你介绍下,如果感兴趣可以去官网了解一下,现在好像还有试用活动:华为云分布式数据库中间件DDM

分布式数据库:

数据分布存储

DDM采用水平拆分方式,将数据记录数庞大的单表,按指定的拆分规则,分布式存储到各个分片中。同时DDM提供路由分发功能,应用服务无需考虑数据该写入哪个分片,该从哪个分片读取。

读写分离

用户可以根据数据读取压力负载情况,为每个RDS实例配置一个或者多个只读实例,提高查询并发性能。

高性能

在实际业务访问中,SQL主要的性能瓶颈集中在物理数据库节点上。

DDM实例关联多个RDS节点,减少单个RDS存储的数据量,同时实现并行计算,支持PB级数据量访问,以及百万级高并发。

在线平滑扩容

DDM在不中断业务的情况下,支持新增RDS实例,水平扩容存储空间。一键式扩容,轻松解决单机数据库的容量瓶颈。

以上就是关于mysql读写分离和用Redis做缓存,这两种方案有什么异同全部的内容,包括:mysql读写分离和用Redis做缓存,这两种方案有什么异同、web服务器和数据库服务器分离的优势是什么、为什么数据库读写分离可以提高性能等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9781136.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存