当前位置: 首页 > 工具软件 > Apache Kylin > 使用案例 >

Apache Kylin的使用感受

谯振国
2023-12-01

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,可以部分解决)
  • 没有命中的情况,包括查询模型范围外的分区、维度、指标

选型建议

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

 类似资料: