TDSTORE_TIERED_STORAGE_USAGE

最近更新时间:2026-06-30 16:45:30

我的收藏

功能

TDSQL Boundless 在分级存储(Tiered Storage)特性下,将冷表(cold table)的数据划分到两个存储层:
本地缓存层 cacheDB:承载近期写入与热数据缓存,位于本地节点磁盘。
远端持久层 durableDB:承载已上传的冷数据,位于对象存储。
系统视图 information_schema.TDSTORE_TIERED_STORAGE_USAGE 用于查看冷表在 cacheDBdurableDB 中的容量使用情况,按 (TINDEX_ID, REPLICATION_GROUP_ID) 粒度展示每个表/索引/分区的近似数据量。在任意 SQL 节点查询即可获取全集群冷表的容量分布,常用于容量规划、上传进度评估和资源调优。
说明:
本视图仅展示已进入分级存储的冷表数据,热表(普通表)不在视图范围内。

字段说明

列名
数据类型
是否可空
说明
TINDEX_ID
BIGINT UNSIGNED
TDStore 内部数据对象 ID,唯一标识一个表、索引或分区。
REPLICATION_GROUP_ID
BIGINT UNSIGNED
数据所在复制组(Replication Group)的 ID。同一对象可分布在多个复制组,每个复制组独立展示一行。
TABLE_SCHEMA
VARCHAR(64)
数据所属的库名(schema)。
TABLE_NAME
VARCHAR(64)
数据所属的主表名。分区表也始终展示主表名。
PARTITION_NAME
VARCHAR(64)
分区名。非分区表此列为 NULL
INDEX_NAME
VARCHAR(64)
索引名。主键统一展示为 PRIMARY
INDEX_TYPE
VARCHAR(64)
索引类型,可选值:PRIMARYUNIQUEMULTIPLEFULLTEXTSPATIAL
CACHE_DB_SIZE
BIGINT UNSIGNED
该索引/分区在 cacheDB 中的近似数据量,单位为字节。
DURABLE_DB_SIZE
BIGINT UNSIGNED
该索引/分区在 durableDB 中的近似数据量,单位为字节。
TOTAL_SIZE
BIGINT UNSIGNED
总数据量,等于 CACHE_DB_SIZE + DURABLE_DB_SIZE

相关参数

视图的数据获取方式由系统变量 tdstore_tiered_storage_usage_view_mode 控制:
参数名
作用域
默认值
取值范围
说明
tdstore_tiered_storage_usage_view_mode
GLOBAL
1
0、1、2
控制视图的数据来源模式:
0:关闭视图功能,查询时返回错误。
1:通过 MC(Meta Cluster)聚合心跳数据,I/O 开销小,推荐生产环境使用。
2:实时向 TDStore 节点发起 RPC 查询,数据更实时但开销更高。

使用限制

限制项
说明
数据范围
仅展示已进入分级存储的冷表数据。普通表(热表)不在视图范围内。
权限要求
查询本视图需具备访问 information_schema 的权限。
数据精度
SIZE 列均为基于元数据的近似估算值,主要用于资源用量观测,不适合作为精确计费依据。
算术关系 CACHE_DB_SIZE + DURABLE_DB_SIZE = TOTAL_SIZE 始终精确成立。
DDL 并发
查询期间若并发 DROP TABLEDROP INDEX,被删除对象将从结果中跳过,不会导致查询失败。
查询频率
视图属于低频运维接口,建议在容量评估、巡检等场景按需查询,不宜在业务高频路径中持续轮询。
版本要求
TDSQL Boundless V21.6.3.0及以上版本。

示例

