数据仓库之维度建模剖析

下面我们分别来学习维度表设计和事实表设计:
    • 维度表设计:代理键,稳定维度,缓慢渐变维,拉链表
    • 事实表设计:事实表设计,明细事实表,聚合事实表
    • 数据仓库之拉链表详解
 
1.维度表设计
1.1 代理键
    维度表中必须有一个能够唯一标识一行记录的列(最好是原子性的列,不要是组合键), 通过该列维护维度表与事实表之间的关系,一般在维度表中业务主键符合条件可以当作维度主键。
    但是,数据仓库是整个公司数据的整合,这会涉及到多个数据源有相同维度,那么就会 出现以下两个问题:
    • 当整合多个数据源的维度时,不同数据源的业务主键重复怎么办?
    • 涉及维度拉链表时,同一主体多条记录,业务键重复怎么办?
 
    如上图所示,业务键重复,我们可以引入代理键,如下表所示:
    把多个系统的数据复合在一起,同时再维护一个代理键,而且代理键在这个维度表里是 唯一标识一条记录的,类似于业务系统的业务键。
    代理键是由数据仓库处理过程中产生的、与业务本身无关的、唯一标识维度表中一条 记录并充当维度表主键的列,也是描述维度表与事实表关系的纽带。
    在设计有代理键的维度表中,事实表中的关联键是代理键而不是原有的业务主键,即 业务关系是靠代理键维护,这样有效避免源系统变化对数仓数据对影响。
    在实际业务中,代理键通常是数值型、自增的值。
 
1.2 稳定维度
    部分维度表的维度是在维度表产生后,属性是稳定的、无变化的。比如时间维度、区域维度等,针对这种维度,设计维度表的时候,仅需要完整的数据,不需要天的快照数据, 因为当前数据状态就是历史数据状态。
 
1.3 缓慢渐变维
    维度数据会随着时间发生变化,变化速度比较缓慢,这种维度数据通常称作缓慢渐变维,例如电商平台的用户维度表,用户可能会随着时间推移改变收件地址,因此用户维度表 中的收件地址就是一个缓慢变化维。由于数据仓库需要追溯历史变化,尤其是一些重要的数 据,所以历史状态也需要采取一定的措施进行保存,保存历史状态的方式有以下三种:
    • 每天保存当前数据的全量快照数据(每天一个新增分区),该方案适合数据量较小 (根据公司具体的配置而定)的维度,使用简单的方式保存历史状态。
    • 在维表中添加关键属性值的历史字段,仅保留上一个的状态值。可能同时有多个属 性都非常重要,而且只能追溯上一个数据,不是所有的历史数据,这种范式应用场景较少。
    • 拉链表:当维度数据发生变化时,将旧数据置为失效,将更改后的数据当作新的 记录插入到维度表中,并开始生效,这样能够记录数据在某种粒度上的变化历史。
1.4 拉链表
    将数据的变更当做流水记录下来 ,旧的设为失效,新的设为生效,如果粒度为天,那
