Kylin: 来自 eBay 的 OLAP 分析引擎

  • 李士窑

2014 年 10 月 15 日

话题:语言 & 开发架构

Kylin 是一个开源、分布式的OLAP分析引擎, 它由 eBay 公司开发,并且基于 Hadoop 提供了 SQL 接口和 OLAP 接口,能够支持 TB 到 PB 级别的数据量。从Kylin 官网得知,它具有以下特性:

  • 超级快的 OLAP 分析引擎,并具备较强的可伸缩性

    Kylin 旨在减少 Hadoop 在 10 亿行以上数据级别的情况下的查询延迟。

  • 为 Hadoop 提供 ANSI-SQL 接口

    Kylin 为 Hadoop 提供了 ANSI-SQL 接口,并且支持大多数的 ANSI-SQL 的函数。

  • 交互式查询能力

    用户能够通过 Kylin 在秒级别的延迟状况下同 Hadoop 进行交互,并且对于相同的数据。集效果优于 Hive 的查询

  • 多维联机分析处理数据仓库(MOLAP Cube)

    用户能够定义数据模型,并且通过 Kylin 能够预建超过 10 多亿行原始数据记录的数据模型。

  • 数据模型可与其他 BI 工具无缝集成

    目前,Kylin 提供了同 BI 工具无缝集成的功能,如 Tableau。

  • 其他值得关注的特性

    具有作业管理和监控的功能、具有简单易用的 Web 操作界面、支持数据压缩和编码、支持 LDAP 集成、能够利用 HBase 的 Coprocessor 降低查询延迟等。

支持 Kylin 能够良好运行的生态系统包括以下组成部分:

  • Kylin的核心部分

    Kylin 的 OLAP 引擎框架包括元数据引擎、查询引擎、作业引擎、存储引擎以及用来处理客户端请求的 REST 服务器

  • 可扩展的组件部分

    包括支持更多功能的插件, 如 HBase 的 Coprocessor、Hive 等。

  • 集成的组件部分

    生命周期管理器支持集成作业调度器、ETL 工具、监控和报警系统。

  • 用户界面部分

    允许第三方用户基于 Kylin 核心组件定制自己的用户界面。

  • 驱动部分

    ODBC 和 JDBC 驱动能够支持不同的工具和产品,如 Tableau。

Kylin 是开源的 OLAP 分析引擎,OLAP 即联机分析处理,它能够帮助分析人员、管理人员或执行人员从多角度快速、一致、交互地存取信息和更加深入的了解信息。OLAP 的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求。目前,比较著名的开源 OLAP 分析引擎还有LemurMondrian。Lemur 是用 C++ 编写的面向混合型联机分析处理 (HOLAP) 的引擎,它能够被其他语言的程序所调用,支持切片、切块和旋转等基本操作。Mondrian 是用 JAVA 编写的面向关系型联机分析处理(ROLAP)引擎,它符合 XML 和 XMLA 协议,可以完成异构平台下的数据通信。Mondrian 被设计运行在关系数据库上,提供基于 JAVA 的 API 供应用程序调用展示结果。 另外,Kylin 的源代码托管在GitHub上,更多 Kylin 相关信息,读者可登录其官网或者 GitHub 查看。


感谢郭蕾对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

语言 & 开发架构