什么是冷热数据


什么是冷热数据

Hot(热数据)

被频繁查询或更新

对访问的响应时间要求很高,通常在10毫秒以内

Cold(冷数据)

不允许更新,偶尔被查询

对访问的响应时间要求不高,通常在1~10秒内都可以接受

数据库优化整理之:冷热分离

通过合理的冷热分离设计,可以达到的好处:

降低单表数据量,提升单表性能;
大量业务冷数据转冷存,存储成本可以降低很多,至少 50%+。

什么情况下使用冷热分离?

从冷热分离的定义我们可以知道当业务需求涉及到冷热数据,表数据量增长速度快或数据量较大时, 我们就该考虑是否使用冷热分离解决方案了。比如:
1)数据走到终态后,只有读没有写的需求。
2)用户能够接受新旧数据分开实现业务,比如查询新旧数据的时候分开操作。

冷热分离解决方案的不足:

冷热分离确实可以在某种程度上解决写读写数据慢的问题,但是仍然存在诸多不足。具体表现有:
1)用户查询冷数据速度依旧很慢。
2)由于冷数据多到一定程度,业务就无法再修改冷数据,因为数据量太大系统承受不住。

三种方式触发冷热数据分离:

  1. 修改写操作的业务代码:

    在代码中实现,当有对数据进行写操作时,触发冷热分离。

    建议使用场景:业务代码比较简单,并且不按照时间区分冷热数据时使用。

  1. 监听数据库日志binlog变更:

    监听数据库变更日志binlog的方式来触发。

    建议使用场景:业务代码比较复杂,不敢随意变更,并且不按照时间区分冷热数据时使用。

  1. 定时扫描数据库:

    通过定时扫描数据库的方式来触发。

    建议使用场景:在按照时间区分冷热数据时使用。


文章作者: 斓龙
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 斓龙 !
  目录