更新时间:2026-10-29 GMT+08:00
分享

TaurusDB冷热分离简介

操作场景

数据库实例中如果有些库表几乎没有数据的写入操作,且读取操作的频率很低,您可以使用TaurusDB的冷热分离功能,将这部分数据通过归档的方式转储在低成本的OBS上,以释放存储空间,达到降低数据存储成本和冷热数据分离管理的目的。

介绍视频

原理简介

TaurusDB支持将低频使用的Innodb引擎的表转存到OBS上,这些转存之后的表被称之为冷表。

图1 原理图

如图所示,TaurusDB 冷热分离架构支持在TaurusDB实例与OBS之间动态迁移数据,以此实现性能与存储成本的平衡。其核心工作流程如下:

  • 数据字典:存储了数据库的元数据(Metadata),例如表结构、索引定义、用户权限等信息。这是数据库的“目录”,无论数据本身在哪里,元数据都必须在这里,以便数据库引擎能够找到和管理数据。
  • 数据文件:存储了当前活跃的、需要快速访问的“热数据”及其对应的索引。

当需要归档不常访问的“冷数据”时,系统执行“创建冷表”操作,将对应的数据文件(data+index)从 TaurusDB实例迁移至OBS,达到释放存储空间并实现降低存储成本的目的。但元数据保留在实例内的数据字典中,确保数据库仍能识别和管理该表;当业务重新需要修改或者频繁查询这些数据时,则执行“回迁冷表”操作,将数据文件从OBS迁回TaurusDB 实例,恢复高性能访问。整个过程对应用透明,无需修改代码,实现了热数据高速响应、冷数据低成本存储的智能分层管理。

使用限制

  • 创建冷表时,归档粒度按表类型区分:分区表支持按单个分区归档,普通表仅支持整表归档。
  • 冷表只支持SELECT查询,且速度较慢。建议将数据量较大的不常用数据设置为冷表,常用的业务数据, 不建议转化冷表。如果大量使用冷表,有可能会产生大量慢日志。
  • 避免创建和回迁冷表操作与其他控制台的操作同时执行,否则可能会导致创建和回迁冷表失败,或者其他控制台的操作失败。
  • 不支持使用DRS迁移冷表数据。迁移时如需保留源库的冷表数据,需要将冷表回迁到源库后再使用DRS。

计费说明

冷数据存储在OBS上,按照冷表数据量大小进行按需计费,不占用备份空间,价格详情请参考TaurusDB价格详情中的“备份空间计费信息”。冷表数据量大小可在统计冷表信息查看。

使用说明

  • 转存冷表数据

    您可以在控制台上将指定表设置为冷表,该表数据将存储在OBS上,从而释放磁盘空间并且降低存储成本。具体操作详见通过控制台设置冷表。

  • 查询冷表数据

    创建冷表后,对于冷表数据的查询方法与普通表一致,可以使用select命令查询,具体操作详见通过SQL操作设置冷表。

    参数rds_schs_enable_partition_visible控制已归档分区的数据对SELECT查询的可见性,默认为ON。如需修改,请参考修改TaurusDB实例参数。

    当取值为ON时,已归档分区的数据对SELECT查询可见;取值为OFF时,已归档分区的数据对SELECT查询不可见。

  • 修改冷表数据

    如果您需要修改已经存储到OBS上的冷表,您需要先通过控制台的回迁功能将OBS上的冷表回迁到实例上,此回迁操作不会删除OBS上的冷表数据。如果需要删除OBS上的数据,请提交工单处理。

  • 删除冷表数据

    创建冷表后,便无法对冷表执行DDL语句,因此无法直接删除冷表,也无法删除该表所在的库。

    需要将冷表回迁后,使用drop命令删除。

相关文档