优化Cube,除了剪枝还可以这么做
坚持原创,写好每一篇文章
对于Cube的性能优化,除了使用对Cube剪枝外,还有其他的策略,比如及时清理没有用的Segment等,这篇文章就说说除了Cube剪枝外其他的Cube性能优化策略。
及时清理没有用的Segment
Segment占用一定的内存,如果不及时清理的话,Cube的性能也会下降。在Cube的列表中可以选择具体的Cube然后选择动作中的合并功能进行合并Segment,这是手动合并的方式,自动合并是在刷新设置中设置的,可以设置自动合并的时间间隔,还可以设置最近不进行合并的天数,比如每天设置是十天合并一下,设置最近两天不合并,在产生第十一天数据的时候不会进行合并,而是在第十二天的时候开始合并前十天的,为什么会有这个参数呢,因为,如果一不小心将第十一个数据合并了,而近期的数据更新频繁,如果合并了的话会让之前的数据也连带着更新。
降低量度的精确度
降低量度精确度也是Cube性能优化的一种手段,精确度越低,占用的内存也就越少。
其他优化
除此以外还有TopN度量的优化,它让Cube只保留top几的数据,从而减少存储容量,设置编码格式减少存储容量,还有可以按照维度进行分片存储这样查询效率也会变高,,还有将经常用到的过滤条件放在前面,从而在查询的时候过滤掉很多的数据,从而保证查询效率的提高,还有Cube Planner的优化,这个我们后面再说。
总结
这篇文章讲了Cube除了剪枝以外的其他优化的功能,这些优化的手段让我们在构建Cube的时候要注意更多的细节,随着查询业务的实践,我们出现查询变慢的时候可能就知道选用什么样的优化手段了,在实践中成长。
❤️ 感谢大家
如果你觉得这篇内容对你挺有有帮助的话:
- 欢迎关注我❤️,点赞????????,评论????,转发????
- 关注
盼盼小课堂
,定期为你推送好文,还有群聊不定期抽奖活动,可以畅所欲言,与大神们一起交流,一起学习。 - 有不当之处欢迎批评指正。