当前位置:网站首页>典型的数据仓库模型实施过程详解
典型的数据仓库模型实施过程详解
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 的模型实施理论有一定的相通性,但不涉及具体的模型表达。
- 业务建模,生成业务模型,主要解决业务层面的分解和程序化。
- 领域建模,生成领域模型,主要是对业务模型进行抽象处理,生成领域概念模型。
- 逻辑建模,生成逻辑模型,主要是将领域模型的概念实体以及实体之间的关系进行数据库层次的逻辑化。
- 物理建模,生成物理模型,主要解决逻辑模型针对不同关系数据库的物理化以及性能等一些具体的技术问题。
边栏推荐
- ThreadLocal 夺命 11 连问,万字长文深度解析
- 什么是藏宝计划(TPC),2022的一匹插着翅膀的黑马!
- [免费专栏] Android安全之Android Fragment注入
- 2021 RoboCom 世界机器人开发者大赛-本科组(决赛)
- [Free Column] Android Security for Peace Elite (FZ) APK Reverse Analysis
- How to suppress alarm storms?
- 与同步传递相关的获取-释放序列
- Flume (六) --------- Flume 数据流监控
- 5.3.6 原子操作对非原子的操作排序
- 毕昇编译器优化:Lazy Code Motion
猜你喜欢
![[免费专栏] Android安全之动态代码注入技术(利用JDB调试APK)](/img/86/3123f87d9b88d4fe424b2cf134eb62.png)
[免费专栏] Android安全之动态代码注入技术(利用JDB调试APK)

ebook下载 | 《 企业高管IT战略指南——企业为何要落地DevOps》

没有 accept,建立 TCP 连接,可以吗?

MQTT X Web:在线的 MQTT 5.0 客户端工具

What is the Treasure Project (TPC), a dark horse with wings in 2022!

三面(技术 +HR 面试)网易,分享我的面试经验!(已拿 offer)

释放数据价值的真正法宝,数据要素市场化开发迫在眉睫

ThreadLocal 夺命 11 连问,万字长文深度解析

uniapp中使用网页录音并上传声音文件(发语音)——js-audio-recorder的使用【伸手党福利】

你应该试着独自做个游戏
随机推荐
How to stop the test after reaching a given number of errors during stress testing in JMeter
《痞子衡嵌入式半月刊》 第 60 期
哈希表
2022.08.05_每日一题
[免费专栏] Android安全之Android奇淫run-as命令
16 张图解 | 淘宝 10年架构演进
golang单元测试:testing包的基本使用
数据库注入提权总结(一)
Start cleaning up the long-term divers in the electronic chart development group again
uniapp离线推送华为厂商申请流程
字节二面,差点倒在了MySQL上面
如何抑制告警风暴?
优秀的 Verilog/FPGA开源项目介绍(三十一)- OFDM
web正则表达式中^和$的含义是什么
单片机编程-状态机
渗透测试——CFS三层靶机内网渗透实操
WPF 实现带蒙版的 MessageBox 消息提示框
.NET现代应用的产品设计 - DDD实践
网络安全:常见的网络协议
没有 accept,TCP 连接可以建立成功吗?