谈对Kylin、KE(Kyligence Enterprise)、PostgreSql的一些感受

2022-03-29 00:00:00 数据 优化 建模 维度 剪枝

  前言:

我们知道,对很大的数据表比如说几十T,我们经常使用设定定时器让Hive使用SQL转成MR,帮我们算出结果。我们需要让Hive为我们计算一段时间内的数据。但是如果对于一些场景,比如说数据分析师,经常想要很快的让数据库展现结果。然后这时候,可以采用PostgreSql使用citus插件进行分库分表,达到比较快的计算速度。当然也可以使用Kylin(开源版)、KE(Kylin企业版)进行预运算,讲数据结果存储到Hbase,这样相比Hive可以达到很好的效果(实际就是以空间换时间,因为预运算会将很多可能要算的结果先帮我们算好,存储到Hbase)。。

本文不做具体知识的讲解,只是谈谈一些自己在工作中的经历。

另附一些大数据学习书籍pdf,增添了《Kylin编程指南》,资源均来自网络,个人将它们整合在一起而已。

若链接失效请联系

https://pan.baidu.com/s/1R6-4ey91993iK6c-6BnoLQ

密码:qjuk



我们知道,使用Kylin对数据进行查询之前,要先为表创建好模型(包含维度、度量),然后对模型创建好cube,再进行build。

先来谈一谈优化,对build出来的cube膨胀率不能超过1000%,对cube优化无疑就是剪枝。

剪枝包含(衍生维度、聚合维度、强制维度等等) 具体可看http://bigdata.51cto.com/art/201705/538648.htm

你会发现无论你自己人工的在Kylin下进行优化,效果还是比企业版自动建模差的多(可能自己弱的问题)。KE是专门对你仍的SQL语句进行建模,多少条SQL语句就有多少条聚合组。在Kylin下模仿KE的建模,后cube构建时间差一点,但是查询时间就慢很多,毕竟企业版底层肯定还会进行查询优化,个人的话就知道rowkey的设计。

希望道友也能发下自己对这些东西使用的感受,毕竟现在这东西刚萌芽

相关文章