要想在百度八亿网页的数据海洋中找到你所要的信息, 人工方式需要1200 多人年,而百度搜索技术不到1 秒钟。人 们被数据淹没,却渴望知识。商务智能技术已成为当今企业 获取竞争优势的源泉之一。商务智能通常被理解为将企业中 现有的数据转化为知识,帮助企业做出明智决策的IT工具集。 其中数据仓库、OLAP和数据挖掘技术是商务智能的重要组成 部分。商务智能的关键在于如何从众多来自不同企业运作系 统的数据中,提取有用数据,进行清理以保证数据的正确性, 然后经过抽取、转换、装载合并到一个企业级的数据仓库里, 从而得到企业数据的一个全局视图,并在此基础上利用适当 的查询分析、数据挖掘、OLAP等技术工具对其进行分析处理, 最终将知识呈现给管理者,为管理者的决策过程提供支持。 可见,数据仓库技术是商业智能系统的基础,在智能系统开 发过程中,星型模式设计又是数据仓库设计的基本概念之一。 星型模式是由位于中央的事实和环绕在四周的维度 组成的,事实中的每一行与每个维度的多行建立关系, 查询结果是通过将一个或者多个维度与事实结合之后产 生的,因此每一个维度和事实都有一个“一对多”的连 接关系,维度的主键是事实中的外键。随着企业交易量 的越来越多,星型模式中的事实数据记录行数会不断增加, 而且交易数据一旦生成历史是不能改变的,即便不得不变动, 如对发现以前的错误数字做修改,这些修改后的数据也会作 为一行新纪录添加到事实中。与事实总是不断增加记录 的行数不同,维度的变化不仅是增加记录的行数,而且据 需求不同维度属性本身也会发生变化。本文着重讨论数据 仓库维度的变化类型及其更新技术。
推荐,数据仓库建设学习资料合集,包含建设规范、架构、工具及模型等资料。共38份。 2021数据仓库服务常见问题-华为-51页 2021云数据仓库专业服务-华为-168页 阿里云数据中台-金融行业新一代数据仓库解决方案 分布式数据仓库 构建可靠的数据仓库 模板-数据仓库整体设计方案 企业大数据平台数仓架构建设思路 商业银行数据仓库系统V2.0 数据仓库-数据集市-BI-数据分析 数据仓库工具箱 维度建模权威指南(第3版) 数据仓库技术架构及方案 数据仓库架构、模型、调度、指标建设方案 数据仓库建模与ETL的实践技巧 数据仓库建设规范模板 数据仓库设计-221页 数据仓库生命周期工具箱 数据仓库体系架构、主要过程与技术介绍 数据仓库之数据质量建设方案 数据仓库ETL工具箱 数据人进化宝典-813页(数据分析+数据仓库+数据架构+数据治理等等) 数据治理:数据仓库的数据质量管理规范 数据治理及数据仓库模型设计 搜狐智能媒体在数据仓库体系建设中的技术实践 元数据管理在数据仓库的实践应用 Hadoop数据仓库实践 IBM Netezza 数据仓库设备架构 SaaS模式云数据仓库实践手册 58交易营销数据仓库建设 数据仓库与数据挖掘: - 基于数据仓库的数据挖掘技术 - 数据仓库和数据挖掘的OLAP技术 - 数据仓库和数据挖掘综述 - 数据仓库与数据挖掘学习教材 - 数据仓库与数据挖掘(分类规则) - 数据仓库与数据挖掘(分类规则挖掘与预测) - 数据仓库与数据挖掘考试习题汇总 - 数据仓库与数据挖掘课件 - 数据仓库与数据挖掘应用 - 数据仓库与数据挖掘综述
数据仓库理论学习与实践资料合集,共104份。 数据仓库工具箱(6份) 数据仓库基础培训课件(英文版)(14份) 数据仓库全套模板(命名+事实+维度+业务+指标体系)(6份) 数据仓库设计建模(11份) 数据仓库原理、设计与应用课件(7章) 淘宝移动电信招商银行数据仓库实例(6份) Oracle数据仓库资料(7份) SQL_SERVER构建数据仓库(1份) 了解数据仓库及其应用 数据仓库建模技术 数据仓库介绍课件 数据仓库设计 数据仓库与OLAP 数据集市建设、数据质量及数据管理方法 OLAP及数据仓库讲解 EDW_(DM数据仓库数据建模)模型设计 关于bi工具选型的参考依据 商务智能技术在银行业务中基于数据仓库的研究与实现 数据仓库_历史与现在发展状况 数据仓库分析系统整体设计方案 数据仓库基本操作 数据仓库设计 数据仓库学习笔记 数据仓库总体设计报告 为什么要建立数据仓库 数据仓库建模与ETL实践技巧 ETL构建数据仓库五步法 标准的数据仓库建模应用之维度数据仓库进行数据建模 关键绩效指标:KPI的开发、实施和应用 基于多数据库的MOLAP存储及查询技术研究 基于企业架构(EA)的企业信息化建设模型 将Excel资料汇入PowerDesigner 企业数据仓库在大数据分析时代的角色变迁 商业智能研究分析报告 数据仓库_使用手册 数据仓库:业务量周期 数据仓库 数据仓库(DW)初阶 数据仓库工具介绍文章汇总 数据仓库工具箱:维度建模的完全指南 数据仓库技术架构及方案 数据仓库建模教程 数据仓库生命周期工具箱 数据仓库实例 数据仓库数据架构设计 数据仓库维度建模设计原则及应用 数据仓库元数据管理 数据仓库中的粒度 数据仓库主题建模点滴 数据分析系统解决白皮书 数据库实施手册 主流数据仓库产品对比分析 OLAP解决方案:创建多信息系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员学习圈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值