关于解决缓慢渐变维的3种方式-创新互联
什么是渐变维?
维度可以根据变化剧烈程度主要分为
无变化维度
和
变化维度
。例如一个人的相关信息,身份证
号、姓名和性别等信息数据属于不变的部分;而婚姻状态、工作经历、工作单位和培训经历等属于
可能会变化的字段。
大多数维度数据随时间的迁移是缓慢变化的。比如增加了新的产品,或者产品的ID号码修改了,或者产品增加了一个新的属性,此时,维度表就会被修改或者增加新的记录行。这样,在设计维度和使用维度的过程中,就
要考虑到缓慢变化维度数据的处理。
缓慢渐变维
,即维度中的
属性可能会随着时间发生改变
,比如包含用户住址Address的
DimCustomer维度,用户的住址可能会发生改变,
进而影响业务统计精度
,DimCustomer维度就
是缓慢渐变维(SCD)。
SCD有三种分类,我们这里以顾客表为例来进行说明:
假设在第一次从业务数据库中加载了一批数据到数据仓库中,当时业务数据库有这样的一条顾
客的信息。
顾客 BIWORK ,居住在北京,目前是一名 BI 的开发工程师。假设 BIWORK 因为北京空气
质量 PM2.5 等原因从北京搬到了三亚。那么这条信息在业务数据库中应该被更新了。
那么当下次从业务数据库中抽取这类信息的时候,数据仓库又应该如何处理呢?
我们假设在数据仓库中实现了与业务数据库之间的同步,数据仓库中也直接将词条数据修改更
新。后来我们创建报表做一些简单的数据统计分析,这时在数据仓库中所有对顾客 BIWORK 的销
售都指向了 BIWORK 新的所在地 - 城市三亚,但是实际上 BIWORK 在之前所有的购买都发生在
BIWORK 居住在北京的时候。
通过这个简单的例子,描述了因一些基本信息的更改可能会引起数据归纳和分析出现的问题。
SCD1(缓慢渐变类型1)
通过更新维度记录
直接覆盖
已存在的值。
不维护记录的历史
。一般用于修改错误的数据,
即历
史数据就是错误数据,除此没有他用
。
在数据仓库中,我们可以保持业务数据和数据仓库中的数据始终处于一致。可以在 Customer
维度中使用来自业务数据库中的 Business Key - CustomerID 来追踪业务数据的变化,一旦发生变化那么就将旧的业务数据覆盖重写。
DW 中的记录根据业务数据库中的 CustomerID 获取了最新的 City 信息,直接更新到 DW
中。
网页标题:关于解决缓慢渐变维的3种方式-创新互联
当前URL:http://tyjierui.cn/article/csdejh.html
![](/upload/otherpic32/a799ace22b2d4d56a0acb9259e748349.jpg)
![](/upload/otherpic32/4501f0e45a204a7488527b57f8a9e931.jpg)
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
网页标题:关于解决缓慢渐变维的3种方式-创新互联
当前URL:http://tyjierui.cn/article/csdejh.html