操作场景
数据归档开启后,冷热分层通过标准 SQL 语法进行控制。您可以根据业务需要,将整张表或指定分区精确地指定为冷存储或热存储,并在转冷后查看任务进度与冷热数据用量分布。
前提条件
建表时指定冷热属性
建表时指定表级冷热属性
在建表时通过表选项
STORAGE_TIER 指定整张表的存储层级。-- 整张表创建为冷表CREATE TABLE archive_log (id BIGINT PRIMARY KEY,log_time DATETIME,payload TEXT) STORAGE_TIER = OBJECT_STORAGE;-- 显式声明使用本地存储(与不指定等价)CREATE TABLE hot_order (id BIGINT PRIMARY KEY,amount DECIMAL(10,2)) STORAGE_TIER = LOCAL_STORAGE;
STORAGE_TIER 的可选值如下:取值 | 含义 |
AUTO | 由系统按默认策略选择,当前等同于 LOCAL_STORAGE |
LOCAL_STORAGE | 数据存放在热数据存储层(DataDB),使用本地存储 |
OBJECT_STORAGE | 数据存放在冷数据存储层(CacheDB + DurableDB),使用对象存储 |
建表时为分区指定冷热属性
对于按时间或业务键分区的表,可以为单个分区独立指定存储层级,实现"近期分区为热、历史分区为冷"。
CREATE TABLE order_history (id BIGINT,order_date DATE,amount DECIMAL(10,2),PRIMARY KEY (id, order_date))PARTITION BY RANGE COLUMNS (order_date) (PARTITION p_2023 VALUES LESS THAN ('2024-01-01') STORAGE_TIER = OBJECT_STORAGE,PARTITION p_2024 VALUES LESS THAN ('2025-01-01') STORAGE_TIER = OBJECT_STORAGE,PARTITION p_2025 VALUES LESS THAN ('2026-01-01') STORAGE_TIER = LOCAL_STORAGE);
将已有数据转为冷存储
将已有表转为冷表
通过
ALTER TABLE 对已存在的表整体进行转冷。ALTER TABLE archive_log STORAGE_TIER = OBJECT_STORAGE;
执行后,系统会在后台异步推进转冷任务,期间应用可以继续访问该表。
将已有分区转为冷分区
通过
ALTER TABLE ... MODIFY PARTITION 对单个或多个分区独立转冷。ALTER TABLE order_historyMODIFY PARTITION (p_2024) STORAGE_TIER = OBJECT_STORAGE;
查看归档结果
通过控制台查看归档列表
1. 登录 TDSQL Boundless 控制台,在实例列表中单击目标实例 ID,进入实例详情页。
2. 选择数据归档页签,在基本信息区域可查看订阅状态、所在地区、存储用量、开启时间和计费方式。
3. 在数据归档列表中可查看各归档对象的明细,列说明如下:
列名 | 说明 |
库名 | 归档对象所属的数据库名称。 |
表名 | 归档对象所属的表名称。 |
分区名 | 归档对象所属的分区名称。整表归档时显示为 -。 |
数据量大小 | 该归档对象的数据量。 |
状态 | 归档状态。 pending 表示等待归档,已归档 表示归档已完成。 |

查看转冷任务进度
系统提供
information_schema.TDSTORE_TIERING_COLD_RG_JOB_PROGRESS 视图,用于实时查看每个数据分片的转冷任务进度。SELECTnode_name,rep_group_id,stage,uploaded_file_num,total_file_num,progress_pct,elapsed_time_ms,err_msgFROM information_schema.TDSTORE_TIERING_COLD_RG_JOB_PROGRESSORDER BY rep_group_id;
当
stage 为 Done 且 err_msg 为空时,表示该分片转冷成功。查看冷热数据用量分布
通过
information_schema.TDSTORE_TIERED_STORAGE_USAGE 视图可以观察冷表在本地缓冲层与对象存储上的数据量分布,便于评估冷却效果。-- 查看每个冷表索引/分区的近似数据量SELECTTABLE_SCHEMA,TABLE_NAME,PARTITION_NAME,INDEX_NAME,CACHE_DB_SIZE,DURABLE_DB_SIZE,TOTAL_SIZEFROM information_schema.TDSTORE_TIERED_STORAGE_USAGE;-- 按表汇总SELECTTABLE_SCHEMA,TABLE_NAME,SUM(CACHE_DB_SIZE) AS cache_total,SUM(DURABLE_DB_SIZE) AS durable_totalFROM information_schema.TDSTORE_TIERED_STORAGE_USAGEGROUP BY TABLE_SCHEMA, TABLE_NAME;
说明:
该视图由参数
tdstore_tiered_storage_usage_view_mode 控制。默认值 1 使用低 I/O 的聚合模式;设为 2 时返回实时数据,开销更高;设为 0 时禁用该视图。