读数据架构知识体系指南11数据建模方法(下)

读数据架构知识体系指南11数据建模方法(下)

1. Kimball模型

1.1. 更适合数据需求较简单的组织

1.2. Kimball的自底向上方法

  • 1.2.1. 都是先将原始数据从每个OLTP源系统提取到临时关系暂存表中,不进行转换或清理

  • 1.2.2. 数据集市通过DW总线(有时也称为信息总线)进行整合,以实现数据一致性

  • 1.2.3. 为了在数据源之间提供一致性,数据集市使用一致维度进行集成,这些维度是跨多个事实表标准化并保持一致的维度,因此数据可以跨事实表使用和比较而不会产生任何问题

  • 1.2.4. 数据集市中的数据子集可以复制到立方体中

  • 1.2.5. Kimball的方法是业务驱动的,最终用户是积极的参与者

  • 1.2.6. 数据只需复制两次*,即复制到数据集市和立方体

  • 1.2.7. 如果使用维度化视图,则只需复制一次

1.3. Kimball方法跳过了规范化的数据仓库

1.4. Kimball方法使用符合标准的EDW,但没有物理EDW

1.5. Kimball在数据仓库总线中将数据湖与数据集市并列

1.6. 可以在基于Kimball的方法中添加规范化EDW

1.7. Kimball方法实际上包含了自顶向下和自底向上两种方法

  • 1.7.1. 自顶向下的方法体现在整个企业的战略规划和设计中

  • 1.7.2. Kimball强调,在前期花费大量时间设计解决方案,使用一种称为EDW总线矩阵的工具

1.8. 该工具是企业核心业务流程及其相关维度(包括一致维度)的架构蓝图

1.9. EDW总线矩阵提供了自顶向下的战略视角,以确保DW/BI环境中的数据可以在整个企业内部集成

1.10. Kimball并没有发明事实和维度的基本概念,他建立了一个广泛的维度技术和词汇表,包括一致维度、缓慢变化维度、垃圾维度、小维度、桥接表以及周期性和累积快照事实表

2. Inmon模型

2.1. Bill Inmon被称为“数据仓库之父”​

2.2. Inmon的自顶向下方法

  • 2.2.1. 强调整合多种来源的数据,并以有助于决策的方式呈现出来

  • 2.2.2. 自顶向下的方法是一种传统、严谨、定义明确的方法,通常是大型复杂组织的首选

  • 2.2.3. 在拥有大量数据并重视治理、数据质量和合规性的大型复杂组织中,这种方法通常更受青睐

  • 2.2.4. 主要由技术部门驱动,最终用户被动参与

  • 2.2.5. 首先要确定最终用户的业务需求

  • 2.2.6. CIF专注于数据建模和设计,重点强调治理和数据质量

  • 2.2.7. 数据集市之所以称为“依赖型”​,是因为它依赖CIF中的数据,而不从其他任何地方获取数据

  • 2.2.8. 用户不能访问CIF,只能通过数据集市或立方体访问数据

  • 2.2.9. 意味着数据会被永久复制,在CIF、数据集市和立方体中复制三次

2.3. Inmon方法在创建数据集市之前创建了一个规范化的数据仓库

2.4. Inmon方法使用物理EDW

2.5. Inmon和Kimball都允许数据湖取代关系型暂存表

2.6. 在基于Inmon的方法中添加维度结构化数据集市

2.7. Inmon从一开始就指出,建立数据仓库的方法是迭代式的

2.8. 建立数据仓库最关键的成功因素就是不使用大爆炸方法

2.9. 建立第一个分析能力(数据集市)之前,并不建议建立一个包含所有企业战略数据的完整数据仓库

  • 2.9.1. 通过实施另一个数据集市来解决的每一个后续业务项目,都将为作为数据仓库基础的不断增长的数据集增加一些东西

  • 2.9.2. 为支持新的数据集市而必须添加到数据仓库中的数据量将微不足道,因为大部分数据已经存在于数据仓库中

