Apache Kylin的使用感受

Apache Kylin(包括孪生产品Kyligence)是由国人主导的开源大数据OLAP引擎。这是一款优点和缺点都很明显的产品。

简史

  • 2013年中,ebay中国开启了一个OLAP-on-Hadoop项目,用以解决BI-on-Hadoop的性能问题。
  • 2014年9月,正式命名为kylin并在ebay内部上线
  • 2014年10月1号,kylin发布到github,正式开源
  • 2014年11月,加入apache基金会的孵化项目
  • 2015年11月,孵化项目毕业,成为apache顶级项目
  • 2016年3月,kylin的核心成员成立kyligence,提供商业化服务

架构

Kylin的整体架构比较简单易懂,几句话就能描述清楚。

  • 数据源(Hive,CSV文件,kafka,RDBMS)
  • HBase作为预计算Cube的存储中心
  • Kylin提供模型定义接口,接受SQL等信息
  • Kylin根据模型定义,从数据源读取数据,预计算,保存结果到HBase
  • Kylin提供查询接口,直接中Hbase读取预计算好的结果

kyligence引入了clickhouse,可以提供大宽表现场查询、明细查询等功能。

优点

以空间换时间,无论多么复杂的查询,只要命中预计算的结果,可以亚秒级返回。

缺点

  • 空间耗费较大。这是预计算的必然结果,可以说是kylin的基因。特别是当有过多维度和维度组合时。
  • 如果维度基数较高,可能导致OOM。维度基数指的是维度不同值的个数。虽然可以通过调整参数解决OOM的问题,但也说明kylin在这种情况下内存耗费严重。
  • 无明细数据(kyligence引入clickhouse,可以部分解决)
  • 没有命中预计算的SQL查询较慢(kyligence引入clickhouse,可以部分解决)
  • 没有命中的情况,包括查询模型范围外的分区、维度、指标

选型建议

适合离线计算、聚合计算、存储空间充裕、查询灵活度要求不高的场景。例如周期报表。这几个适应条件是“与”的关系。
如果想要实时计算,或明细查询,或存储空间相对受限,或对查询灵活度要求较高,则应当选择其他查询引擎。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值