数据仓库技术
事实表技术简述
事实表结构
1,总是包含外键,且外键不能唯空。
2,事实表的设计完全依赖业务活动,不受最终报表的影响。
3,每行对应一个度量事件。
可加、半可加、半可加事实
1,可加事实:最灵活,最有用的事实。可以按照和事实表关联的任意维度汇总。
2,半可加事实:可以按照某些维度汇总。例如差额,或者新增额,对于时间就只能是筛选条件不能用作维度。
3,不可加事实:例如比率。比较好的做法是仓库中存入完全可加的数据。在最终计算出非可加事实前,将这些数据汇总到最终的结果集合中去。
事实表中的空值
1,事实表中除了外键,其余的字段可以存在空值,因为COUNT、SUM等均可对空值事实进行计算。
一致性事实
1,如果不同事实表中的事实技术定义是相同的,应该具有相同命名,如果不同则应该有不同的命名。
事务事实表
1,度量的数字必须与事务粒度保持一致。
2,事务事实表的一行对应空间或者时间上某点的度量事件。原子事务粒度可以确保对事务数据的最大化分片和分块。
周期快照表
1,每行汇总了发生在某一标准周期,如某天,某周,某月。粒度是周期的。其外键的粒度是均匀的,及时周期内没有活动发生,也会在事实表中为每个事实插入包含0或者空置的行
累计快照事实表
1,汇总了发生过程的开始和结束之间内的度量事件。都会包含时间外键。
无事实的事实表
1,存放仅仅记录一系列某一时刻发生的多维实体。例如 某时候、学生、教师、地点、课程等定义良好的外键
聚集事实表
1,针对原子粒度事实表数据进行简单的数字化上卷操作,目的是为了提高查询性能。通过对来自多个事实表的度量汇总而获得的。
合并事实表
1,将来自多个过程的,以相同粒度表示的事实合并为一个单一的合并事实表,这样能够带来方便。合并会增加ETL处理过程的负担,但是降低了BI应用分析的代价。合并事实表特别适合哪些需要共同分析的多过程度量。
维度表技术简述
维度表结构
1,每个维度表都包含单一的主键列。
2,维度表的主键可以作为与之关联的任何事实表的外键。
3,维度表通常比较宽,是扁平型非规范表,包含大量的低粒度的文本属性。
维度代理键
1,DW/BI需要申明对所有的维度的主键的空置,无法采用自然键或者附加日期的自然键。最好是建立无语意的整型主键。
自然键、持久键、超自然键
1,自然键,如员工编号。
2,持久键:数据仓库为员工编号创建一个单一键,这个单一键保持永久性不会发生变化。有时也被叫做超自然持久键。
3,最后的持久键应该独立于原始的业务过程。
下钻
1,下钻是商业用户分析数据的最基本的办法。GROUP BY ***
退化维度
1,维度除了主键外没有其他任何内容。常见于交易和累计快照事实表中。
非规范化扁平维度
1,能够实现维度建模的双重目标:简化以及速度
多层次维度
1,同一维度中划分多个层次,例如:日历日期的 中的日,周,月,季度,年; 位置维度多个地理层次中 洲,国家。
文档属性的标识与指示器
1,操作代码值所包含的意义应该分解成不同的表示不同描述性维度属性的部分。例如 code=0,code_desc=关闭。
维度表中的空值属性
1,推荐使用描述性字符串代替空置。例如:未知,Unknown。应该避免在维度属性中使用空值。
日历日期维度
1,能够非常方便的对事实表 按照属性的 日期,月份,财务进行划分,后面会章节会贴出实际工作中日历日期维度的维度表。
扮演角色的维度
1,不同的维度视图,即维度表中的列名被成为角色
杂项维度
1,一些列混杂,低粒度的标识和指示器,单独将这些不同的维度合并到一起形成杂项维度。
雪花维度
1,包含多重维度表层次,建立的多层次结构被成为雪花模式。
2,这种维度可以很精确表示层次化的数据,但是会给用户带来理解上的困难,也会影响查询性能,不建议使用。
支架维度
1,维度表中包含对其他维度表的引用。被引用的维度称为支架维度。但是尽量少用。
2,多数情况下,事实表和维度之间的关联应该由事实表来实现。
作者:数据僧
链接:https://www.jianshu.com/p/292de1ae3e02