Snowflake中average_depth及overlap depth的具体含义是什么?
Snowflake中
average_depth与overlap depth的清晰定义 首先,官方文档对average_depth的描述为:
Average overlap depth of each micro-partition in the table.
以下是两个术语的准确解释:
1. overlap depth(重叠深度)
overlap depth是针对单个微分区的指标,指的是当前微分区的聚类键(或排序键)取值范围,与表内其他微分区的取值范围存在交集的数量。
Snowflake的微分区是数据存储的最小单元,当数据插入或加载时未按聚类键有序写入,就会导致不同微分区的取值范围出现重叠。比如一张按order_date聚类的订单表,若分批插入无序的跨时间范围数据,就会出现多个微分区的order_date范围互相覆盖,此时每个微分区的overlap depth就是和它范围重叠的其他微分区的总数。
2. average_depth(平均重叠深度)
average_depth是表内所有微分区的overlap depth的算术平均值,用来衡量表的微分区在聚类键上的碎片化程度:
- 数值越低,说明微分区的取值范围越规整、重叠越少,查询时Snowflake能精准定位到更少的微分区,查询性能更优;
- 数值越高,说明微分区重叠情况严重,查询需要扫描更多微分区,会增加耗时和资源消耗。
内容的提问来源于stack exchange,提问作者Sahand
相关产品推荐
相关产品推荐

