TDSQL Boundless TDSTORE_LSM_SST_INFO

INFORMATION_SCHEMA.TDSTORE_LSM_SST_INFO 用于展示集群中所有 hybrid 节点中,每个 SST 文件的明细信息,包括所属 ColumnFamily 和层级、文件大小、key 范围、序列号范围、记录数、是否正在 Compaction 等,用于定位具体的小文件、异常文件或排查 Compaction 堆积问题。

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

一、适用版本

TDSQL Boundless V21.6.4.0及以上版本。

二、字段说明

字段名 类型 描述
NODE_NAME VARCHAR(513) SQLEngine 节点的名称。
CF_NAME VARCHAR(193) ColumnFamily 的名称。
CF_ID BIGINT UNSIGNED ColumnFamily 的 ID。
LEVEL BIGINT UNSIGNED 该 SST 文件所在的 LSM-tree 层级。
FILE_NUMBER BIGINT UNSIGNED SST 文件的编号。
FILE_NAME VARCHAR(1024) SST 文件名。
FILE_PATH VARCHAR(1024) SST 文件的完整路径。
SIZE_BYTES BIGINT UNSIGNED SST 文件的大小,单位字节。
COMPRESSION_TYPE VARCHAR(193) SST 文件的压缩类型。
SMALLEST_KEY_HEX VARCHAR(1024) SST 文件中最小 key 的十六进制表示。
LARGEST_KEY_HEX VARCHAR(1024) SST 文件中最大 key 的十六进制表示。
SMALLEST_SEQNO BIGINT UNSIGNED SST 文件中最小的内部序列号(sequence number)。
LARGEST_SEQNO BIGINT UNSIGNED SST 文件中最大的内部序列号(sequence number)。
NUM_ENTRIES BIGINT UNSIGNED SST 文件中的记录条数(含删除标记)。
NUM_DELETIONS BIGINT UNSIGNED SST 文件中删除标记的数量。
NUM_READS_SAMPLED BIGINT UNSIGNED SST 文件被采样读取的次数,用于评估文件的读热度。
BEING_COMPACTED BIGINT UNSIGNED 该 SST 文件是否正在被 Compaction,1 表示是,0 表示否。
FILE_CREATION_TIME TIMESTAMP SST 文件的创建时间。
OLDEST_ANCESTER_TIME TIMESTAMP SST 文件最早祖先文件的创建时间,用于追溯数据的原始写入时间。
TEMPERATURE BIGINT SST 文件的冷热温度标记。

三、使用说明

查询时可通过 WHERE CF_ID = xxx 或 WHERE LEVEL = xxx 等值条件进行下推过滤,仅拉取指定 ColumnFamily 或指定层级的 SST 明细,减少 RPC 数据量。目前仅支持 CF_ID、LEVEL 两个字段的等值条件下推,其余条件(如 SIZE_BYTES > xxx 范围查询)仍由 SQL 层过滤。

由于单个 ColumnFamily 可能包含大量 SST 文件,本视图针对每个节点的单次返回行数设置了上限,由系统变量 tdstore_lsm_sst_info_max_rows 控制(默认10000,0表示不限制)。当某个节点的 SST 文件数量超过该上限时,查询会报错并提示增大该变量或补充 CF_ID/LEVEL 过滤条件缩小返回范围。

四、示例

查询指定 ColumnFamily(CF_ID = 20)第0层的 SST 文件明细。

tdsql>select * from information_schema.tdstore_lsm_sst_info where cf_id = 20 and level = 0 limit 1\\G*************************** 1. row *************************** NODE_NAME: node-1-001 CF_NAME: user_region_20 CF_ID: 20 LEVEL: 0 FILE_NUMBER: 128 FILE_NAME: 000128.sst FILE_PATH: /data/tdstore/data_db/000128.sst SIZE_BYTES: 6291456 COMPRESSION_TYPE: kLZ4Compression SMALLEST_KEY_HEX: 0000274A80000001 LARGEST_KEY_HEX: 0000274A800003E8 SMALLEST_SEQNO: 100234 LARGEST_SEQNO: 100897 NUM_ENTRIES: 1000 NUM_DELETIONS: 12 NUM_READS_SAMPLED: 3 BEING_COMPACTED: 0 FILE_CREATION_TIME: 2026-07-20 10:23:11OLDEST_ANCESTER_TIME: 2026-07-20 10:23:11 TEMPERATURE: 01 row in set (0.01 sec)

查询小文件(小于8MB)的数量,用于评估某个 ColumnFamily 的小文件治理需求。

tdsql>select cf_id, count(*) as small_file_count from information_schema.tdstore_lsm_sst_info where cf_id = 20 and size_bytes < 8388608 group by cf_id;+——-+——————-+| CF_ID | small_file_count |+——-+——————-+| 20 | 47 |+——-+——————-+1 row in set (0.02 sec)

注意:当查询未指定 CF_ID 或 LEVEL 等值条件时,会拉取所有节点、所有层级的 SST 文件明细,在 SST 文件数量较多的集群中可能造成较大的 RPC 开销和响应延迟,建议尽量补充过滤条件缩小查询范围。

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