01 - 事实表结构

发生在现实世界中的操作型事件,其所产生的可度量值,存储在事实表中。从最低的粒度来看,事实表行对应一个度量事件,反之亦然。除数字度量外,事实表总是包含外键,用于关联与之相关的维度,还包含可选的退化维度键和日期/时间戳。查询请求的主要目标是基于事实表开展计算和聚合操作。所以,事实表肯定包含,度量值和维度外键,用于计算和聚合

 

02 - 可加、半可加、不可加事实

事实表中的数字度量可分为三类。
  • 最灵活、最有用的事实是完全可加。可加性度量可以按照与事实表关联的任意维度汇总

  • 半可加度量可以对某些维度汇总,但不能对所有维度汇总。差额是最常见的半可加事实,除了时间维度外,他们可以跨所有维度进行加法操作。

  • 完全不可加,例如,比率。对非可加事实,一种好的方法是,尽可能存储非可加度量的完全可加的分量,并在计算出最终的非可加事实前,将这些分量汇总到最终的结果集合中,最终计算通常发生在BI层和OLAP多维数据库层

 

 

03 - 事实表中的空值

事实表可以存在空值度量。所有聚合函数(SUM,COUONT,MIN,MAX,AVG)均可针对空值事实计算。但是,事实表中的外键不能存在空值,否则会导致违反参照完整性的情况发生。关联的维度表必须用默认行(代理键)而不是空值外键表示未知的或无法应用的条件。

 

04 - 一致性事实表

如果某些度量出现在不同的事实表中,如果需要比较或计算不同事实表中的事实,应保证针对事实的技术定义是相同的。如果不同的事实表定义是一致的,则这些一致性事实应该具有相同的命名,如果他们不兼容,则应该有不同的命名用于告诫业务用户和BI应用。

事实表中的每行数据代表一个业务事件(下单、支付、退款、评价等)。“事实”这个术语表示的是业务事件的度量值(可统计次数、个数、件数、金额等),例如,订单事件中的下单金额

 

04 - 事务事实表

事务事实表的一行对应空间或时间上某点的度量事件。原子事务粒度事实表是维度化及可表达的事实表,这类健壮的维度确保对事实数据的最大化分片和分块。事务事实表可以使稠密的,也可以是稀疏的,因为仅当存在度量时才会建立行。这些事实表总是包含一个与维度表关联的外键,也可能包含精确的时间戳和退化维度键。度量数字事实必须与事务粒度保持一致。作为事实表里的一行数据,一旦事务被提交,事实表数据被插入,数据就不再进行更改,其更新方式为增量更新。如:销售订单记录,支付流水等

 

06 - 周期快照事实表

周期快照事实表中的每行汇总发生在某一标准周期,如:某一个天,某周、某月的多个度量事件。粒度是周期性的,而不是个体的事务。周期快照事实表通常包含许多事实,任何与事实表粒度一致的度量事件都被允许存在。这些事实表外键的密度是均匀的,因为即使周期内没有活动发横,也会在事实表中为每个事实插入包含0或控制的行。周期快照事实表中不会保留所有数据,只保留固定时间间隔的数据,如:每天每月的销售额,每月的账户余额,购物车事实表,收藏事实表等

 

07 - 累积快照事实表

累积快照事实表的行汇总了发生在过程开始和结束之间可预测步骤内的度量事件。管道或工作流过程,具有定义的开始点,中间过程,定义的结束点;它们在此类事实表中都可以被建模。通常在事实表中针对过程中的关键步骤都包含日期外键。累积快照事实表中的一行,对应某一具体的订单,当订单产生时会插入一行。当管道过程发生时,累积事实表行被访问并修改。如:下单时间、支付时间、完成时间、物流时间、完成时间等。

 

08 - 无事实的事实表

尽管多数度量事件获取的结果是数字化的,但也存在某些事件仅仅记录一系列某一时刻发生的多维实体。例如:在给定的某一天中发生的学生参加课程的事件,没有可记录的数字化事实,但该事实行带有一个包含日历天、学生、教师、地点、课程等定义良好的外键。同样,客户交际也是一种事件,但没有相关的度量。无事实的事实表也可以分析发生了什么。这类查询总是包含两个部分:包含所有可能事件的无事实覆盖表,包含实际发生的时间的活动表。当活动从覆盖表中减除时,其结果是尚未发生的事件

 

09 - 聚集事实表

聚集事实表是对院子粒度事实表数据进行简单的数字化上卷操作,目的是为了田炯查询性能。聚集事实表包含外键以缩小一致性维度,聚集事实表的构建是通过对来自多个原子事实表(事务事实表)的度量的汇总而来。

 

10 - 合并事实表

通常将来自多个过程的,以相同粒度表示的事实合并为一个单一的合并事实表,这样能够带来方便。例如:
  • 订单事实表和订单详情事实表,他们是一对多的关系,后者的字段描述更详细,可以合并为一张事实表。

  • 现货销售可以与销售预测合并为一张事实表,与针对多个不同的事实表采用下钻应用比较,这样做可以使对现货及预测任务的分析变得简单快捷。

合并事实表会增加ETL处理过程的负担,但降低了BI应用的分析代价。合并事实表特别适合那些经常需要共同分析的多过程度量。

事实表_数据