创建分区表时,如果分区设置不合理,将会影响查询性能、去重效率、集群稳定性。ByteHouse 诊断分析功能支持分区健康度监控和诊断,帮助您可视化查看分区情况,提供分区诊断信息,辅助您优化分区表。
使用限制
- 使用前,请确认您的引擎为 v2.3 及以上版本。您可以在 ByteHouse 控制台的租户管理>基本信息页面查看您当前的引擎版本。
- 该功能为 Beta 功能,请提交工单或联系 ByteHouse 团队获取白名单权限。
分区健康度诊断指标说明
ByteHouse 基于 parts 数量、parts 大小、总数据量(rows)、bucket 量等指标计算分区碎片数、Unique 表行数,根据计算结果判断分区健康度,具体指标及计算方式如下:
诊断项 | 计算方式 | 潜在影响 | 健康 | 不健康 | 说明 |
---|
Parts 数 | 读取分区下的文件块。 | Parts 数量过多将会影响查询性能。 | < 100,000
| >= 100,000
| ByteHouse 当前合并了 parts 数和 parts 平均大小两个指标,用来计算分区碎片数,判断分区健康度。只有当两个指标均在不健康阈值范围内,系统才会判定为不健康。 |
Parts 平均大小 | Parts 大小/Parts 数 | 如果 parts 平均大小过小,可能代表 merge 不充分,可能会导致 parts 过多。 | >= 50 MB
| < 50 MB
|
Unique 表行数 | - 不存在 bucket 数时,Unique 表行数=总行数(预估);
- 存在 bucket 数时,Unique 表行数=总行数(预估)/Bucket 数。
| Unique 表行数过多将会影响去重效率。 | < 100,000,000
| >= 100,000,000
| 无 |
查看分区诊断信息
- 在 ByteHouse 控制台上,单击诊断分析>分区健康度页签,进入分区健康度页面,单击操作列查看详情按钮,查看某个数据表分区健康度诊断详情。
- 在诊断详情页面,您可查看数据表分区基本信息和诊断详情。
- 基本信息模块展示了数据表的分区键、分区值、总行数、bucket 数、parts 数、parts 总量等信息。
- 诊断详情模块根据 parts 数、parts 平均大小、Unique 表行数等诊断项及其当前值给出诊断结果。您可根据诊断结果调整分区,提升分区健康度。
