联机数据分析 OLAP:Kylin 入门
Apache Kylin 是一个开源的分布式分布引擎,提供了 Hadoop 之上的 SQL 查询查询和多维 OLAP 分析,支持超大规模数据,可以支持 TB 到 PB 级数据量,并在秒级返回结果。
主要特征
Kylin 具有典型的 MOLAP 特征,当前流行的 SQL-on-Hadoop 方案需要扫描部分或全部数据方式完成查询,导致查询延时很大,Kylin 在此基础之上,通过预计算立方体,以空间换时间,大幅降低查询延时,从而弥补了现有方案的不足。
Kylin 旨在减少 Hadoop 在 10 亿以及百亿规模以上的数据级别情况下的查询延时,具有如下的特征:
底层数据基于 HBase,具有较强的可伸缩性。
为 Hadoop 数据提供了 ANSI-SQL 接口,且支持大多数 ANSI-SQL 函数。
支持秒级延迟情况下对 Hadoop 进行交互式查询。
用户可以自定义数据模型,且能够预建超 10 亿原始数据记录的数据模型。
可与其他 BI 工具无缝集成,如 Tableau、PowerBInd 等,并提供了标准的 JDBC、ODBC 接口。
可分布式部署,查询服务器可水平扩展。
发展历史
架构
Kylin 的核心思想是预计算,即对多维分析可能用到的度量进行预先计算,将计算好的结果保存成 Cube,供查询时直接访问。把高度复杂的聚合计算、多表连接等操作转换成对预计算结果的查询,这决定了 Kylin 拥有快速查询和高并发能力。预先计算 OLAP Cube 的目标是事先按照各个维度组合聚合变量,将复杂的 SQL 查询转换为简单的 KV 查询,避免查询是扫描过多数据,提升查询效率。
参考资料
《Hadoop 构造数据仓库实践》
版权声明: 本文为 InfoQ 作者【正向成长】的原创文章。
原文链接:【http://xie.infoq.cn/article/090000b22d59360f81a159eea】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论