zoukankan      html  css  js  c++  java
  • 理解缓慢变化维(Slowly Changing Dimension)

    “缓慢变化维度”是在构建数据仓库时比较常见的一种情况。简而言之它适用于这种情况——数据记录会随着时间而发生变化


    举个例子:

    Larry是S公司的一个职员。他居住在上海,于是查找用户表有以下记录:

    Record ID Name Locate
    1001  Larry Shanghai



    在一段时间以后,Larry被派遣到了北京的分公司工作。那么S公司如何更新员工信息表以反映出这次变化?这个就是缓慢变化维的问题所在。

    通常有三种方法解决该问题:

    Type 1: 替换原始记录

    Record ID Name Locate
    1001  Larry Beijing

    该方法优点是简单方便;缺点是无法追溯历史数据。

    Type 2: 插入一条新记录

    Record ID Name Locate
    1001 Larry Shanghai
    1002 Larry Beijing

    该方法的优点是保留了全部的历史记录;缺点是使得数据表记录飞涨,可能导致影响查询效率。


    Type 3: 更新原始表结构

    Record ID Name Original Locate Current Locate Effective Date
    1001 Larry Shanghai Beijing 2014-01-01

    该方法既可以反应历史记录,也可以避免成倍的数据增长。但是缺点是适用场景非常少,仅能反映出部分历史记录。




    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    JQuery
    C#基础知识
    CSS
    学习.NET
    Grunt常见问题
    一个小型的类库
    SQL字符串处理!
    安装Java8以后,Eclipse运行异常解决方案
    谈薪四式让你谈好薪
    使用js实现input输入框的增加
  • 原文地址:https://www.cnblogs.com/larryqian86/p/4695599.html
Copyright © 2011-2022 走看看