第一章 决策支持系统(DSS)的发展
第二章 数据仓库环境
第二章 数据仓库环境
2.0 数据仓库的4个特征
| 特性 |
说明 |
| 面向主题 |
区别与面向应用 |
| 集成的 |
需经过ETL的 |
| 非易失 |
批量载入和访问(快照,不进行一般意义的更新) |
| 时变性 |
所有记录都有时间标志,说明其在哪个时间是准确的 |
2.1 数据仓库的结构(数据细节)
| 细节级别 |
所属层 |
记忆 |
| 早期细节级 |
DW |
归档数据 |
| 当前细节级 |
DW |
近1~2年等 |
| 轻度汇总级 |
MID |
|
| 高度汇总级 |
|
|
2.2 面向主题(的特征)
| 特征 |
记忆 |
| 包含N个物理表 |
|
| 通过主键联系 |
|
| 可以不同介质存储 |
|
2.3 从第一天到第N天(进化,非一蹴而就)
2.4 粒度(设计的第一个主要问题)
| 粒度影响 |
|
| 数据量大小 |
粒度越小,存储越大 |
| 所能答的问题 |
粒度越小,能回答的问题越多 |
| 粒度的好处 |
|
| 不同人不同视角 |
|
| 一致性协调 |
|
| 灵活性 |
|
| 方便重构 |
|
| 未知需求 |
|
2.5 探查与数据挖掘
2.6 活样本数据库
2.7 分区设计方法(设计的第二个主要问题)
- 分区的目的是把数据划分成小的可管理的物理单元
- 数仓的本质就是灵活的访问数据,大块数据不能满足这一要求,因此要分区
2.8 数据仓库中的数据组织
| 常见结构 |
说明 |
拓展 |
| 简单堆积文件 |
最常用 |
类似普通事实表 |
| 轮转综合文件 |
简单堆积的变种 |
|
| 简单直接文件 |
快照 |
类似维度建模中的累积快照 |
| 连续文件 |
|
类似于维度建模中的缓慢变化维 |
2.9 审计与数据仓库
- 数仓可以进行审计,但太复杂建议在别的地方进行
- 4个不适合审计的原因
| 原因 |
|
|
| 仓库中会突然出现数据 |
|
|
| 时间标定过程发生剧变 |
|
|
| 备份和恢复限制发生剧变 |
|
|
| 粒度处于最低级别 |
|
|
2.10 数据的同构/异构(存储、架构不同)
数据的划分标准
- 主题域:如产品域
- 表:产品表,销售商表,订单表,发货表,产品材料表
- 数据在表中的出现:1月订单,2月订单,3月订单
2.11 数据仓库中的数据清理
数据根本没有删除,而是上升到更高级汇总
| 删除 |
说明 |
| 进入轮转综合文件 |
就是汇总了呗 |
| 转移至低价存储 |
比如导入到OSS |
| 真正删除 |
实在没用的就删了 |
| 层次转移 |
由ods到dw |
2.12 报表与体系结构化环境
| 报表类型 |
举例 |
环境 |
| 操作型报表 |
每日订单明细 |
业务系统 |
| 数仓型报表 |
每日订单量 |
仓库 |
2.13 各种环境中的操作型窗口(操作型环境)
- 数据仓库中全是档案数据
- 操作型环境也需要档案数据(如用户查看近半年的某个订单等)
- 操作型环境中档案数据的时间范围就是操作型窗口
2.14 数据仓库中的错误数据
示例:7月1日账户A增加5000元,7月2日仓库生成了快照,但在8月15日发现错误了,不是5000元,而是750元,怎么修改呢?
| 序号 |
方法 |
描述 |
好处 |
坏处 |
| 1 |
更新历史数据 |
更新7月2日的数据 |
干净彻底 |
数据集被破坏,必须更新仓库,需进行很多修改 |
| 2 |
加入修正条目 |
8月16日加入两天数据,-5000,+750 |
最新数据的最好反映 |
需进行很多修改,规则复杂时候很难修复 |
| 3 |
不管历史,更正最新值 |
8月16日修正为 +750 |
准确反映余额 |
无法解释过去的错误,且需要对应用与过程进行约定 |
2.15 小结
| 总结 |
说明 |
记忆 |
| 特征 |
集成、主题、非易失、时变性 |
jzfs(近战法师) |
| 数据设计的主要问题 |
分区、粒度、细节、异构、组织、清理、错误 |
fl.xyz.cc(clean,cuowu) |
| 操作型系统的数据工作 |
操作型报表,操作型窗口 |
|