Apache Kylin 和 Apache Doris 都是优秀的开源OLAP系统,Kylin和Doris分别是MOLAP和ROLAP的代表。
一、Apache Kylin
Apache Kylin是一个开源的、分布式的分析型数据仓库,提供 Hadoop/Spark 之上的 SQL 查询接口及多维分析(OLAP)能力以支持超大规模数据,并且能在亚秒内查询巨大的表。
Apache Kylin 可以很好地解决海量数据的多维分析问题,并且具有亚秒级的查询响应速度。不但如此,Kylin 还具有以下几个无可比拟的优点:
如此可见,Kylin 的优点很多很突出,但不可否认的是它也存在着不足:
Kylin的理论基础是Cube理论,每一种维度组合称之为Cuboid,所有Cuboid的集合是Cube。 其中由所有维度组成的Cuboid称为Base Cuboid,所有的Cuboid都可以基于Base Cuboid计算出来。 在查询时,Kylin会自动选择满足条件的最小Cuboid。
二、Apache Doris
Doris 由百度大数据部研发 ( 之前叫百度 Palo,2018年贡献到 Apache 区后,更名为 Doris ),在百度内部,有超过200个产品线在使用,部署机器超过1000台。
Doris是一个MPP的OLAP系统,主要整合了Google Mesa(数据模型),Apache Impala(MPP Query Engine)和Apache ORCFile (存储格式,编码和压缩) 的技术。
Apache Doris是一个现代化的MPP分析型数据库产品。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。Apache Doris的分布式架构非常简洁,易于运维,并且可以支持10PB以上的超大数据集。
Doris的特点:
三、Doris和Kylin简要分析比较
下图中使用Kylin作为主要MOLAP引擎。MOLAP是预计算生产,在增量业务,预设维度分析场景下表现良好。但是,应对非预设维度分析,MOLAP模型需要重新进行适配计算,也需要一定的迭代工作。架构上通过MOLAP+ROLAP双引擎模式来适配不同应用场景,如下图所示:
以Doris引擎为驱动的ROLAP模式可以较好地处理汇总与明细、变化维的历史回溯、非预设维的灵活应用、准实时的批处理等场景。而以Kylin为基础的MOLAP模式在处理增量业务分析,固化维度场景,通过预计算以空间换时间方面依然重要。
四、 区生态和用户
Doris 区刚刚起步,目前核心用户是百度,还有小米和美团。
Kylin的 区和生态已经比较成熟,目前已经在多家大型公司的生产环境中使用。国内外一线的互联 公司几乎都大规模地使用Apache Kylin,包括美团、百度、 易、京东、唯品会、小米、Strikingly、Expedia、Yahoo!JAPAN、Cisco等。此外,在传统行业中也有非常多的实际应用,包括中国移动、中国联通、中国银联、太平洋保险等。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!