说明
StarRocks 中 Compaction 是为了将不同版本的数据文件进行整合,合并成大文件的动作,减少系统中小文件数量,进而提升查询效率。相比于存算一体表,StarRocks 存算分离实现了新的 Compaction 调度机制,表现为:
- Compaction 调度由 FE 发起,BE执行。FE 按照 Partition 为单位来发起 Compaction 任务
- Compaction 会生成一个新版本,也走导入的写数据、commit、publish version 这套完整流程
本文提供 Compaction 相关的参数调优说明,供实践参考。关于 StarRocks 存算分离的 Compaction 原理解读,可移步这里:
丁凯:https://zhuanlan.zhihu.com/p/687354691
查看分区的 Compaction score
注意:以下命令需要连接 Leader FE 节点执行
StarRocks 在内部为每个分区(Partition) 维护了一个 Compaction Score 值,它反映了分区当前数据文件合并情况,Compaction score 越高,代表了数据文件合并程度越低。
StarRocks 提供了命令可查看 Partition 当前的 Compaction Score,FE 会以此作为发起 Compaction 任务的参考,用户也可以此作为判断当前Partition 是否存在版本数过多的依据: