最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
开启左侧

kimball维度建模(4)-统一数仓层DW与事实表设计

[复制链接]
发表于 2021-10-29 20:50:49 | 显示全部楼层 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
为什么要设计数据分层  ——参考《一种通用的数据仓库分层方法》
  这是数据仓库同学在设计数据分层时首先要被挑战的问题,类似的问题可能会有很多,比如说“为什么要做数据仓库?”、“为什么要做元数据管理?”、“为什么要做数据质量管理?”。当然,这里我们只聊一下为什么要做设计数据分层。
  作为一名数据的规划者,我们肯定希望自己的数据能够有秩序地流转,数据的整个生命周期能够清晰明确被设计者和使用者感知到。直观来讲就是数据层次、依赖关系清晰。
  但是,大多数情况下,我们完成的数据体系却是依赖复杂、层级混乱的。在不知不觉的情况下,我们可能会做出一套表依赖结构混乱,甚至出现循环依赖的数据体系。
  因此,我们需要一套行之有效的数据组织和管理方法来让我们的数据体系更有序,这就是谈到的数据分层。数据分层并不能解决所有的数据问题,但是,数据分层却可以给我们带来如下的好处:
  • 清晰数据结构:每一个数据分层都有它的作用域和职责,在使用表的时候能更方便地定位和理解
  • 减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算
  • 统一数据口径:通过数据分层,提供统一的数据出口,统一对外输出的数据口径
  • 复杂问题简单化:将一个复杂的任务分解成多个步骤来完成,每一层解决特定的问题

数仓分层  ——参考数据中台-数据体系建设
  贴源数据层ODS、统一数仓层DW(细分为明细数据层DWD和汇总数据层DWS)、标签数据层TDM、应用数据层ADS。
  其中,DW层采用维度建模的思想,包含维度表与事实表。涉及到常用的事实表如下:
  1)事务事实表-记录业务事务级别数据(增量更新)
  2)周期快照事实表-记录时间周期内的聚集事实或状态度量(增量更新)
  3)累计快照事实表-覆盖一个事务从开始到结束之间所有关键事件(全量刷新)
事务事实周期快照累计快照
周期离散的事务发生时间点以有规律的间隔产生快照时间跨度不确定的变化的流程节点
粒度每个事务或事务线一行每个快照周期加其他维度一行 每次管道事件一行(包含事件整个流程)
日期维度事务日期快照日期管道事件中每个里程碑节点涉及多日期
事实事务度量时间间隔内累积度量、状态度量管道事件度量
事实表稀疏性与事务活动有关稠密与管道事件有关
事实表更新增量更新增量更新全量刷新


其他  ——无事实的事实表、聚集事实表、合并事实表
无事实的事实表
只是形容存在某些事件,没有可记录的数字化事实。常用于两个场景:
1)“关注什么未发生”。如处于销售状态但尚未销售的产品(没有发生销售事实)有哪些,需要由促销范围事件表产品(无促销事实)-销售事实表中已卖出产品。
2)“客户/代理分配”。销售经理与客户分配关系表(有一本书专门讲了“关系”),如尚未产生销售事实的代理分配有哪些,需要由分配关系-已发生销售行为的分配关系。
聚集事实表
对多个原子粒度事实表进行事务度量汇总、进行简单的数字化上卷获得。
合并事实表
将来自多过程的事实打横,以相同粒度合并放在一个单一的事实表中。难点在于不同的过程事实的公共维度处理。

楼主热帖
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-3-29 13:52

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表