数据仓库——(数仓建模,数仓分层,事实表和维度表,星型模型,雪花模型)

数据仓库建模方法

数据模型就是数据组织和存储方法,它强调从业务、数据存取和使用角度合理存储数据。适合业务和基础数据存储环境的模型的优点如下:

  1. 性能:良好的数据模型能帮助我们快速查询所需要的数据,减少数据的I/O吞吐
  2. 成本:良好的数据模型能极大地减少不必要的数据冗余,也能实现计算结果复用,极大地降低大数据系统中的存储和计算成本
  3. 效率:良好的数据模型能极大地改善用户使用数据的体验,提高使用数据的效率
  4. 质量:良好的数据模型能改善数据统计口径的不一致性,减少数据计算错误的可能性

通常来说,数据系统需要数据模型方法来更好的组织和存储数据,用来再性能,成本,效率和质量之间取得最佳平衡。

一,ER模型

  1. 数据仓库之父Bill Inmon提出的建模方法是从全企业的高度设计一个3NF模型,用实体关系(Entity Relationship, ER)模型描述企业业务,在范式理论上符合3NF。
  2. 数据仓库中的3NF与OLTP系统中的3NF 的区别在于,它是站在企业角度面向主题的抽象,而不是针对某个具体业务流程的实体对象关系的抽象。
  3. 数据仓库中的3NF具有以下几个特点:
    1. 需要全面了解整个企业业务和数据
    2. 实施周期非常长
    3. 对建模人员的能力要求非常高
  4. 釆用ER模型建设数据仓库模型的出发点是整合数据,将各个系统中的数据以整个企业角度按主题进行相似性组合和合并,并进行一致性处理,为数据分析决策服务,但是并不能直接用于分析决策。
  5. ER模型建模步骤分为三个阶段:
    1. 高层模型:一个高度抽象的模型,描述主要的主题以及主题间的关系,用于描述企业的业务总体概况
    2. 中层模型:在高层模型的基础上,细化主题的数据项
    3. 物理模型(也叫底层模型):在中层模型的基础上,考虑物理存储,同时基于性能和平台特点进行物理属性的设计,也可能做一 些表的合并、分区的设计等

二,维度模型

  1. 维度模型是数据仓库领域的Ralph Kimball大师所倡导的,他的《数据仓库工具箱》是数据仓库工程领域最流行的数据仓库建模经典
  2. 维度建模从分析决策的需求出发构建模型,为分析需求服务,重点关注用户如何更快速地完成需求分析,同时具有较好的大规模复杂查询的响应性能。
  3. 维度模型的典型代表是星型模型,以及在一些特殊场景下使用的雪花模型。
  4. 维度模型设计分为以下几个步骤:
    1. 选择需要进行分析决策的业务过程。业务过程可以是:单个业务事件,比如交易的支付、退款等,某个事件的状态,比如当前的账户余额等,一系列相关业务事件组成的业务流程
    2. 选择数据的粒度。在事件分析中,我们要预判所有分析需要细分的程度,从而决定选择的粒度
    3. 识别维表。选择好粒度之后,就需要基于此粒度设计维表,包括维度属性,用于分析时进行分组和筛选
    4. 选择事实。确定分析需要衡量的指标

大多数企业实施数据仓库的经验说明:在不太成熟、快速变化的业务面前,构建ER模型的风险非常大,不太适合去构建ER模型。而维度建模对技术要求不高,快速上手,敏捷迭代,快速交付;更快速完成分析需求,较好的大规模复杂查询的响应性能。

数据仓库分层

  1. 数据仓库更多代表的是一种对数据的管理和使用的方式,它是一整套包括了数据建模、ETL(数据抽取、转换、加载)、作用调度等在内的完整的理论体系流程。
  2. 数据仓库在构建过程中通常都需要进行分层处理。业务不同,分层的技术处理手段也不同。
  3. 分层的主要原因是在管理数据的时候,能对数据有一个更加清晰的掌控,主要原因有:
    1. 清晰的数据结构:每一个数据分层都有它的作用域,在使用表的时候能更方便地定位和理解
    2. 将复杂的问题简单化:将一个复杂的任务分解成多个步骤来完成,每一层只处理单一的问题,比较简单和容易理解。而且便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题的地方开始修复。
    3. 减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算。
    4. 屏蔽原始数据的异常:屏蔽业务的影响,不必改一次业务就需要重新接入数据
    5. 数据血缘的追踪:最终给业务呈现的是一个能直接使用业务表,但是它的来源很多,如果有一张来源表出问题了,借助血缘最终能够快速准确地定位到问题,并清楚它的危害范围。
  4. 数仓的常见分层一般为3层,分别为:数据操作层、数据仓库层和应用数据层(数据集市层)。也可以分为更多不同的层,只要能达到流程清晰、方便查数即可
    在这里插入图片描述
    ODS(Operation Data Store 数据准备区):数据仓库源头系统的数据表通常会原封不动的存储一份,这称为ODS层,也称为准备区。它们是后续数据仓库层加工数据的来源。
    ODS层数据的主要来源包括:
    1. 业务数据库。可使用DataX、Sqoop等工具来抽取,每天定时抽取一次;在实时应用中,可用Canal监听MySQL的 Binlog,实时接入变更的数据;
    2. 埋点日志。线上系统会打入各种日志,这些日志一般以文件的形式保存,可以用Flume 定时抽取;
    3. 其他数据源。从第三方购买的数据、或是网络爬虫抓取的数据。

