美文网首页
Data Vault 数据仓库模型构建-3

Data Vault 数据仓库模型构建-3

作者: NEO_X | 来源:发表于2019-05-22 16:47 被阅读0次

    在Data Vault模型基础上构建数据集市

    数据仓库抽取数据的过程中,特别是第一次导入之后的每一次增量抽取往往会遇到这样的问题:业务数据库中的一些数据发生了更改,到底要不要将这些变化也反映到数据仓库中?
    在数据仓库中,哪些数据应该随之变化,哪些可以不用变化?考虑到这些变化,在数据仓库中的维度表又应该如何设计以满足这些需要

    但是在数据仓库中,其数据主要的特征一是静态历史数据,二是少改变不删除,三是定期增长,其作用主要用来数据分析。因此分析的过程中对历史数据就提出了要求,
    有一些数据是需要能够反映出在周期内的变化历史,有一些数据缺不需要,那么这些数据应该如何来控制。

    渐变维度1类 - Type 1 SCD

    • 保持业务数据和数据仓库中的数据始终处于一致。
    • 不记录历史数据。一切不需要维护的历史数据都可以选择这种类型。

    渐变维度2类 - Type 2 SCD

    • 尽可能的维护来自业务系统中的历史数据,能够真正捕获到这种历史数据的变化
    • 添加新的数据。使用的比较常见,基本上除了Type 1之外的情形都会优先考虑这种类型。

    渐变维度3类 - Type 3 SCD

    • 添加历史列。不会追踪所有的历史记录,只会追踪上一次的历史信息。需要记录历史数据,但是又不需要记录那么多。

    在不同的工具中对 SCD 的实现是不一样的,要关注的重点应该是具体的实现方式和解决思路的原型。

    构建过程

    最好先构建需要的PIT表和Bridge表,这样呢能够方便进行处理.

    构建渐变维度1类的数据集市

    它显示所有属性的最新值, 我们可以使用hub表(中心表)的键作为维度的代理主键 (PK)。建议使用现有的hub表中的代理键(MD5哈希列), 因为它已经是唯一的,
    并将节省为维度生成典型整数代理项的过程。这将节省处理时间, 并允许在维度之前或与维度并行加载事实数据表。维度中的所有其他列都将来自贡献hub和Satellite表。

    以已经构建好的 NorthWind DV模型为基础,构建 渐变1类维度表:

    1 
    

    构建渐变维度2类的数据集市

    渐变维度2类只是稍微困难一些。由于类型2跟踪值随时间变化, 这意味着每个业务主键的维度中可能有多行。因此,不能将hub表的业务主键用作维度表上的主键。
    如果使用的是DV2.0, 那么建议使用与原始DV模型中相同的MD5哈希方法来创建代理主键。因此, 要在这种情况下获得唯一键,需要创建一个基于业务主键加上SAT_LOAD_DTS的哈希键。

    以已经构建好的 NorthWind DV模型为基础,构建 渐变2类维度表:

    1 
    

    构建事实表

    相关文章

      网友评论

          本文标题:Data Vault 数据仓库模型构建-3

          本文链接:https://www.haomeiwen.com/subject/igvuzqtx.html