TDSQL Boundless 手动归档冷数据

数据归档开启后,冷热分层通过标准 SQL 语法进行控制。可以以根据业务需要,将整张表或指定分区精确地指定为冷存储或热存储,并在转冷后查看任务进度与冷热数据用量分布。

相关产品
TDSQL Boundless 产品页,含版本规格、价格与购买入口。

一、操作场景

这篇说说手动归档冷数据的常用 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_history MODIFY PARTITION (p_2024) STORAGE_TIER = OBJECT_STORAGE;

七、通过控制台查看归档列表

1. 登录 TDSQL Boundless 控制台,在实例列表中单击目标实例 ID,进入实例详情页。

2. 选择数据归档页签,在基本信息区域可查看订阅状态、所在地区、存储用量、开启时间和计费方式。

3. 在数据归档列表中可查看各归档对象的明细,列说明如下:

列名 说明
库名 归档对象所属的数据库名称。
表名 归档对象所属的表名称。
分区名 归档对象所属的分区名称。整表归档时显示为 -。
数据量大小 该归档对象的数据量。
状态 归档状态。pending 表示等待归档,已归档 表示归档已完成。

八、查看转冷任务进度

系统提供 information_schema.TDSTORE_TIERING_COLD_RG_JOB_PROGRESS 视图,用于实时查看每个数据分片的转冷任务进度。

SELECT node_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;

完整字段说明请参见 INFORMATION_SCHEMA.TDSTORE_TIERING_COLD_RG_JOB_PROGRESS。

当 stage 为 Done 且 err_msg 为空时,表示该分片转冷成功。

九、查看冷热数据用量分布

通过 information_schema.TDSTORE_TIERED_STORAGE_USAGE 视图可以观察冷表在本地缓冲层与对象存储上的数据量分布,便于评估冷却效果。

— 查看每个冷表索引/分区的近似数据量SELECT TABLE_SCHEMA, TABLE_NAME, PARTITION_NAME, INDEX_NAME, CACHE_DB_SIZE, DURABLE_DB_SIZE, TOTAL_SIZEFROM information_schema.TDSTORE_TIERED_STORAGE_USAGE;– 按表汇总SELECT TABLE_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;

完整字段说明请参见 INFORMATION_SCHEMA.TDSTORE_TIERED_STORAGE_USAGE。

注意:说明:

注意:该视图由参数 tdstore_tiered_storage_usage_view_mode 控制。默认值 1 使用低 I/O 的聚合模式;设为 2 时返回实时数据,开销更高;设为 0 时禁用该视图。

十、相关文档

·基于规则归档时间分区数据

·常见问题 > 冷数据归档

·自研内核 > 功能类特性 > 冷数据归档

赞 (0)
上一篇 4天前
下一篇 4天前