交易、快照与累积快照解析
在数据处理和分析领域,交易事实表和快照事实表是两种重要的数据结构,它们各自有着独特的特点和适用场景。
交易事实表的特性
交易事实表需要有明确的粒度定义,但这并不意味着它必须与所有维度都建立强制关系。对于不参与事实表粒度的维度,可以建立可选关系。例如在零售销售中,并非所有交易都有销售人员参与,为避免在事实表中记录空值的销售人员键,可以在销售人员维度中创建一个特殊行来表示“无适用人员”。
交易事实表具有以下几个显著特性:
- 稀疏性 :交易事实表是稀疏的,仅会为实际发生的活动记录行,而非为所有可能的维度值组合记录。例如,简单的订单星型模型不会为每个销售人员、产品和客户的组合每天都记录行,否则会导致数据过度增长,且报告中会充斥大量事实值为零的无关行。只有在订单发生时才会记录行。
- 包含可加性事实 :通常记录可加性事实。大多数非可加性测量,如比率,应分解为完全可加性的组件。这样可以将事实表中的粒度数据聚合到任何所需的详细级别,再计算比率或非可加性事实。例如,若两个产品的利润率均为 10%,不能简单认为总利润率是 20%,而应存储利润率的组件——利润金额和订单金额,在需要利润率时,先聚合这些组件,再计算比率。
快照事实表的出现背景
有时,测量一系列交易的影响与测量交易本身同样重要,这些影响被称为状态测量,常见的如账户余额和库存水平。虽然有些状态测量可以通过聚合相关交易来确定,如通过累加所有圆珠笔的入库量并减去出库量来计算库存数量,但这是一个效率极低的过程。而且,有些状态测量无法描述为一系列交易的影响,如水库水位、工业机械内的
超级会员免费看
订阅专栏 解锁全文
9

被折叠的 条评论
为什么被折叠?



