读写分离是分摊数据库的读取压力,
用缓存是减少数据库的读取压力。
假如有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服务器和数据库服务器分离的优势是什么、为什么数据库读写分离可以提高性能等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)