2.10. Inmon认为星型模式数据集市有利于终端用户直接访问数据,而星型模式则有利于数据集市

  • 2.10.1. 他并不反对它们

2.11. 使用Inmon方法的公司比使用Kimball方法的还多

  • 2.11.1. 更多的公司在没有任何数据集市的情况下使用EDW

3. 实体EDW

3.1. 物理企业数据仓库使得拥有单一的真实版本变得更加容易,由多个数据集市组成符合标准的数据仓库可能会给用户带来困难和混淆

  • 3.1.1. 将数据实际存储在同一个数据库中更容易理解

3.2. 从物理企业数据仓库中轻度去规范化的表构建比直接从OLTP源构建更容易

3.3. 规范化的物理EDW可提供企业范围内的一致性

  • 3.3.1. 这使数据集市的创建变得更加容易,但同时也会带来数据重复的问题

3.4. 物理EDW需要较少的ETL刷新和核对

  • 3.4.1. 如果多个数据库中有许多数据源和维度数据集市,则需要更多的每日或每小时刷新和核对,以保持所有数据同步

3.5. 在物理EDW中,只有一个地方可以控制数据,因此不会重复工作或数据

4. 混合模型

4.1. 该模式一开始与其他两种模式类似:将原始数据从每个OLTP源系统直接提取到临时关系暂存表中

4.2. 对数据进行转换或清理,但会添加一个镜像OLTP

4.3. 立方体的优势

  • 4.3.1. 是一个语义层

  • 4.3.2. 可以处理许多并发用户

  • 4.3.3. 数据经过聚合,性能更佳

  • 4.3.4. 无须处理连接或关系

  • 4.3.5. 可以包含层次结构和关键绩效指标

  • 4.3.6. 具有行级安全性,可通过限制用户访问数据库中的特定行来提高数据的私密性

5. 数据库视图

5.1. 无论使用的是Kimball、Inmon还是混合模型,都可以考虑使用数据库视图

5.2. 数据库视图是基于SQL SELECT语句结果的虚拟表

5.3. 不存储数据,只存储SQL代码,每次查询时从一个或多个表中检索数据

5.4. 在提取、转换和加载(ETL)过程中使用视图可以简化ETL内部的代码,而且不必查看视图中的SQL代码就能理解它在读取什么

5.5. 通过视图可以更方便地查询数据库以进行调试,而且可以通过在ETL代码之外更新视图来优化ETL

5.6. 任何人都可以读取、修改或优化视图,不仅在ETL工具中可以,在其他工具中也可以,还可以使用第三方工具(如视图使用的表和字段)分析和跟踪视图中的依赖关系

5.7. 视图可以提供默认值并执行简单的计算,还可以重命名字段以帮助理解其流程

5.8. 视图可以呈现星形模式,即使底层结构要复杂得多

5.9. 可以在立方体中使用视图

  • 5.9.1. 如果使用视图,就可以重命名数据库列,使其与立方体属性保持一致,这样做的好处是可以向数据库管理员公开所有转换

  • 5.9.2. 用视图可以简化对快速变化的处理,并允许完全控制向立方体提取的源发送的任何连接

  • 5.9.3. 就像在ETL中一样,即使底层结构不是简单的星形模式,立方体中的视图也能显示星形模式

6. OLTP镜像

6.1. 创建OLTP镜像是一种很好的策略

6.2. 意味着只在镜像期间短暂使用“真正的”OLTP

6.3. 后镜像就会被释放出来,供最终用户或维护人员使用

6.4. 意味着不需要对原始OLTP进行索引维护

6.5. 可以提高ETL流程其他步骤的性能

6.6. 由于可以镜像列的子集,因此无须加载所有OLTP表。这使得镜像比完整的OLTP更小更快

posted @ 2026-09-30 06:55  躺柒  阅读(9)  评论(0)    收藏  举报