数据仓库-高级事实表技术-读书笔记五

事实表代理键
1,可以用作所有维度表的主键
2,单列代理事实键,不与任何维度关联的事实表代理键
作用一:作为事实表的唯一主键列
作用二:在ETL中,用作事实表行的直接标识符
作用三:允许将事实表更新操作分解为风险更小的插入和删除操作
蜈蚣事实表
一些设计这为多对一层次的每层建立不同的规范化维度,并将所有外键包含在一个事实表中。

数据仓库-高级事实表技术-读书笔记五_第1张图片
蜈蚣事实表

当设计者将多个外键嵌入到单一粒度维度表中,而不是建立杂项维度时候也会产生蜈蚣表
尽量避免使用蜈蚣表

属性或事实的数字值
当遇到一些数字值,难以将这些值分类到维度表还是事实表
当这些数字是用于计算则应该是在事实表
当这些数字值过滤或者分组,则应该放在维度表

日志/持续时间事实
例如流水线包含大量的步骤,可能存在上百个延迟。根据过程的开始时间点为每一个步骤存储一个时间延迟,简单的用减法计算任何两个步骤间可能存在的延迟

为每个步骤记录它的开始时间,延迟时间,相当于为每个动作记录下操作日志
头/行事实表
头指针行与多个事务行关联
头/行模式 (也叫父/子模式),所有的父/子模式的维度结构,父子维度应该被包含在一个级别事实表中
分配的事实
头指针/行事务数据与对应的事实具有不同粒度这样的情况经常发生。应该尽量分配头指针事实,使其基于业务所提供的规则划分为行级别,分配的事实可以按照所有维度进行分片并上钻操作。多数情况下,可避免建立头指针级别的事实表,除非这样的聚集能够获得查询性能的改善。
利用分配建立利润与损失事实表
利润与损失事实表通常在DW/BI程序的早起实现阶段不会处理

多种货币事实

数据仓库-高级事实表技术-读书笔记五_第2张图片
多种货币事实表

包含一对列,其中一列为真实结算的币种,另外一列为标准币种,标准币种在ETL过程中按照货币转换规则建立。该事实表必须有一个货币维度用于区分事务的真正货币

多种度量事实单位
某些业务过程需要事实同时以多种度量单位表示。例如:供应链可能需要对相同事实以平台,搬运,零售,以及单个扫描单元构建报表。
将事实以公认的标准度量单位存储,同时存储标准度量于其他度量的转换系数。可以按照用户的不同观点进行部署,使用适当选择的转换系数。

年-日事实
可靠,可扩展的处理方式是 直接在BI应用或者OLAP多为数据库计算年-日矩阵,而不是在事实表中查出

多遍sql以避免事实表间连接
不应该用跨事实表的外键处理两个事实表的连接操作。要采用跨钻方式使用两个事实表,并对结果按照公共行头指针属性值,进行排序-融合操作以产生正确结果

针对事实表的时间跟踪
在事实表中增加有效事件,行截止日期和当前表示是非常有用的,于采用SCD2缓慢变化维度,在事实行有效时获取时间的方式类似。尽管不太常用,但该模型能解决诸如缓慢变化库存平衡的场景,其中频繁周期快照可以在每个快照上加载同一行

迟到的事实
当迟到度量事件出现时候,必须搜索相关维度以发现有效的维度键


历史文章

数据仓库-概述-读书笔记一
数据仓库-DW/BI架构对比-读书笔记二
数据仓库-事实表/维度表技术-读书笔记三
维度处理-数据仓库-读书笔记(四)


参考资料

数据仓库工具箱


如果您觉得我用心了,觉得您有所收获,麻烦关注下我吧,您的关注就是我的动力,因为我不是一个人在前行。

数据僧

你可能感兴趣的:(数据仓库-高级事实表技术-读书笔记五)