DW(Data Warehouse 数据仓库层):包含DWD、DWS、DIM层,由ODS层数据加工而成。主要完成数据加工与整合,建立一致性的维度,构建可复用的面向分析和统计的明细事实表,以及汇总公共粒度的指标。

  1. DWD(Data Warehouse Detail 细节数据层),是业务层与数据仓库的隔离层。以业务过程作为建模驱动,基于每个具体的业务过程特点,构建细粒度的明细层事实表。可以结合企业的数据使用特点,将明细事实表的某些重要维度属性字段做适当冗余,也即宽表化处理;
  2. DWS(Data Warehouse Service 服务数据层),基于DWD的基础数据,整合汇总成分析某一个主题域的服务数据。以分析的主题为建模驱动,基于上层的应用和产品的指标需求,构建公共粒度的汇总指标事实表;
  3. 公共维度层(DIM):基于维度建模理念思想,建立一致性维度;
  4. TMP层 :临时层,存放计算过程中临时产生的数据;

ADS(Application Data Store 应用数据层)。基于DW数据,整合汇总成主题域的服务数据,用于提供后续的业务查询等。

数据仓库层次的划分不是固定不变的,可以根据实际需求进行适当裁剪或者是添加。如果业务相对简单和独立,可以将DWD、DWS进行合并。

事实表与维度表

事实表

  1. 在数据仓库中,保存度量值的详细值或事实的表称为事实表。事实数据表通常包含大量的行。
  2. 事实数据表的主要特点是包含数字数据(事实),并且这些数字信息可以汇总,以提供有关单位作为历史的数据。事实表的粒度决定了数据仓库中数据的详细程度。
  3. 常见事实表:订单事实表
  4. 事实表的特点:表多(各种各样的事实表);数据量大
  5. 事实表根据数据的粒度可以分为:事务事实表、周期快照事实表、累计快照事实表

维度表

  1. 维度表(维表)可以看作是用来分析数据的角度,纬度表中包含事实数据表中事实记录的特性。有些特性提供描述性信息,有些特性指定如何汇总事实数据表数据,以便为分析者提供有用的信息。
  2. 常见维度表:时间维度、地域维度、商品维度

总结:事实表是关注的内容(如:销售额、销售量),维表是观察事务的角度。

事实表可分为事务事实表,周期快照事实表,累积快照事实表

事务事实表

  1. 事务事实表记录的事务层面的事实,保存的是最原子的数据,也称“原子事实表”。
  2. 事务事实表中的数据在事务事件发生后产生,数据的粒度通常是每个事务一条记录。一旦事务被提交,事实表数据被插入,数据就不再进行更改,其更新方式为增量更新。
  3. 事务事实表的日期维度记录的是事务发生的日期,它记录的事实是事务活动的内容。用户可以通过事务事实表对事务行为进行特别详细的分析。如:订单表
  4. 通过事务事实表,还可以建立聚集事实表,为用户提供高性能的分析。

周期快照事实表

  1. 周期快照事实表以具有规律性的、可预见的时间间隔来记录事实,时间间隔如每天、每月、每年等等。典型的例子如销售日快照表、库存日快照表等。
  2. 周期快照事实表统计的是间隔周期内的度量统计,如历史至今、自然年至今、季度至今等等。
  3. 周期快照事实表的粒度是每个时间段一条记录,通常比事务事实表的粒度要粗,是在事务事实表之上建立的聚集表。
  4. 周期快照事实表的维度个数比事务事实表要少,但是记录的事实要比事务事实表多。如:商家日销售表(无论当天是否有销售发生,都记录一行)日期、商家名称、销售量、销售额

累积快照事实表

  1. 累积快照事实表和周期快照事实表有些相似之处,它们存储的都是事务数据的快照信息。但是周期快照事实表记录的确定的周期的数据,而累积快照事实表记录的不确定的周期的数据。
  2. 累积快照事实表代表的是完全覆盖一个事务或产品的生命周期的时间跨度,它通常具有多个日期字段,用来记录整个生命周期中的关键时间点。除此之外,它还会有一个用于指示最后更新日期的附加日期字段。
  3. 在事实表中许多日期在首次加载时是不知道的,所以必须使用代理关键字来处理未定义的日期,而且这类事实表在数据加载完后,是可以对它进行更新的,来补充随后知道的日期信息。如:订货日期、预定交货日期、实际发货日期、实际交货日期、数量、金额、运费。如:商家本周、本月、本年累计销售表
    在这里插入图片描述

