Kylin中 Cube 的优化(一)

前言:

这几天基于师兄 给的《Apache+Kylin权威指南》一书已初步对Kylin有所了解,并对其预计算的设计思想叹为观止,但其以空间换时间的设计如若不进行合理的优化,cube会因为维度较多而急剧膨胀,导致消耗巨大的本不必要消耗的空间,因此,合理的优化可以构建出体积更小、查询速度更快的 cube。cube的优化主要包括cuboid的剪枝优化(减少cuboid的数量)、并发粒度的优化、Rowkeys优化、降低度量精度以及及时清理无用的Segment。本文将主要介绍 cuboid的剪枝优化初涉Kylin,必有差错,烦请读者指正。

1、为什么要剪枝?

我们知道,给定一个数据模型,我们可以对其上的所有维度进行组合。对于N个 维度来说,组合的所有可能性共有2^N 种,假设有4个维度,我们可能最终会 有2^ 4 =16个Cuboid需要计算。但在现实情况中,用户的维度数量一般远远大于4个,而如 果用户有20个维度,那么Cube中总共会存在2 ^20 =1048576个Cuboid。虽然 每个Cuboid的大小存在很大的差异,但是单单想到Cuboid的数量就足以 让人想象到这样的Cube对构建引擎、存储引擎来说压力有多么巨大。

2、如何剪枝?(参考《Apache+Kylin权威指南》机械工业出版社版,第6章第2节,P234)

官方提供了两种剪枝工具,即使用衍生维度和使用聚合组。

衍生维度(Derived [dɪˈraɪvd] Dimens

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值