- 基于kylin-3.0
聚合组
- 聚合组(Aggregation Group)是一个强大的减枝工具,可以在Cube Designer的Advanced Settings里设置不同的聚合组。聚合组将一个Cube的所有维度根据业务需求划分成若干组(当然也可以只有一个组),同一个组内的维度更可能被同一个查询用到,因此表现出更加紧密的内在关联。不同组之间的维度在绝大多数业务场景里面不会用在同一个查询里,因此只有在很少的Cuboid里他们才有联系。所以如果一个查询需要同时使用两个聚合组里的维度,一般从一个较大的Cuboid在线聚合得到结果,这通常也意味这整个查询会比较耗时。
- 每个分组的维度集合是Cube的所有维度的一个子集,分组之间可能有相同的维度,也可能完全没有相同的维度。每个分组各自独立地根据自身的规则产生一批需要被物化的Cuboid,所有分组产生的Cuboid的并集就形成了Cube中全部需要物化的Cuboid。不同的分组有可能会贡献出相同的Cuboid,构建引擎会察觉到这点,并且保证每一个Cuboid无论在多少个分组中出现,都只会被物化一次。
聚合组重叠示意 - 在实际的设计中,维度组是很好的维度减枝方案,需要进行配合业务方向上的优化。
- 需要将这个应用到实际设计中。
网友评论