搭建数据仓库第08篇:逻辑建模–5–维度建模核心之一致性维度2

目录

  • 前言
  • 维度表的类型
  • 维度表的使用场景
  • 维度表的键和属性
  • 小结

前言

前面从宏观的角度,讲述了7何问题。那么从微观的角度,具体的改怎样的来建设一致性维表呢? 本篇从表的类型和使用场景,以及建设过程中键的设置和属性的设置做一些总结。

维度表的类型

总体上讲,一般分为两类 TYPEI(不变) 和TYPEII表(变化)。

  • TYPEI
  1. 维度属性值持久不变,只有新增和删除。
  2. 属性能够在一定周期(比如一天)内不会变化。
  • TYPEII
  1. 缓慢变化维。部分维度属性可变化,但是变化的频次很低。
  2. 快速变化维。部分维度属性可变化,但是变化的频次很高。
  • 杂项维度
  1. 大量不同的零散的维度整合在一起

使用场景

  • TYPEI维表适用于大多数这种维度属性经久不变的信息描述,比如日期维度的大多数属性,门店的地址和名称等属性。一般来讲业务上的维度信息都是当天不变的,而且DW用来做数据统计分析是按照一定周期来看的,大多数情况是按天为周期。所以从数据分析的角度上来看,虽然所有维度属性不能能完全不变化,但是只要能获取到当天结束时候的维度信息的快照就可以满足业务上的数据需求。对于生命周期完全不变化的可以建成全量表,其他可以建成快照表。在不明确的情况下优先选择快照表。快照也不会占用太多的空间。
  • TYPEII
    • 缓慢变化维。在有些情况下,业务上的统计周期相对比较短,就不能按照TYPEI的情况来建设表。此时如果维度变化的频次没有那么快的话,可以建成缓慢变化维度表。缓慢变化维表有几种建设方法,比较常见的一种就是采用effect_from_dt(记录有效起始时间),effect_to_date(记录有效结束时间),current_flag(当前是否有效)等字段的组合。比如营销过程中,一家门店在某几个小时采用的营销手段不同,为了获取当天所有交易的成本,如果没有现成的营销数据的话,完全可以按照交易的时间来匹配当时的营销活动,从而获取营销的成本。
    • 快速变化维。情景跟缓慢变化维差不多,唯一的问题在于维度属性变化超级频繁,甚至是秒级分钟级的变化频次,这时候如果依然采用缓慢变化维的构建方式,维表的数据量暴增的很厉害。而且大多数的维度属性没有变化,只有个别的属性变化的厉害而已,导致大量的空间存储的都是不变的信息。这种情况的结局方案是,绝大多数不变的或者变化频次很低的属性集合建成TYPEI或者缓慢变化维表, 而针对变化频次超快的属性单独建立成微型维度表。这两张表没有依赖关系,都是各自挂在事实表上的。

主键和属性

维表主键的选择有两种:自然键,代理键。自然键是具有业务含义的ID,比如身份证号,日期等等,代理键是自动生成的唯一的键。这两种改如何做出选择呢? 如果说业务ID比较有该业务的独特性(不需要跟其他业务集成),或者具有共享性(比如公司级别的,门店ID等等),可以考虑使用自然键,特别的是日期维表直接使用日期来做主键。如果说需要不同的业务维度信息进行整合集成,这种情况比较适合生成代理键来做主键。

小结

建设维表看似比较简单,大多数情况下业务库也会直接有,但是除了需要将不同层次的维度进行冗余(星型模型),也需要在细节上把握以下维度建设的注意,毕竟维度的错误将引起所有数据的错误。

PS 最近一直在加班啊,近2周没有好好总结了,本篇维度建设重新开个头,争取抽出一些时间好好学习和总结,只有总结才能提高啊。

时间: 2024-08-01 10:41:09

搭建数据仓库第08篇:逻辑建模–5–维度建模核心之一致性维度2的相关文章

搭建数据仓库第05篇:逻辑建模–2–范式建模

目录 前言 使用情景 如何来范式建模 使用的效果 小结 前言 上篇讲述了一些抽象的概念模型和逻辑模型设计的东西,接下来就该讲述如何来一步一步的利用Inmon和Kimball数据仓库的理论来建设数据仓库的模型,主要分几块吧,一个是范式建模,然后是维度建模(分几篇总结),最后是因地制宜,按照自己的平台来考虑如何综合的考虑Inmon和Kimball数据仓库的理论的应用. 本篇将会讲述范式建模部分.当然3范式的概念也不再赘述,度娘全都有. 使用情景 提起数据仓库建模,谁都会知道Inmon的以范式建模为理

搭建数据仓库第04篇:逻辑建模–1–概要

