1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
# 数据仓库
## 数据模型
### 建模
- 高层建模(实体关系图,或 ERD)
- 中层建模(数据项集或DIS)
- 主要数据分组
- 二级数据分组
- 连接器
- 数据的"类型"
- 底层建模(物理模型)
- 关系表
### 模型
- 关系模型
通过企业数据模型设计
多维模型根据最终用户请求塑造的
换句话
关系模型通过纯数据模型和其他模型设计的.
多维模型通过处理请求塑造的
- 多维模型
- 星型模型
- 一个事实中心,多维包围
- 雪花模型
- 多个事实表共享一个或多个公共维表连接
## 存储分层
### ODS
- 数据操作层
ODS层:数据操作层,全称是Operational Data Store,用于原始数据在数据平台的落地,这些数据从数据结构,数据之间的逻辑关系上都与原始数据保持一致,在源数据装入这一层时,要进行诸如业务字段提取或去掉不用字段,脏数据处理等等.
l 数据结构:数据机构与原始数据基本保持一致
l 存储周期:ODS默认保留近30天的数据
l 表命名规范:[层次]_[主题]_[表内容]_[分表规则]
### DIM
- 公共的信息
DIM层:主要存放公共的信息数据,比如国家代码和国家名,地理位置等信息就存在DIM层表中,对外开放,用于DWD,DWS和APP层的数据维度关联.
l 数据机构:维表,以国家ID等字段为主键
l 存储周期:按需存储,一般会保留历史至今所有的数据
l 命名规范:
所有维度表都在DIM下面.
dim.dim+_业务描述
举例: dim.dim_year 时间维表
### DWD
- 数据明细层
DWD层:数据明细层,全称是Data Warehouse Detail,用于源系统数据在数据平台中的永久存储.它用以支撑DWS层和DM层无法覆盖的需求,比如像用户通话详单类业务需求.该层的数据模型不建议开给不懂技术的业务人员直接使用.这一层主要解决一些数据质量问题和数据的完整度问题.比如商场的会员信息来与不同表,某些会员的的和数据可能不完整等等问题,我们可以再这一层做一些屏蔽
l 数据结构:数据结构与源系统保持一致
l 存储周期:保留历史至今所有的数据
l 命名规范:dwd.dwd_业务描述+_时间粒度
举例: dwd.dwd_sales_d 销售详细日表
### DWS
- 数据汇总层
DWS层:数据汇总层,全称是Data Warehouse Service,主要包含两类汇总表:一是细粒度宽表,二是粗粒度汇总表.我们拿商场售卖举例.那么包含基于订单,会员,商品,店铺等实体的细粒度宽表和基于维度组合(会员日进场汇总,会员消费汇总,商场销售日汇总,店铺销售日汇总等)的粗粒度汇总表.这层是对外开放的.用以支撑绝大部分的业务需求,汇总层是为了简化源系统复杂的逻辑关系以及质量问题等,这层是的业务结构容易理解,各个层面的工程师容易上手.dws层的汇总数据目标是能满足80%的业务计算.
l 数据机构:
宽表:以业务实体进行展开,将与业务有关的相关字段和属性进行预关联,预处理和预计算,对业务实体进行拉伸形成宽表.汇总表:维度组合形成的汇总表
l 存储周期:原则上保留历史至今全部的数据
l 命名规范:
所有数据汇总层的表都放在DWS下面
dws.dws_业务描述+_时间粒度+_sum
举例:dws.dws_trans_d_sum 交易日汇总表
### DM
- 数据集市
DM层: 数据集市层,用于BI,多维分析,推荐营销,标签,数据挖掘模型和其他数据服务.对外开放,为所有数据产品和数据出口提供数据支持.简称DM,以某个应用为出发点而建设的局部DM,为什么这么说,DM只关心自己需要的数据.不会全盘考虑企业整体的数据架构和应用,每个应用都有自己的DM.所以DM可以基于仓库建设也可以独立建设.集市层是按照业务主题,分主题构建出来的.面向特定部门或人员的数据集合,改层次的数据模型会开放给业务人员使用,进行数据挖掘及业务分析.这样业务人员利用工具或手写简单的SQL,将统计数据提出来分析.
l 数据结构:星型表,事实表+维表
存储周期:按需存储,一般会保留历史至今所有的数据
|