当前位置:网站首页>典型的数据仓库模型实施过程详解
典型的数据仓库模型实施过程详解
2022-08-09 18:20:00 【Shockang】
前言
本文隶属于专栏《大数据理论体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!
本专栏目录结构和参考文献请见大数据理论体系
关联
正文
Kimball 模型实施过程
Kimball 维度建模主要探讨需求分析、高层模型、详细模型和模型审查整个过程。
构建维度模型一般要经历四个阶段:
- 第一个阶段是高层设计时期定义业务过程维度模型的范围,提供每种星形模式的技术和功能描述;
- 第二个阶段是详细模型设计时期,对每个星形模型添加属性和度量信息;
- 第三个阶段是进行模型的审查、再设计和验证等工作;
- 第四个阶段是产生详细设计文档,提交 ETL 设计和开发。
高层模型
高层模型设计阶段的直接产出目标是创建高层维度模型图,它是对业务过程中的维表和事实表的图形描述。
确定维表创建初始属性列表,为每个事实表创建提议度量。
详细模型
详细的维度建模过程是为高层模型填补缺失的信息,解决设计问题,并不断测试模型能否满足业务需求,确保模型的完备性。
确定每个维表的属性和每个事实表的度量,并确定信息来源的位置、定义,确定属性和度量如何填入模型的初步业务规则。
模型审查、再设计和验证
本阶段主要召集相关人员进行模型的审查和验证,根据审查结果对详细维度进行再设计。
提交 ETL 设计和开发
最后,完成模型详细设计文档,提交 ETL 开发人员,进入 ETL 设计和开发阶段,由 ETL 人员完成物理模型的设计和开发。
Inmon 模型实施过程
Inmon 对数据模型的定位是:扮演着通往数据仓库其他部分的智能路线图的角色。
由于数据仓库的建设不是一蹴而就的,为了协调不同人员的工作以及适应不同类型的用户,非常有必要建立一个路线图——数据模型,描述数据仓库各部分是如何结合在一起的。
Inmon 将模型划分为三个层次,分别是
- ERD ( Entity Relationship Diagram ,实体关系图) 层:ERD 层是数据模型的最高层,该层描述了公司业务中的实体或主题域以及它们之间的关系;
- DIS ( DataItemSet ,数据项集)层:DIS 层是中间层,该层描述了数据模型中的关键字、属性以及细节数据之间的关系;
- 物理层 ( PhysicalModel ,物理模型):物理层是数据建模的最底层,该层描述了数据模型的物理特性。
Inmon 对于构建数据仓库模型建议采用螺旋式开发方法,采用迭代方式完成多次需求。
但需要采用统一的 ERD 模型,才能够将每次迭代的结果整合在一起。
ERD 模型是高度抽象的数据模型,描述了企业完整的数据。
而每次迭代则是完成 ERD 模型的子集,通过 DIS 和物理数据模型实现。
其他模型实施过程
在实践中经常会用到如下数据仓库模型层次的划分,和 Kimball 、Inmon 的模型实施理论有一定的相通性,但不涉及具体的模型表达。
- 业务建模,生成业务模型,主要解决业务层面的分解和程序化。
- 领域建模,生成领域模型,主要是对业务模型进行抽象处理,生成领域概念模型。
- 逻辑建模,生成逻辑模型,主要是将领域模型的概念实体以及实体之间的关系进行数据库层次的逻辑化。
- 物理建模,生成物理模型,主要解决逻辑模型针对不同关系数据库的物理化以及性能等一些具体的技术问题。
边栏推荐
猜你喜欢
![[免费专栏] Android安全之动态代码注入技术(利用JDB调试APK)](/img/86/3123f87d9b88d4fe424b2cf134eb62.png)
[免费专栏] Android安全之动态代码注入技术(利用JDB调试APK)

numpy中nan_to_num如何使用

kakka rebalance解决方案

Intensive reading of the paper: VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE

Codesys结构变量编程应用(STRUCT类型)

第三方bean使用ConfigurationProperties注解获取yml配置文件数据 & 获取yml配置文件数据的校验

字节二面,差点倒在了MySQL上面
![[免费专栏] Android安全之Root检测和绕过(浅析)](/img/04/4170dea9c367c406fe3f36cb9c6501.png)
[免费专栏] Android安全之Root检测和绕过(浅析)

16 张图解 | 淘宝 10年架构演进

优秀的 Verilog/FPGA开源项目介绍(三十一)- OFDM
随机推荐
全自动化机器学习建模!效果吊打初级炼丹师!
五种常用的排序方法
Unix domain socket
商业智能BI行业分析思维框架:铅酸蓄电池行业(一)
网络安全:常见的网络协议
[Free Column] Android Security for Peace Elite (FZ) APK Reverse Analysis
2022 RoboCom 世界机器人开发者大赛-本科组(省赛)-RC-u5 树与二分图
From functional testing to automated testing, do you know their shortcomings?
MySQL备份与恢复
从功能测试到自动化测试你都知道他们的有缺点吗?
shell脚本编写 hash方法,shell中字符到ascii码或数字的转换
毕昇编译器优化:Lazy Code Motion
如何抑制告警风暴?
再次开始清理电子海图开发群中长期潜水人士
第三方bean使用ConfigurationProperties注解获取yml配置文件数据 & 获取yml配置文件数据的校验
目录
5.4 总结
leetcode 503.下一个更大元素II 单调栈
mysql死锁的排查和解决
单调栈