关系型数据库大数据性能优化解决方案之:分表(当前表历史表)、表分区、数据清理原则

原因和目的

  • 由于交易量大或者日积月累造成数据库的数据量越来越大。会导致系统性能大幅下降,所以要对部分业务的表数据作备份和清理
  • 减少数据量,来提升请求响应的速度,提升用户体验

数据是否需要清理的阀值判断

通常当表的磁盘大小超过 5GB,或对于 OLTP 系统(联机事务处理),表的记录超过 3000 万,都应考虑对表进行分区或者分表。
除了上述阀值之外,还可以根据数据库性能指标情况来考虑分区或者分表,比如在已经充分挖掘了表设计、索引设计、查询设计等单表性能优化手段之后,依然不能满足业务的需要,这个时候,即使表的容量或记录尚未达到上述阀值那也要考虑分区或者分表了,这个时间点的记录数即为该表阀值。
一般来讲,用记录数标记阀值会比表的磁盘容量更容易操作一些,所以一般以达到该阀值时的记录数作为阀值,下文也会以此来作为阀值。每个表的数据格式不同、索引设计、单位事务处理时间容忍度不同,所以这个阀值也不同。

满负载周期判断

也就是说,一张空表,需要多久才能达到它的阀值,这个周期我们称之为满负载周期。
如果业务量已经稳定,数据量积累到当前阀值所需要的时间即为该表满负载周期;如果业务量稳定上升,即数据量在递增,根据递增速度估算出下一个满负载周期——也就是说,什么时候到达阀值什么时候进行迁移,但我们要做到提前规划,心中有数。

迁移周期判断

拿到该表阀值之后,需要对迁移周期进行判断,即多久对该表迁移一次?
可以一天迁移到历史表一次,即迁移周期就是一天。这样操作很简单,完全可以做成定时任务,所以很多系统这么干,只是有些频繁。 <
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值