1.5 Kylin 中的几核心概念

1.5.1 维度和度量

参考: 1.2


1.5.2 事实表和维度表

事实表(Fact Table)

事实表(Fact Table)是指存储有事实记录的表,如系统日志、销售记录等;

事实表的记录在不断地动态增长,所以它的体积通常远大于其他表。

维度表(Dimension Table)

维度表(Dimension Table)或维表,有时也称查找表(Lookup Table)

是与事实表相对应的一种表: 它保存了维度的属性值,可以跟事实表做关联;相当于将事实表上经常重复出现的属性抽取、规范出来用一张表进行管理。

常见的维度表有:日期表(存储与日期对应的周、月、季度等的属 性)、地点表(包含国家、省/州、城市等属性)等。

使用维度表有诸多好处,具体如下:

  • 缩小了事实表的大小
  • 便于维度的管理和维护,增加、删除和修改维度的属性,不必对事实表的大量记录进行改动
  • 维度表可以为多个事实表重用,以减少重复工作。

1.5.3 Cube、Cuboid 和 Cube Segment

Cube(或 Data Cube),即数据立方体,是一种常用于数据分析与索引的技术;它可以对原始数据建立多维度索引。通过 Cube 对数据进行分析, 可以大大加快数据的查询效率。

Cuboid 在 Kylin 中特指在某一种维度组合下所计算的数据。

Cube Segment 是指针对源数据中的某一个片段,计算出来的 Cube 数据。通常数据仓库中的数据数量会随着时间的增长而增长,而 Cube Segment 也是按时间顺序来构建的。


1.5.4 星型模型

数据挖掘有几种常见的多维数据模型,如星形模型(Star Schema)、雪花模型(Snowflake Schema) 等。

星型模型

星形模型中有一张事实表,以及零个或多个维度表;

事实表与维度表通过主键外键相关联,维度表与维度表之间没有关联,就像很多星星围绕在一个恒星周围,故取名为星形模型。

雪花模型

如果将星形模型中某些维度的表再做规范,抽取成更细的维度表,然后让维度表之间也进行关联,那么这种模型称为雪花模型。

不过,Kylin只支持星形模型的数据集,这是基于以下考虑:

  • 星形模型是最简单,也是最常用的模型。

  • 由于星形模型只有一张大表,因此它相比于其他模型更适合于大数据处理。

  • 其他模型可以通过一定的转换,变为星形模型。


1.5.5 维度的基数

维度的基数(Cardinality)指的是该维度在数据集中出现的不同值的个数;

例如“国家”是一个维度,如果有 200 个不同的值,那么此维度的基数就是 200。

通常一个维度的基数会从几十到几万个不等,个别维度如“用户ID”的基数会超过百万甚至千万。基数超过一百万的维度通常被称为超高基数维度(Ultra High Cardinality,UHC),需要引起设计者的注意。

Copyright © 尚硅谷大数据 2019 all right reserved,powered by Gitbook
该文件最后修订时间: 2019-04-02 13:39:38

results matching ""

    No results matching ""