Kylin术语Data Warehouse(数据仓库)
数据仓库是一个各种数据(包括历史数据和当前数据)的中心存储系统,是BI( business intelligence,商业智能)的核心部件 。
这里所谈的数据包括来自企业业务系统的订单、库存、交易账目、客户和供应商等来自企业所处行业和竞争对手的数据以及来自企业所处的其他外部环境中的各种数据 。
Business Intelligence(商业智能)
商业智能通常被理解为将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具 。
为了将数据转化为知识,需要利用数据仓库、联机分析处理(OLAP)工具和数据挖掘等技术 。
OLAP(online analytical processing)
OLAP(online analytical processing)是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的 。从各方面观察信息,也就是从不同的维度分析数据,因此OLAP也成为多维分析 。

文章插图
分析订单金额总和的规律,需要从不同的角度去观察
角度1:地区
角度2:品类
角度3:时间
角度4:地区,品类
角度5:地区,时间
角度6:品类,时间
角度7:地区,品类,时间
OLAP 类型

文章插图
星型模式
星型模式是多维的数据关系,它由事实表(Fact Table)和维表(Dimension Table)组成 。每个维表中都会有一个维作为主键,所有这些维的主键结合成事实表的主键 。事实表的非主键属性称为事实,它们一般都是数值或其他可以进行计算的数据 。

文章插图

文章插图
事实表(Fact Table)和维表(Dimension Table)

文章插图
Kylin的工作原理Apache Kylin的工作原理本质上是MOLAP(Multidimensional Online Analytical Processing)Cube,也就是多维立方体分析 。这是数据分析中相当经典的理论,在关系数据库年代就已经有了广泛的应用,下面将对其做简要介绍 。
维度和度量简介
在说明MOLAP Cube之前需要先介绍一下维度(Dimension)和度量 (Measure)这两个概念 。简单来讲,维度就是观察数据的角度 。比如电商的销售数据,可以从时间的维度来观察,

文章插图
也可以进一步细化,从时间和地区的维度来观察 。

文章插图
维度一般是一组离散的值,比如时间维度上的每一个独立的日期,或者商品维度上的每一件独立的商品 。因此统计时可以把维度值相同的记录聚合在一起,然后应用聚合函数做累加、平均、去重复计数等聚合计算 。
度量就是被聚合的统计值,也是聚合运算的结果,它一般是连续的值,如上图中的销售额,抑或是销售商品的总件数 。通过比较和测算度量,分析师可以对数据进行评估,比如今年的销售额相比去年有多大的增长,增长的速度是否达到预期,不同商品类别的增长比例是否合理等 。
Cube和Cuboid
有了维度和度量,一个数据表或数据模型上的所有字段就可以分类了,它们要么是维度,要么是度量(可以被聚合) 。于是就有了根据维度和度量做预计算的Cube理论 。
给定一个数据模型,我们可以对其上的所有维度进行组合 。对于N个维度来说,可以排列很多组合 。对于每一种维度的组合,将度量做聚合运算,然后将运算的结果保存为一个物化视图,称为Cuboid 。所有维度组合的Cuboid作为一个整体,被称为Cube 。所以简单来说,一个 Cube就是许多按维度聚合的物化视图的集合 。

文章插图

文章插图
Cube构建原理【Apache Kylin的Cube原理和优化】Cube构建算法

文章插图
逐层构建算法(layer)

推荐阅读
- Linux 软链接的使用和具体演示
- 程序员也需了解的主流云计算网络架构
- web应用防火墙是做什么的?与传统网络设备的区别
- 搞微服务用阿里开源的 Nacos 真香啊
- 萨摩耶毛发黄怎么办 萨摩耶的毛变黄是为什么
- 在国外狗算家庭成员吗 狗在美国的地位
- 软件开发人员应该了解的2021年技术趋势
- 怎样预防近视的方法 眼睛近视怎么纠正
- 小金毛刚到家怎么照顾 我家的小金毛
- 金铲铲斗士 金铲铲怎么合斗士
