Kylin的原理

2023-12-21 20:29:50

Kylin的工作原理是对数据模型做Cube预计算,并利用计算的结果加速查询。具体工作过程如下:

  1. 指定数据模型,定义维度和度量。
  2. 预计算Cube,计算所有Cuboid并保存为物化视图。
  3. 执行查询时,读取Cuboid运算,产生查询结果。

由于Kylin的查询过程不会扫描原始记录,而是通过预计算预先完成表的关联、聚合等负责运算,并利用预计算的结果来执行查询,因此相比于非预计算的查询技术,其速度一般要快到一到两个数量级,并且这点在超大的数据集上优势更明显。当数据集达到千亿乃至万亿级别时,Kylin的速度甚至可以超越其他非预计算技术1000倍以上。
Kylin的Cube预计算是通过预先计算多维数据指标,将结果存储起来,以换取查询时候的高性能。具体的预计算过程可能会涉及到多个步骤和算法,例如基于MR或Spark的算法。

在早期版本中,Kylin可能通过串行过程进行Cube计算,即先启动一个MR计算出四维的数据,然后再启动一个MR读取四维的数据,计算出三维的数据,以此类推。但后来,为了提高计算效率,Kylin可能进行了优化,通过一个MR在Map阶段将所有维度的情况都计算出来,做一个预聚合。

文章来源:https://blog.csdn.net/u011046042/article/details/135139320
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。