Apache Kylin权威指南1.6 与其他开源产品比较

简介:

1.6 与其他开源产品比较


与Apache Kylin一样致力于解决大数据查询问题的其他开源产品也有不少,比如Apache Drill、Apache Impala、Druid、Hive、Presto(Facebook)、SparkSQL等。本节试图将Kylin与它们做一个简单的比较。

从底层技术的角度来看,这些开源产品有很大的共性,一些底层技术几乎被所有的产品一致采用,Kylin也不例外。

大规模并行处理:可以通过增加机器的方式来扩容处理速度,在相同的时间里处理更多的数据。

列式存储:通过按列存储提高单位时间里数据的I/O吞吐率,还能跳过不需要访问的列。

索引:利用索引配合查询条件,可以迅速跳过不符合条件的数据块,仅扫描需要扫描的数据内容。

压缩:压缩数据然后存储,使得存储的密度更高,在有限的I/O速率下,在单位时间里读取更多的记录。

综上所述,我们可以注意到,所有这些方法都只是提高了单位时间内处理数据的能力,当大家都一致采用这些技术时,它们之间的区别将只停留在实现层面的代码细节上。最重要的是,这些技术都不会改变一个事实,那就是处理时间与数据量之间的正比例关系。当数据量翻倍时,MPP(在不扩容的前提下)需要翻倍的时间来完成计算;列式存储需要翻倍的存储空间;索引下符合条件的记录数也会翻倍;压缩后的数据大小也还是之前的两倍。因此查询速度也会随之变成之前的两倍。当数据量成十倍百倍地增长时,这些技术的查询速度就会成十倍百倍地下降,最终变得不能接受。

Apache Kylin的特色在于,在上述的底层技术之外,另辟蹊径地使用了独特的Cube预计算技术。预计算事先将数据按维度组合进行了聚合,将结果保存为物化视图。经过聚合,物化视图的规模就只由维度的基数来决定,而不再随着数据量的增长呈线性增长。以电商为例,如果业务扩张,交易量增长了10倍,只要交易数据的维度不变(供应商/商品数量不变),聚合后的物化视图将依旧是原先的大小,查询的速度也将保持不变。

与那些类似产品相比,这一底层技术的区别使得Kylin从外在功能上呈现出了不同的特性,具体如下。

SQL接口:除了Druid以外,所有的产品都支持SQL或类SQL接口。巧合的是,Druid也是除了Kylin以外,查询性能相对更好的一个。这点除了Druid有自己的存储引擎之外,可能还得益于其较为受限的查询能力。

大数据支持:大多数产品的能力在亿级到十亿级数据量之间,再大的数据量将显著降低查询的性能。而Kylin因为采用预计算技术,因此查询速度不受数据量限制。有实际案例证明数据量在千亿级别时,Kylin系统仍然能够保有秒级别的查询性能。

查询速度:如前文所述,一般产品的查询速度都会不可避免地随着数据量的增长而下降,而Kylin则能够在数据量成倍增长的同时,查询速度保持不变,而且这个差距也将随着数据量的成倍增长而变得愈加明显。

吞吐率:根据之前的实验数据,Kylin的单例吞吐量一般在每秒70个查询左右,并且可以线性扩展,而普通的产品因为所有计算都在查询时完成,所以需要调动集群的更多资源才能完成查询,通常极限在每秒20个查询左右,而且扩容成本较高,需要扩展整个集群。相对的,Kylin系统因为瓶颈不在整个集群,而在于Kylin服务器,因此只需要增加Kylin服务器就能成倍地提高吞吐率,扩容成本低廉。

相关文章
|
3月前
|
消息中间件 Kafka Apache
Apache Flink 是一个开源的分布式流处理框架
Apache Flink 是一个开源的分布式流处理框架
598 5
|
5月前
|
算法 Java Go
Apache Zeppelin 番外篇——参与开源的得与失
Apache Zeppelin 番外篇——参与开源的得与失
40 0
|
6月前
|
数据采集 分布式计算 Hadoop
开源数据质量解决方案——Apache Griffin入门宝典(上)
开源数据质量解决方案——Apache Griffin入门宝典
185 0
|
2月前
|
存储 SQL 分布式计算
KIP-5:Apache Kylin深度集成Hudi
KIP-5:Apache Kylin深度集成Hudi
30 0
|
2月前
|
监控 Java Apache
|
4月前
|
SQL 数据可视化 大数据
【开源项目推荐】Apache Superset——最优秀的开源数据可视化与数据探索平台
【开源项目推荐】Apache Superset——最优秀的开源数据可视化与数据探索平台
150 1
|
4月前
|
SQL 关系型数据库 Apache
Flink CDC 是一个基于 Apache Flink 的开源库
Flink CDC 是一个基于 Apache Flink 的开源库
74 7
|
9月前
|
存储 SQL 运维
开源免费用|Apache Doris 2.0 推出跨集群数据复制功能
Apache Doris 2.0 正式推出 CCR 跨集群数据复制功能,为企业提供更加可靠和高效的数据分析系统
|
10月前
|
SQL 分布式计算 监控
EMR Workflow 开启公测,100%兼容开源 Apache DolphinScheduler
EMR Workflow 是一个全托管的工作流和任务调度服务,100%兼容开源 Apache DolphinScheduler。它提供了易于使用的调度服务,您可以通过可视化的操作界面轻松地管理工作流和任务,高效构建数据仓库,并为生产任务的稳定运行提供保障。
607 1
|
11月前
|
分布式计算 前端开发 JavaScript
Apache kylin 4 源码环境构建
Apache kylin 4 源码环境构建
90 0

推荐镜像

更多