功能
INFORMATION_SCHEMA.TDSTORE_LSM_LEVEL_INFO 用于展示集群中所有 hybrid 节点中,各个 ColumnFamily 按 LSM-tree 层级聚合的存储形态信息,包括每层的文件数量、总大小、平均文件大小、压缩类型分布等,用于评估 Compaction 压力和存储分布是否均衡。适用版本
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 | LSM-tree 的层级,从0开始。 |
FILE_COUNT | BIGINT UNSIGNED | 该层级的 SST 文件数量。 |
TOTAL_SIZE_BYTES | BIGINT UNSIGNED | 该层级所有 SST 文件的总大小,单位字节。 |
AVG_FILE_SIZE_BYTES | BIGINT UNSIGNED | 该层级 SST 文件的平均大小,单位字节。 |
BEING_COMPACTED_FILE_COUNT | BIGINT UNSIGNED | 该层级正在被 Compaction 的文件数量。 |
COMPRESSION_SUMMARY | VARCHAR(1024) | 该层级各压缩类型的文件数量分布摘要。 |
COMPRESSION_RATIO | VARCHAR(1024) | 该层级的压缩比。 |
使用说明
查询时可通过
WHERE CF_ID = xxx 或 WHERE LEVEL = xxx 等值条件进行下推过滤:仅拉取指定 ColumnFamily 或指定层级的数据,而非拉取全部数据后再由 SQL 层过滤,可显著减少节点间 RPC 传输数据量。目前仅支持 CF_ID、LEVEL 两个字段的等值条件下推,其余条件(如范围查询、OR 组合条件)仍由 SQL 层过滤。示例
查询所有节点、所有 ColumnFamily 的 LSM 层级分布。
tdsql> SELECT * FROM information_schema.tdstore_lsm_level_info LIMIT 3\\G*************************** 1. row ***************************NODE_NAME: node-1-001CF_NAME: user_regionCF_ID: 2LEVEL: 0FILE_COUNT: 4TOTAL_SIZE_BYTES: 268435456AVG_FILE_SIZE_BYTES: 67108864BEING_COMPACTED_FILE_COUNT: 0COMPRESSION_SUMMARY: kLZ4Compression: 4COMPRESSION_RATIO: 2.35*************************** 2. row ***************************NODE_NAME: node-1-001CF_NAME: user_regionCF_ID: 2LEVEL: 1FILE_COUNT: 10TOTAL_SIZE_BYTES: 671088640AVG_FILE_SIZE_BYTES: 67108864BEING_COMPACTED_FILE_COUNT: 0COMPRESSION_SUMMARY: kLZ4Compression: 10COMPRESSION_RATIO: 2.41...
查询指定 ColumnFamily(CF_ID = 20)第0层的文件分布,
CF_ID 和 LEVEL 的等值条件会被下推到 TDStore 节点执行。tdsql> SELECT cf_id, level, file_count, total_size_bytesFROM information_schema.tdstore_lsm_level_infoWHERE cf_id = 20 and level = 0;+-------+-------+------------+------------------+| CF_ID | LEVEL | FILE_COUNT | TOTAL_SIZE_BYTES |+-------+-------+------------+------------------+| 20 | 0 | 3 | 188743680 |+-------+-------+------------+------------------+1 row in set (0.01 sec)