功能
Compaction 是 TDStore 存储引擎的后台合并操作,通过合并 SST 文件减少读放大。
INFORMATION_SCHEMA.TDSTORE_ACTIVE_COMPACTION_STATS 用于展示当前集群中所有节点正在进行的 Compaction 任务,可用于定位 IO 或性能抖动、确认 Compaction 执行进度。字段说明
字段名 | 类型 | 描述 |
THREAD_ID | BIGINT | 执行 Compaction 任务的线程 ID。 |
CF_NAME | VARCHAR(513) | Column Family(列族)名称。 |
INPUT_LEVEL | INT | Compaction 的最小输入层级。 |
INPUT_FILES | VARCHAR(513) | Compaction 输入文件名称列表,以逗号分隔,仅显示文件名不含路径。 |
COMPACTION_REASON | VARCHAR(513) | Compaction 触发的原因,例如 ManualCompaction、LevelL0FilesNum、LevelMaxLevelSize、TDStoreManualCompaction 等。 |
NODE_NAME | VARCHAR(513) | TDStore 存储节点名称。 |
示例
tdsql> SELECT * FROM tdstore_active_compaction_stats\\G*************************** 1. row ***************************THREAD_ID: 140352025515776CF_NAME: user_regionINPUT_LEVEL: 2INPUT_FILES: 022050.sst,022052.sst,022055.sst,022058.sst,022060.sst,...COMPACTION_REASON: ManualCompactionNODE_NAME: node-1_10_0_1_12-0011 row in set (0.00 sec)
以上结果表示:节点
node-1_10_0_1_12-001 上有一个手动触发的 Compaction 任务正在执行,涉及的列族为 user_region,输入层级为第2层。-- 按 NODE_NAME 过滤查看指定节点的 Compaction 任务tdsql> SELECT * FROM tdstore_active_compaction_stats WHERE NODE_NAME = 'node-1_10_0_1_12-001';-- 按 CF_NAME 过滤查看指定列族的 Compaction 任务tdsql> SELECT NODE_NAME, CF_NAME, COMPACTION_REASON FROM tdstore_active_compaction_stats WHERE CF_NAME = 'user_region';