Apache Kylin权威指南1.5 Apache Kylin的主要特点

简介:

1.5 Apache Kylin的主要特点


Apache Kylin的主要特点包括支持SQL接口、支持超大数据集、秒级响应、可伸缩性、高吞吐率、BI工具集成等。

1.5.1 标准SQL接口

Apache Kylin以标准SQL作为对外服务的主要接口。因为SQL是绝大多数分析人员最熟悉的工具,同时也是大多数应用程序使用的编程接口。尽管Kylin内部以Cube技术为核心,对外却没有选用MDX(MultiDimensional eXpressions)作为接口。虽然MDX作为OLAP查询语言,从学术上来说,它是更加适合Kylin的选择,然而实践表明,SQL简单易用,代表了绝大多数用户的第一需求,这也是Kylin能够快速推广的一个关键。

SQL需要以关系模型作为支撑。Kylin使用的查询模型是数据源中的关系模型表,一般而言,也就是指Hive表。终端用户只需要像原来查询Hive表一样编写SQL,就可以无缝地切换到Kylin,几乎不需要额外的学习,甚至原本的Hive查询也因为与SQL同源,大多都无须修改就能直接在Kylin上运行。

Apache Kylin在将来也可能会推出MDX接口。事实上已经有方法可以通过MDX转SQL的工具,让Kylin也能支持MDX。

1.5.2 支持超大数据集

Apache Kylin对大数据的支撑能力可能是目前所有技术中最为领先的。早在2015年eBay的生产环境中Kylin就能支持百亿记录的秒级查询,之后在移动的应用场景下又有了千亿记录秒级查询的案例。这些都是实际场景的应用,而非实验室中的理论数据。

因为使用了Cube预计算技术,在理论上,Kylin可以支撑的数据集大小没有上限,仅受限于存储系统和分布式计算系统的承载能力,并且查询速度不会随数据集的增大而减慢。Kylin在数据集规模上的局限性主要在于维度的个数和基数。它们一般由数据模型来决定,不会随着数据规模的增长而线性增长,这也意味着Kylin对未来数据的增长有着更强的适应能力。

如今(截至2016年5月),对于Apache Kylin,除了eBay将其作为孵化公司有广泛应用之外,国内外一线的互联网公司对此几乎都有大规模的使用,包括百度、网易、京东、美团、唯品会、Expedia等。此外,其在传统行业中也有非常多的实际应用,包括中国移动、银联、国美等。据不完全统计,真实上线的Apache Kylin用户已经超过了一百多家,在开源后一年多一点的时间内能有如此大的全球用户基础,足见Kylin在处理超大规模数据集上的能力和优势。

1.5.3 亚秒级响应

Apache Kylin拥有优异的查询响应速度,这点得益于预计算,很多复杂的计算,比如连接、聚合,在离线的预计算过程中就已经完成,这大大降低了查询时刻所需要的计算量,提高了响应速度。

根据可查询到的公开资料可以得知,Apache Kylin在某生产环境中90%的查询可以在3s内返回结果。这并不是说一小部分SQL相当快,而是在数万种不同SQL的真实生产系统中,绝大部分的查询都非常迅速;在另外一个真实的案例中,对1000多亿条数据构建了立方体,90%的查询性能都在1.18s以内,可见Kylin在超大规模数据集上表现优异。这与一些只在实验室中,只在特定查询情况下采集的性能数据不可同日而语。当然并不是使用Kylin就一定能获得最好的性能。针对特定的数据及查询模式,往往需要做进一步的性能调优、配置优化等,性能调优对于充分利用好Apache Kylin至关重要。

1.5.4 可伸缩性和高吞吐率

在保持高速响应的同时,Kylin有着良好的可伸缩性和很高的吞吐率。图1-5是来自网易的性能分享。图1-5中左侧是Kylin查询速度与Mondrian/Oracle的对比,可以看到在3个测试查询中,Kylin分别比Mondrian/Oracle快147倍、314倍和59倍。