查看视图结构
DESC information_schema.TDSTORE_TIERED_STORAGE_USAGE;
返回结果:
+----------------------+-----------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------------+-----------------+------+-----+---------+-------+
| TINDEX_ID | bigint unsigned | NO | | NULL | |
| REPLICATION_GROUP_ID | bigint unsigned | NO | | NULL | |
| TABLE_SCHEMA | varchar(64) | YES | | NULL | |
| TABLE_NAME | varchar(64) | YES | | NULL | |
| PARTITION_NAME | varchar(64) | YES | | NULL | |
| INDEX_NAME | varchar(64) | YES | | NULL | |
| INDEX_TYPE | varchar(64) | YES | | NULL | |
| CACHE_DB_SIZE | bigint unsigned | NO | | NULL | |
| DURABLE_DB_SIZE | bigint unsigned | NO | | NULL | |
| TOTAL_SIZE | bigint unsigned | NO | | NULL | |
+----------------------+-----------------+------+-----+---------+-------+
查询非分区冷表的容量分布(含二级索引)
SELECT TABLE_SCHEMA, TABLE_NAME, PARTITION_NAME, INDEX_NAME, INDEX_TYPE,
CACHE_DB_SIZE, DURABLE_DB_SIZE, TOTAL_SIZE
FROM information_schema.TDSTORE_TIERED_STORAGE_USAGE
WHERE TABLE_SCHEMA = 'cold_db' AND TABLE_NAME = 't_cold_data'
ORDER BY INDEX_NAME;
返回结果:
+--------------+-------------+----------------+------------+------------+---------------+-----------------+------------+
| TABLE_SCHEMA | TABLE_NAME | PARTITION_NAME | INDEX_NAME | INDEX_TYPE | CACHE_DB_SIZE | DURABLE_DB_SIZE | TOTAL_SIZE |
+--------------+-------------+----------------+------------+------------+---------------+-----------------+------------+
| cold_db | t_cold_data | NULL | idx_val | MULTIPLE | 1024 | 8192 | 9216 |
| cold_db | t_cold_data | NULL | PRIMARY | PRIMARY | 4096 | 32768 | 36864 |
+--------------+-------------+----------------+------------+------------+---------------+-----------------+------------+
查询分区冷表的容量分布
SELECT TABLE_NAME, PARTITION_NAME, INDEX_NAME, INDEX_TYPE,
CACHE_DB_SIZE, DURABLE_DB_SIZE, TOTAL_SIZE
FROM information_schema.TDSTORE_TIERED_STORAGE_USAGE
WHERE TABLE_SCHEMA = 'cold_db' AND TABLE_NAME = 't_cold_part'
ORDER BY PARTITION_NAME, INDEX_NAME;
返回结果(分区表的每个分区独立展示一行):
+-------------+----------------+------------+------------+---------------+-----------------+------------+
| TABLE_NAME | PARTITION_NAME | INDEX_NAME | INDEX_TYPE | CACHE_DB_SIZE | DURABLE_DB_SIZE | TOTAL_SIZE |
+-------------+----------------+------------+------------+---------------+-----------------+------------+
| t_cold_part | p0 | PRIMARY | PRIMARY | 2048 | 16384 | 18432 |
| t_cold_part | p1 | PRIMARY | PRIMARY | 2048 | 16384 | 18432 |
| t_cold_part | p2 | PRIMARY | PRIMARY | 2048 | 16384 | 18432 |
+-------------+----------------+------------+------------+---------------+-----------------+------------+
按表汇总冷数据容量
SELECT TABLE_SCHEMA,
TABLE_NAME,
SUM(CACHE_DB_SIZE) AS CACHE_TOTAL,
SUM(DURABLE_DB_SIZE) AS DURABLE_TOTAL,
SUM(TOTAL_SIZE) AS GRAND_TOTAL
FROM information_schema.TDSTORE_TIERED_STORAGE_USAGE
GROUP BY TABLE_SCHEMA, TABLE_NAME
ORDER BY GRAND_TOTAL DESC;
识别本地缓存层占比过高的索引
当某个索引在 cacheDB 中的占比明显高于 durableDB 时,说明仍有大量冷数据未上传,可结合上传任务进度排查。
SELECT TABLE_SCHEMA, TABLE_NAME, PARTITION_NAME, INDEX_NAME,
CACHE_DB_SIZE, DURABLE_DB_SIZE,
ROUND(CACHE_DB_SIZE * 100.0 / NULLIF(TOTAL_SIZE, 0), 2) AS CACHE_PCT
FROM information_schema.TDSTORE_TIERED_STORAGE_USAGE
WHERE TOTAL_SIZE > 0
ORDER BY CACHE_PCT DESC
LIMIT 10;
切换视图数据来源模式
默认模式 1 通过 MC 聚合数据,I/O 开销小。当需要更实时的数据时,可临时切换至模式 2
-- 切换为实时 RPC 模式
SET GLOBAL tdstore_tiered_storage_usage_view_mode = 2;

-- 执行查询
SELECT * FROM information_schema.TDSTORE_TIERED_STORAGE_USAGE LIMIT 10;

-- 查询完成后切回默认模式
SET GLOBAL tdstore_tiered_storage_usage_view_mode = 1;
注意:
tdstore_tiered_storage_usage_view_mode 设置为 0 时,本视图查询将直接返回错误,需重新设置为 12 才能正常使用。