图书介绍

本书系统讲述数据仓库的基本概念,基本原理以及建立数据仓库的方法和过程.主要是内容包括:决策支持系统的发展,数据仓库环境结构,数据仓库设计,数据仓库粒度数据与数据仓库的关系,数据装载问题,数据仓库与Web,ERP与数据仓库以及数据仓库设计的复查目的.

思维导图

为了快速阅读这本书,用了大概2个小时看完正本书,通过思维导图加深记忆和我关注的几个概念.

思维导图对应的文本格式:

 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 数据结构:星型表,事实表+维表
  存储周期:按需存储,一般会保留历史至今所有的数据

参考资料

内容参考书籍,大家可以购买阅读

总结

  • 数据仓库的建立要采用不同于应用程序的开发方法,不记住这点会带来很大的问题
  • 数据仓库根本上不同于数据集市.两者不能混在一起,就像油和水
  • 数据仓库能够实现所承诺的功能,而不像需求被过分宣扬的之后渐渐消逝的技术一样
  • 数据仓库中汇集了大量的数据,这样就需要有全新的技术来管理大规模的数据

数据仓库是大数据开发中的一个基石,也是一个必修技能,至少对大部分公司来说.每个业务场景下的需求都不同,所以需要循序渐进的方式建立对应的数据仓库,才能满足客户的请求.