星型模型

  1. 星型模是一种多维的数据关系,它由一个事实表和一组维表组成;
  2. 事实表在中心,周围围绕地连接着维表;
  3. 事实表中包含了大量数据,没有数据冗余;
  4. 维表是逆规范化的,包含一定的数据冗余;

在这里插入图片描述

雪花模型

  1. 雪花模式是星型模型的变种,维表是规范化的,模型类似雪花的形状;特点:雪花型结构去除了数据冗余。
  2. 星型模型存在数据冗余,所以在查询统计时只需要做少量的表连接,查询效率高;
  3. 星型模型不考虑维表正规化的因素,设计、实现容易;星型模型不考虑维表正规化的因素,设计、实现容易;

在这里插入图片描述

事实星座

  1. 数据仓库由多个主题构成,包含多个事实表,而维表是公共的,可以共享,这种模式可以看做星型模式的汇集,因而称作星系模式或者事实星座模式。事实星座特点:公用维表
    在这里插入图片描述

元数据

  1. 元数据(Metadata)是关于数据的数据。元数据打通了源数据、数据仓库、数据应用,记录了数据从产生到消费的全过程。
  2. 元数据贯穿大数据平台数据流动的全过程,主要包括数据源元数据、数据加工处理过程元数据、数据主题库专题库元数据、服务层元数据、应用层元数据等。在这里插入图片描述
  3. 元数据可以分为以下类型:
    1. 技术元数据:库表结构、数据模型、ETL程序、SQL程序等
    2. 业务元数据:业务指标、业务代码、业务术语等
    3. 管理元数据:数据所有者、数据质量、数据安全等
  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要想在百度八亿网页的数据海洋中找到你所要的信息, 人工方式需要1200 多人年,而百度搜索技术不到1 秒钟。人 们被数据淹没,却渴望知识。商务智能技术已成为当今企业 获取竞争优势的源泉之一。商务智能通常被理解为将企业中 现有的数据转化为知识,帮助企业做出明智决策的IT工具集。 其中数据仓库、OLAP和数据挖掘技术是商务智能的重要组成 部分。商务智能的关键在于如何从众多来自不同企业运作系 统的数据中,提取有用数据,进行清理以保证数据的正确性, 然后经过抽取、转换、装载合并到一个企业级的数据仓库里, 从而得到企业数据的一个全局视图,并在此基础上利用适当 的查询分析、数据挖掘、OLAP等技术工具对其进行分析处理, 最终将知识呈现给管理者,为管理者的决策过程提供支持。 可见,数据仓库技术是商业智能系统的基础,在智能系统开 发过程中,星型模式设计又是数据仓库设计的基本概念之一。 星型模式是由位于中央的事实表和环绕在四周的维度表 组成的,事实表中的每一行与每个维度表的多行建立关系, 查询结果是通过将一个或者多个维度表事实表结合之后产 生的,因此每一个维度表事实表都有一个“一对多”的连 接关系,维度表的主键是事实表中的外键。随着企业交易量 的越来越多,星型模式中的事实表数据记录行数会不断增加, 而且交易数据一旦生成历史是不能改变的,即便不得不变动, 如对发现以前的错误数字做修改,这些修改后的数据也会作 为一行新纪录添加到事实表中。与事实表总是不断增加记录 的行数不同,维度表的变化不仅是增加记录的行数,而且据 需求不同维度表属性本身也会发生变化。本文着重讨论数据 仓库维度表的变化类型及其更新技术。
IBM数据仓库建模方法论(IBM Data Warehouse Modeling Methodology)是IBM为构建高质量的数据仓库而制定的一套建模方法与指导原则。其目标是帮助组织实现数据驱动决策和分析,从而提高业务效率和竞争力。 该方法论主要包括以下几个方面: 1. 需求分析:在开始建模之前,首先要深入了解业务需求和数据源。通过与利益相关者合作,明确数据需求、目标与范围,以及数据的重要性和可用性。 2. 数据模型设计:根据需求分析结果,设计合适的数据模型来存储和组织数据。这包括确定实体、属性、关系和约束等概念,并选择合适的建模工具和技术来解决特定问题。 3. 数据抽取与装载:将源系统中的数据抽取到数据仓库中。这涉及到数据清洗、转换和加载等步骤,以确保数据的准确性和一致性。 4. 数据仓库更新:持续监控和更新数据仓库中的数据,包括定期的数据抽取和转换过程,以保持数据的实时性和准确性。 5. 数据仓库查询与分析:提供灵活的查询和分析功能,以支持决策和业务需求。这包括使用各种BI工具和技术来提取、分析和可视化数据。 6. 数据质量管理:确保数据仓库中的数据质量高且可信。通过建立数据验证和监控机制,及时发现和纠正数据质量问题。 7. 数据安全与隐私保护:采取必要的安全措施,保护数据仓库中的数据不受未经授权的访问和泄漏。 通过遵循IBM数据仓库建模方法论,组织可以更好地管理和利用数据,提高数据仓库的效率和价值。同时,该方法论还提供了一套通用的指导原则和最佳实践,适用于各种规模和复杂度的数据仓库项目。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值