设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

Kylin正式发布:面向大数据的终极OLAP引擎方案

2014-10-27 16:48| 发布者: joejoe0332| 查看: 2690| 评论: 0|原作者: CSDN|来自: CSDN

摘要: 日前,eBay公司隆重宣布已经正式向开源业界推出分布式分析引擎:Kylin(http://kylin.io)。作为一套旨在对Hadoop环境下分析流程进行加速、且能够与SQL兼容性工具顺利协作的解决方案,Kylin成功将SQL接口与多维分析 ...


架构

  以下图表所示为Kylin的高层架构。 
                   


  以上图表勾勒出Cube构建引擎(Cube Build Engine)是如何以离线处理方式将关系型数据转化成键-值型数据的。其中的黄线部分还表现出在线分析数据的处理流程。数据请求可以利用基于SQL的工具由SQL提交而产生,或者利用第三方应用程序通过Kylin的RESTful服务来实现。RESTful服务会调用Query Engine,后者则检测对应的目标数据集是否真实存在。如果确实存在,该引擎会直接访问目标数据并以次秒级延迟返回结果。如果目标数据集并不存在,该引擎则会根据设计将无匹配数据集的查询路由至Hadoop上的SQL处、即交由Hive等Hadoop集群负责处理。 


以下为关于Kylin平台内所有组件的详细描述。
 
•元数据管理工具(Metadata Manager): Kylin是一款元数据驱动型应用程序。元数据管理工具是一大关键性组件,用于对保存在Kylin当中的所有元数据进行管理,其中包括最为重要的cube元数据。其它全部组件的正常运作都需以元数据管理工具为基础。 
•任务引擎(Job Engine): 这套引擎的设计目的在于处理所有离线任务,其中包括shell脚本、Java API以及Map Reduce任务等等。任务引擎对Kylin当中的全部任务加以管理与协调,从而确保每一项任务都能得到切实执行并解决其间出现的故障。 
•存储引擎(Storage Engine): 这套引擎负责管理底层存储——特别是cuboid,其以键-值对的形式进行保存。存储引擎使用的是HBase——这是目前Hadoop生态系统当中最理想的键-值系统使用方案。Kylin还能够通过扩展实现对其它键-值系统的支持,例如Redis。 
•REST Server:  REST Server是一套面向应用程序开发的入口点,旨在实现针对Kylin平台的应用开发工作。 此类应用程序可以提供查询、获取结果、触发cube构建任务、获取元数据以及获取用户权限等等。 
•ODBC驱动程序:为了支持第三方工具与应用程序——例如Tableau——我们构建起了一套ODBC驱动程序并对其进行了开源。我们的目标是让用户能够更为顺畅地采用这套Kylin平台。 
•查询引擎(Query Engine):当cube准备就绪后,查询引擎就能够获取并解析用户查询。它随后会与系统中的其它组件进行交互,从而向用户返回对应的结果。 


  在Kylin当中,我们使用一套名为Apache Calcite的开源动态数据管理框架对代码内的SQL以及其它插入内容进行解析。Calcite架构如下图所示。(Calcite最初被命名为Optiq,由Julian Hyde所编写,但如今已经成为Apache孵化器项目之一。) 

              


Kylin在eBay公司中的应用

  在对Kylin进行开源化处理的同时,我们已经在eBay公司的多个业务部门当中将其应用于生产实践。其中规模最大的用例就是对由120多亿条源记录所生成的超过14TB cube数据进行分析。90%的查询请求都能在5秒钟之内获取到返回结果。现在,我们拥有更多面向分析师以及业务用户的用例,他们能够访问这些分析机制并轻松通过Tableau仪表板获取相关结果——而不再需要借助Hive查询或者shell命令等复杂机制。 


下一步发展规划

•  在高基数维度上支持TopN算法(即对大量对象进行排序并从中选取前N位结果):目前的MOLAP技术在高基数维度上进行查询时的表现尚算不上完美——例如对单一列中的数百万个不同值进行TopN运算。 

与各类搜索引擎类似(正如众多研究人员所指出),倒排索引是此类预构建结果的理想匹配机制。 
•  支持混合OLAP(简称HOLAP):MOLAP在历史数据查询领域拥有出色的实际表现,但由于越来越多数据需要以实时方式加以处理,因此我们需要尽快将实时/近实时处理结果与历史结果结合起来、以作为业务决策中的参考信息。很多内存内技术方案已经能够以关系型OLAP(简称ROLAP)的方式满足上述需求。而Kylin的下一代版本将成为混合OLAP(简称HOLAP),即结合MOLAP与ROLAP双方的优势以带来单一一套面向前端查询的入口点方案。 


开源

  Kylin已经以开源姿态被交付至技术社区。为了以Kylin为核心发展出更为强大的生态系统,我们目前正提议将Kylin转化为Apache孵化器项目。在Owen O’Malley(Hortonworks公司联合创始人兼Apache成员)与Julian Hyde(Apache Calcite缔造者,目前供职于Hortonworks公司)等Hadoop开发者社区支持者的鼎力协助,我们相信Kylin足以乘开源社区这股强劲的东风顺利跨入新的纪元。 


  我们欢迎大家加入到Kylin贡献者阵营中来,感兴趣的朋友请点击以下链接以访问Kylin网站并获取更多详尽信息:http://kylin.io


  作为起步,大家并不一定马上就要对核心代码库进行开源贡献,从以下方面着手也是不错的选择:
 
1.  Shell客户端
2.  RPC服务器
3.  任务调度
4.  工具


  要获取更多细节信息或者进一步探讨上述议题,大家可以在twitter上关注我们@KylinOLAP或者加入我们的谷歌群组:
 
https://groups.google.com/forum/#!forum/kylin-­‐olap 


总结

  Kylin已经在eBay公司内部融入生产环境,专门负责处理规模极端庞大的数据集。这套平台拥有显著的性能优势,实践证明其能够帮助分析师们轻松借助自己所为熟悉的工具对Hadoop当中的数据进行充分利用。我们也乐于推出Kylin的开源版本。欢迎大家给出自己的反馈与建议,我们期待着您参与到这个开源大家庭中来。


转自:http://www.csdn.net/article/2014-10-25/2822286


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部