小白也来学架构--存储高性能(四)

本文介绍了存储优化的两种常见策略:读写分离和分库分表。读写分离通过分散读压力到多个节点,而分库分表则通过业务划分和数据水平、垂直拆分来分散压力。文中详细讨论了各种拆分策略的优缺点,如路由分配、Join操作、Count计算和Order By问题,并提及了数据库读写分离的实现方式,如程序代码封装(如TDDL)和中间件封装(如Mysql Router、Atlas)。这些方法旨在提高数据库性能并应对高并发场景。
摘要由CSDN通过智能技术生成

存储方面一般我们能想到的三个:关系型数据库、NoSQL、缓存

关系型数据库主要介绍:读写分离分库分表

读写分离

  1、分散压力到多节点,存储压力未改变,包括一主一从、一主多从、多主多从。

  2、考虑复制延时,从而带来复杂性,一般解决的常见方法:写操作后的读操作指定发给主服务器;读从机失败后再读一次主机;关键业务读写在从,非关键业务读写分离。

分库分表:分散访问压力,分散存储压力。

  1、业务分库:按照业务模块将数据分散到不同的数据库服务器。同时带来其他问题,比如:join操作(同库的不同表被分散到不同库)、事务问题(不同库中不同的表需要在同一事务中进行时)、成本问题(服务器增多、工作量增大等)。

  2、分表:垂直拆分,比如订单表中将不常用的字段拆分出去,常用字段整合在一张表,提升性能和效率;

                  水平拆分,主要针对数据量大的,比如数据量达到千万级别,有的就会出现性能问题,需要考虑拆分。

水平拆分的复杂性要大于垂直拆分,一般会涉及到:路由分配问题、count计算问题、join操作问题、order by问题等。

路由分配一般可以通过 指定范围(容易造成分配不均匀)、Hash分配(分配均匀,但扩容不方便&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值