目录 前言 原则 内容 小结 前言 上一篇讲述了数据仓库模型设计中的业务建模和领域概念建模,接下来就自然而然的来到了逻辑数据建模LDM(Logical Data Model)的阶段,这个阶段可以说是建模最重要的一环(也就是维度建模).逻辑建模涉及到了整个数据仓库所有层次的模型设计,从DW到DM甚至到了OLAP.当然重点的设计还是在DW和DM层当中. 有些地方逻辑建模的范畴更加宽泛,包含了前面的业务主题和领域概念模型的设计(看下图). 本篇只是涉及了狭隘的部分(红色框住的部分). 内容 了解了逻辑

搭建数据仓库第06篇:逻辑建模–3–维度建模核心之总线架构

目录 前言 维度建模 星型模型 小结 前言 维度建模是Kimball提出来的经典的数据仓库建模思想.维度建模提倡针对某一主题,通过建设维度和事实来快速建设数据仓库.与维度建模相对应的自然是Inmon的范式建模.在上篇也提到范式建模非常适合应用于中间明细层的建设,那么在DW/DM层为什么选择使用维度建模呢?这是第一个问题.维度建模的核心是总线架构,一致性维度,一致性事实.本篇的主题是总线架构,那为什么说维度模型是总线式架构?本篇通过维度建模和星型模型的讲解来分别解释这两个问题. 维度建模 维度模型

搭建数据仓库第01篇:数据仓库开发的生命周期

生命周期方法为我们在数据仓库开发过程中提供了路标的作用,生命周期方法的总体结构和步骤有 定义业务需求 技术路径 技术架构设计 产品的选择和安装 数据路径 维度建模 物理设计 ETL设计和开发 BI应用路径 BI应用设计 BI应用开发 后续会按照这个顺序依次做些总结和思考.

【转帖】Mysql多维数据仓库指南 第一篇 第1章

 Mysql多维数据仓库指南 第一篇基本原理 章节列表: 第1章:基本组成 第2章:维度历史 第3章:维度可加性 第4章:维度查询 本篇概述 你将运用关系数据库来实施一个维度数据仓库.事实表和维表这两种类型的关系表构成了一个数据仓库模式的基本部分,在本书的第一部分,你将用mysql数据库建立这些基本部分. 第1章:基本组成   概述        本章将了解两个重要的主题:星型模式和代理键.星型模式是一种维度数据仓库的数据结构.代理键是在数据仓库中添加到事实表以作为主键的字段. 在本章你将开始一

数据仓库系列之维度建模

上一篇文章我已经简单介绍了数据分析中为啥要建立数据仓库,从本周开始我们开始一起学习数据仓库.学习数据仓库,你一定会了解到两个人:数据仓库之父比尔·恩门(Bill Inmon)和数据仓库权威专家Ralph Kimball.Inmon和Kimball两种DW架构支撑了数据仓库以及商业智能近二十年的发展,其中Inmon主张自上而下的架构,不同的OLTP数据集中到面向主题.集成的.不易失的和时间变化的结构中,用于以后的分析;且数据可以通过下钻到最细层,或者上卷到汇总层;数据集市应该是数据仓库的子集;每个

手把手教你搭建LyncServer2013之准备篇(一)

这次实验的拓扑结构如下: 首先准备AD域,把DC这台服务器提升为域服务器,在这里,域服务器的安装就不上图了,DNS会随域控制器的安装一起安装,这次安装的Lync版本为Lync Server 2013,规划的Lync内部WEB地址和外部WEB地址一样,都为pool01.iSusan.cn,而两台Lync前端做为DNS轮询负载,所以在DNS下需要加入如下A记录: 192.168.137.12 pool01.iSusan.cn 192.168.137.13 pool01.iSusan.cn 192.1

数据仓库专题(2)-Kimball维度建模四步骤

一.前言 四步过程维度建模由Kimball提出,可以做为业务梳理.数据梳理后进行多维数据模型设计的指导流程,但是不能作为数据仓库系统建设的指导流程.本文就相关流程及核心问题进行解读. 二.数据仓库建设流程 以下流程是根据业务系统.组织结构.团队结构现状设定的数据仓库系统建设流程,适合系统结构复杂,团队协作复杂,人员结构复杂的情况,并且数据仓库建设团队和业务系统建设团队不同的情况.具体流程如下图所示: 图1 数据仓库系统建设流程 三.四步维度建模 Kimball四步建模流程适合上述数据仓库系统建设

数据仓库专题(22):总线架构和维度建模优势-杂项

一.总线架构 维度建模的数据仓库中,有一个概念叫Bus Architecture,中文一般翻译为“总线架构”.总线架构是Kimball的多维体系结构(MD)中的三个关键性概念之一,另两个是一致性维度(Conformed Dimension)和一致性事实(Conformed Fact). 在多维体系结构(MD) 的数据仓库架构中,主导思想是分步建立数据仓库,由数据集市组合成企业的数据仓库.但是,在建立第一个数据集市前,架构师首先要做的就是设计出在整个企业 内具有统一解释的标准化的维度和事实,即一致