更新时间:2024-12-02 GMT+08:00
分享

TaurusDB冷热分离简介

操作场景

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

原理简介

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

图1 原理图
  • 创建冷表

    为了达到释放磁盘空间并且实现降低存储成本的目的,您可以将暂时不需要修改数据且磁盘空间占用较大的表转存为冷表,该表数据将存储在OBS上。

  • 回迁冷表

    将指定表存储为冷表后,如果需要修改该表或频繁查询该表,您可以将该冷表重新回迁到实例上,回迁后不会删除OBS上存储的表数据。

计费说明

冷数据存储在OBS上,按照备份空间使用进行按需计费。

注意事项

  • TaurusDB冷热分离功能为白名单功能,如需使用,请在管理控制台右上角,选择“工单 > 新建工单”,提交申请。
  • 创建冷表时,禁止执行DDL或DML语句。
  • 创建了冷表的实例不可作为全量备份恢复和时间点恢复操作的目标实例。
  • 冷表仅支持查询操作,不支持DDL和DML语句,且访问速度较慢,建议将不常用的归档类数据表转换为冷表。
  • 当需要归档的表是分区表时,单次归档只支持单个分区;若需要归档多个分区,则需要针对每个分区单独进行归档。
  • 若以分区为对象进行归档,则仅支持对归档分区以外的分区执行DDL语句。对首个分区不支持DROP。不支持REMOVE PARTITIONING。不支持表级别的DDL语句。
  • 若冷表中存在外键,则其对应的主表禁止执行DDL语句。
  • 归档时,对库名,表名,分区名中的特殊字符需要进行转义。
  • 开启冷热数据分离功能后,暂不支持库表级数据恢复,跨区备份和手动备份;
  • 冷热数据分离的备份恢复功能需要数据库内核版本大于等于2.0.57.240905。目前只支持全量数据恢复功能,包括全备恢复和按时间点恢复(PITR)到新实例或当前实例,暂不支持恢复到已有的其他实例。

使用限制

  • Serverless实例、多主实例、RegionlessDB、开启TDE功能或跨异地容灾备份的实例不支持冷热分离。
  • 冷热数据分离功能,目前和按需加载功能不兼容,无法同时开启。
  • 不支持归档临时表和视图。
  • 不支持归档分区表的首个分区。
  • 不支持归档hash/key/linear hash/linear key/list default hash类型的分区。
  • 不支持归档子分区,以及有子分区的分区。
  • 不支持归档系统表。
  • 不支持归档带有全文索引的表。
  • 冻结的实例不可操作冷表。

使用说明

  • 转存冷表数据

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

  • 查询冷表数据

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

  • 修改冷表数据

    如果您需要修改已经存储到OBS上的冷表,您需要先通过控制台的回迁功能将OBS上的冷表回迁到实例上,此回迁操作不会删除OBS上的冷表数据。如果需要删除OBS上的数据,可以联系客服。

  • 删除冷表数据

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

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

免责声明

  • 使用DRS迁移时,如需保留源库的冷表数据,需要将冷表回迁到源库后再使用DRS,否则迁移到目标库后,冷表将被迁移为空表。
  • 冷表访问速度较慢。如果大量使用冷表,有可能会产生大量慢日志。
  • 避免创建和回迁冷表操作与其他控制台的操作同时执行,否则可能会导致创建和回迁冷表失败,或者其他控制台的操作失败。

相关文档