41、数据仓库设计与ETL及维度模型构建指南

数据仓库设计与ETL及维度模型构建指南

1. 缓慢变化的延迟处理

在数据加载过程中,缓慢变化的延迟处理会带来挑战。当事实数据加载时看似正确的维度记录,可能会被后续到来的变更所取代。可以通过使用带时间戳的维度来解决这个问题。每当向维度中添加记录的新“版本”时,都会为其标记一个生效日期。扫描自然键值的现有事实,将更新版本生效后发生交易时间的记录进行更新。

2. 内务管理列

在维度设计和ETL过程的讨论中,内务管理列是不可忽视的一部分。维度表中的内务管理列通常并非供最终用户使用,而是用于辅助特定的ETL或报告活动。事实表的每一行也可以附加类似的内务管理信息。

2.1 维度表中的内务管理列

维度表中的列分为代理键、自然键或维度属性。维度属性通常分为类型1和类型2,也可能存在类型3属性,用于存储与类型1属性关联的先前值。内务管理列用于指定通常不供最终用户使用,但对加载过程或ETL过程有用的列。以下是一些常见的内务管理列及其作用:
| 列名 | 作用 |
| — | — |
| current_version | 用于仅筛选维度表中的当前版本记录,在浏览查询或加载事实时识别事务的适当代理键可能有用。 |
| effective_date和expiration_date | 在需要支持维度的时间点分析时有用,避免构建单独的事实表来跟踪更改历史,也可在加载事实时识别每个事务的适当代理键。 |
| type1_hash和type2_hash | 可用于简化ETL过程中类型1和类型2更改的识别。 |
| creation_date | 包含每行插入表的日期和时间。 |
| updat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值