麒麟者,神兽也,古人以为,其为四灵之一,仁兽,凡其出没,必有祥瑞。
Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc. 开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表
联机分析处理(OLAP)是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
OLAP(On-Line Analysis Processing)在线分析处理是一种共享多维信息的快速分析技术;OLAP利用多维数据库技术使用户从不同角度观察数据;OLAP用于支持复杂的分析操作,侧重于对管理人员的决策支持,可以满足分析人员快速、灵活地进行大数据复量的复杂查询的要求,并且以一种直观、易懂的形式呈现查询结果,辅助决策。
OLAP基本概念
度量:数据度量的指标,数据的实际含义
维度:描述与业务主题相关的一组属性
事实:不同维度在某一取值下的度量
OLAP特点:
(1)快速性:用户对OLAP的快速反应能力有很高的要求。系统应能在5秒内对用户的大部分分析要求做出反应。
(2)可分析性:OLAP系统应能处理与应用有关的任何逻辑分析和统计分析。
(3)多维性:多维性是OLAP的关键属性。系统必须提供对数据的多维视图和分析,包括对层次维和多重层次维的完全支持。
(4)信息性:不论数据量有多大,也不管数据存储在何处,OLAP系统应能及时获得信息,并且管理大容量信息。
OLAP基本操作
钻取:在维的不同层次间的变化,从上层降到下一层,或者说将汇总数据拆分到更细节的数据
上卷:钻取的逆操作,即从细粒度数据向更高汇总层的聚合
切片:选择维中特定的值进行分析
切块:选择维中特定区间的数据或者某批特定值进行分析
旋转:维的位置互换,就像是二维表的行列转换
kylin工作原理
Apache Kylin的工作原理本质上是MOLAP(Multidimensional Online Analytical Processing)Cube,也就是多维立方体分析。
kylin的核心思想就是预计算,即对多维分析可能用到的度量进行预计算,将计算好的结果保存成cube并存储到hbase中,供查询时直接使用,把高复杂度的聚合运算,多表连接等操作转换成对预计算结果的查询,这决定了kylin具有很好的快速查询和高并发能力
kylin中的名词解释
事实表:用来记录具体事件的,包含每个事件的具体要素以及具体发生的事情
维表:对事实表中事件的要素的描述信息
维度:观察数据的角度
度量:被聚合的统计值
cuboid:维度的任意组合
cube:所有的维度组合,包含所有的cuboid
多维数据分析模型
星型模型
一种多维的数据关系,由一张或多张事实表和一组维度表组成,所有的维表都直接连接到事实表上
雪花模型
当由一个维表和多个维表没有直接连接到事实表,而是通过其他维表连接到事实表