11.15 超高速的大数据OLAP——Kylin

超高速的大数据OLAP——Kylin

一、kylin概述

Kylin 的使命是超高速的大数据OLAP(Online Analytical Processing ),也就是要让大数据分析像使用数据库一样简单迅速,用户的查询请求可以在秒内返回,交互式数据分析将以前所未有的速度释放大数据里潜藏的知识和信息,让我们在面对未来的挑战时占得先机 。

二、为什么要用kylin

“SQL on Hadoop”技术应运而生,其中以Hive为代表,Impala、Presto、Phoenix 、Drill、Spark SQL 等紧随其后。它们的主要技术是“**大规模并行处理**”(Massive Parallel Processing ,MPP)和“列式存储”(Columnar Storage)。大规模并行处理可以调动多台机器一起进行并行计算,*用线性增加的资源来换取计算时间的线性下降*。列式存储则将记录按列存放,这样做不仅可以在访问时只读取需要的列,还可以利用存储设备擅长连续读取的

特点,大大提高读取的速率。这两项关键技术使得Hadoop上的SQL查询速度从小时提高到了分钟。

然而分钟级别的查询响应仍然离交互式分析的现实需求还很远。

这是因为大规模并行处理和列式存储虽然提高了计算和存储的速度,但并没有改变查询问题本身的时间复杂度,也没有改变查询时间与数据量成线性增长的关系这一事实。

超高速的大数据OLAP——Kylin

三、kylin怎样解决问题

Apache Kylin的初衷就是要解决千亿条、万亿条记录的秒级查询问题,其中的关键就是要打破查询时间随着数据量成线性增长的这个规律。

大数据查询要的一般是统计结果,是多条记录经过聚合函数计算后的统计值,。原始的记录则不是必需的,或者访问频率和概率都极低。

聚合是按维度进行的,由于业务范围

和分析需求是有限的,有意义的维度聚合组合也是相对有限的,一般不会随着数据的膨胀而增长。

基于以上两点,我们可以得到一个新的思路——**“预计算”**。应尽量多地预先计算聚合结果,在查询时刻应尽量使用预算的结果得出查询结果,从而避免直接扫描可能无限增长的原始记录。

**“预计算” 就是Kylin在“大规模并行处理”和“列式存储”之外,提供给大数据分析的第三个关键技术 。**

超高速的大数据OLAP——Kylin


分享到:


相關文章: