事实表设计:周期性快照与累积快照的应用与考量
在数据仓库的设计中,事实表的设计至关重要,它直接影响到数据的分析和查询效率。本文将深入探讨周期性快照和累积快照事实表的相关概念、应用场景以及设计时需要考虑的因素。
1. 周期性快照事实表
周期性快照事实表用于记录在特定时间点上的业务状态。它通常包含一个时间周期维度,以及一个或多个额外的维度,代表要采样的内容。以下是一些常见的周期性快照示例:
- 每日 :每个账户余额的快照;按产品和位置统计的库存产品水平快照。
- 每月 :按账户统计的余额快照。
在这些粒度声明中,维度引用描述了在事实表中记录一行的情况,这些引用对应着唯一的自然键值。当这些维度发生类型 2 缓慢变化时,任何给定的自然键在维度表中可能有多个行。但快照必须为每个自然键的一行记录一行,以避免重复计算。
例如,考虑月末账户余额的快照。假设某个账户由于地址变更发生了类型 2 变化,这意味着该账户在账户维度表中会有两行:一行是旧地址,另一行是新地址。在记录月末快照时,事实表应该只为该账户包含一行,使用当时有效的版本。
1.1 周期性快照的规则
周期性快照为定义其粒度的维度中的每个自然键组合仅记录一行。仓库团队的所有成员都必须理解这一要求,因为这对 ETL 过程有明显影响,并且所有团队成员都应意识到这一要求,同时星型架构的文档应反映这一情况。报告开发人员不应假设快照中包含某个账户在该期间不同部分的所有版本,否则可能导致严重后果。
超级会员免费看
订阅专栏 解锁全文
1406

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