同时,图1-5中右侧展现了Kylin的吞吐率及其可伸缩性。在只有1个Kylin实例的情况下,Kylin每秒可以处理近70个查询,已经远远高于每秒20个查询的一般水平。更为理想的是,随着服务器的增加,吞吐率也呈线性增加,存在4个实例时可达到每秒230个查询左右,而这4个实例仅部署在一台机器上,理论上添加更多的应用服务器后可以支持更大的并发率。

 

图1-5 Kylin的可伸缩性和吞吐率

这主要还是归功于预计算降低了查询时所需的计算总量,令Kylin可以在相同的硬件配置下承载更多的并发查询。

1.5.5 BI及可视化工具集成

Apache Kylin提供了丰富的API,以与现有的BI工具集成,具体包括如下内容。

ODBC接口,与Tableau、Excel、Power BI等工具集成。

JDBC接口,与Saiku、BIRT等Java工具集成。

Rest API,与JavaScript、Web网页集成。

分析师可以沿用他们最熟悉的BI工具与Kylin一同工作,或者在开放的API上做二次开发和深度定制。

另外,Kylin核心开发团队也贡献了Apache Zeppelin的插件,现在已经可以用Zeppelin来访问Kylin服务。

相关文章
|
Apache SQL HIVE
带你读《Apache Kylin权威指南》之二:快 速 入 门
从最早使用大数据技术来做批量处理,到现在越来越多的人要求大数据平台也能够如传统数据仓库技术一样支持交互式分析,随着数据量的不断膨胀、数据平民化的不断推进,低延迟、高并发地在Hadoop之上提供标准SQL查询能力成为必须攻破的技术难题。而Apache Kylin的诞生正是基于这个背景,并成功地完成了很多人认为不可能实现的突破。
|
1月前
|
存储 SQL 分布式计算
KIP-5:Apache Kylin深度集成Hudi
KIP-5:Apache Kylin深度集成Hudi
28 0
|
10月前
|
分布式计算 前端开发 JavaScript
Apache kylin 4 源码环境构建
Apache kylin 4 源码环境构建
85 0
|
资源调度 Linux 分布式数据库
【Kylin】(二)Apache Kylin 环境搭建
【Kylin】(二)Apache Kylin 环境搭建
215 0
【Kylin】(二)Apache Kylin 环境搭建
|
SQL 存储 分布式计算
【Kylin】(一)初识 Apache Kylin 2
【Kylin】(一)初识 Apache Kylin 2
266 0
【Kylin】(一)初识 Apache Kylin 2
|
SQL 存储 分布式计算
【Kylin】(一)初识 Apache Kylin 1
【Kylin】(一)初识 Apache Kylin 1
215 0
【Kylin】(一)初识 Apache Kylin 1
|
SQL 存储 人工智能
从给丈母娘榨果汁带你认识Apache Kylin(文末赠书)
从给丈母娘榨果汁带你认识Apache Kylin(文末赠书)
从给丈母娘榨果汁带你认识Apache Kylin(文末赠书)
|
存储 SQL 分布式计算
Apache Kylin 云原生架构的思考及规划
在 1 月 4 号 ECUG 技术大会的分享中,Kyligence 的 CEO Luke Han 为大家带来了主题为《Apache Kylin 云原生架构的思考及规划》的精彩演讲,分享了 Kylin 如何拥抱云原生这一趋势。以下为演讲实录。
Apache Kylin 云原生架构的思考及规划
|
存储 Hbase 分布式数据库
带你读《Apache Kylin权威指南》之三:Cube优化
从最早使用大数据技术来做批量处理,到现在越来越多的人要求大数据平台也能够如传统数据仓库技术一样支持交互式分析,随着数据量的不断膨胀、数据平民化的不断推进,低延迟、高并发地在Hadoop之上提供标准SQL查询能力成为必须攻破的技术难题。而Apache Kylin的诞生正是基于这个背景,并成功地完成了很多人认为不可能实现的突破。
|
1月前
|
消息中间件 API Apache
官宣|阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会
本文整理自阿里云开源大数据平台徐榜江 (雪尽),关于阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会。
1409 1
官宣|阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会

热门文章

最新文章

推荐镜像

更多