ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 数据仓库加载数据方法小结

数据仓库加载数据方法小结

原创 Linux操作系统 作者:zhgazn 时间:2013-06-05 23:30:26 0 删除 编辑
 数据仓库的数据加载是ETL的最后一步,这步涉及到如何加载经过抽取,清洗,转换的数据,最终提供给用户是干净、统一、永久的数据。数据从准备区加载到数据仓库,加载的方法取决于提取阶段使用的技术,并且可能随要填充的数据库的时间段或者非时间段部分而发生变化。
        如果使用静态提取技术,那么数据仓库的数据也被新数据完全替换。与之相反,如果使用增量技术那么更新策略也依赖数据仓库的覆盖时间范围而定。
        数据仓库的填充方法和顺序也是本文需要讨论的重点;首先需要填充的是维度表,因为星型架构结构表明每个维度表的主键和事实表的外键之间存在引用完整性约束。
        维度表的填充
        这里我们重点讨论增量填充。主要存在两个操作:
        - 确定要加载的数据集
        - 使用星型模型架构中的使用代理主键替换业务主键。
        首先,确定要加载的数据; 如果数据仓库的数据是瞬态的,那么应该确定发生改变的数据并替换他们。要通过比较最近一批数据和数据仓库的数据是否是同一组数据并且某些字段发生改变。通常可以通过更新或者先删除后插入的方式进行;还有另外一种方式就是对记录采用标志位的方式,在数据提取阶段,标志那个操作引起了改动。因此在更新数据仓库是可以根据标志位去做不同的操作。其实这种方式就是我们经常提取的缓慢变化维Type3. 同时,如果对数据仓库的数据记录到日志中,那么需要使用有效时间段的时间戳,比方加上startdate和enddate,因此这也是缓慢变化维的Type2。
        其次,替换主键;通过DBMS分配未被使用的数值为代理主键。然后根据系统的设计,对不同类型的缓慢变化维数据进行加载。
        事实表的填充
        事实表的填充和维度表类似,甚至要简单。根据标志位的标识,来做出插入,更新,删除操作。当然,如果维度表查用了代理主键,事实表的外键也必须用对应的代理主键。
        相对于抽取技术,填充更多是要注意星型模型中的完整性约束关系,但是如果在某些情况下,维度表存在孤儿情景,我们需要另外重点讨论。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/647161/viewspace-763144/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-06-05

  • 博文量
    16
  • 访问量
    56814