大家好,欢迎来到IT知识分享网。
Apache Kylin 和 Apache Doris 都是优秀的开源OLAP系统,Kylin和Doris分别是MOLAP和ROLAP的代表。
一、Apache Kylin
Apache Kylin是一个开源的、分布式的分析型数据仓库,提供 Hadoop/Spark 之上的 SQL 查询接口及多维分析(OLAP)能力以支持超大规模数据,并且能在亚秒内查询巨大的表。
Apache Kylin 可以很好地解决海量数据的多维分析问题,并且具有亚秒级的查询响应速度。不但如此,Kylin 还具有以下几个无可比拟的优点:
- 具有标准化的 SQL 支持:提供了 JDBC/ODBC/Rest API 接口,便于做系统集成。
- 亚秒级的查询速度:这一点是难能可贵的,在大数据领域,将查询速度提高到亚秒级,凤毛麟角。这不单单是查询速度的提升,更是用户体验的巨大提升。
- 事实表大小不影响查询速度:随着数据量的不断增长,其他的 OLAP 引擎都会有不同程度的查询速度下降。反观 Kylin,数据的增长只会影响 cube 的构建速度,对查询速度影响很小。
- 集群要求低且服务稳定,中小企业也养得起 Kylin。
如此可见,Kylin 的优点很多很突出,但不可否认的是它也存在着不足:
- Cube 优化门槛较高:需要专门的学习与实践。
- 只适用于模式固定的多维分析:也就是说模型不能总变。
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的特点:
- 同时支持高并发点查询和高吞吐的Ad-hoc查询
- 同时支持离线批量导入和实时数据导入
- 同时支持明细和聚合查询
- 兼容MySQL协议和标准SQL
- 支持Rollup Table和Rollup Table的智能查询路由
- 支持较好的多表Join策略和灵活的表达式查询
- 支持Schema在线变更
- 支持Range和Hash二级分区
三、Doris和Kylin简要分析比较
下图中使用Kylin作为主要MOLAP引擎。MOLAP是预计算生产,在增量业务,预设维度分析场景下表现良好。但是,应对非预设维度分析,MOLAP模型需要重新进行适配计算,也需要一定的迭代工作。架构上通过MOLAP+ROLAP双引擎模式来适配不同应用场景,如下图所示:
以Doris引擎为驱动的ROLAP模式可以较好地处理汇总与明细、变化维的历史回溯、非预设维的灵活应用、准实时的批处理等场景。而以Kylin为基础的MOLAP模式在处理增量业务分析,固化维度场景,通过预计算以空间换时间方面依然重要。
四、社区生态和用户
Doris社区刚刚起步,目前核心用户是百度,还有小米和美团。
Kylin的社区和生态已经比较成熟,目前已经在多家大型公司的生产环境中使用。国内外一线的互联网公司几乎都大规模地使用Apache Kylin,包括美团、百度、网易、京东、唯品会、小米、Strikingly、Expedia、Yahoo!JAPAN、Cisco等。此外,在传统行业中也有非常多的实际应用,包括中国移动、中国联通、中国银联、太平洋保险等。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/87057.html