ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 数据仓库源数据的提取技术小结

数据仓库源数据的提取技术小结

原创 Linux操作系统 作者:zhgazn 时间:2013-06-05 23:22:03 0 删除 编辑
 数据仓库的建设是一项浩大的工程,而ETL的过程是构建数据仓库内容的过程,ETL分成几个阶段,分别是抽取,清洗,转换,加载;这篇文章通过对抽取阶段的小结,希望能给大家带来用处。
       抽取数据发生在ETL的第一个阶段;要定义抽取过程,必须对源数据的数据类型进行分类;通常根据源数据系统对源数据的保存方式来分类,可以分成三类:第一,如果源数据只是保存当前数据的快照,并且在数据无效时重写相应的数据,则数据是瞬态数据;第二,如果数据库保存先前数据版本的一定数量,但是没有办法了解每个信息段的可用时间,则数据成为半定期数据。第三,如果数据库显示定义的时间间隔中跟踪数据的所有改动,则称为时间段(定期)数据。比如库存(存货水平)通常是瞬态的,一旦新货物抵达就重写它们。
       抽取数据最简单的方法是静态抽取(也称为全量)这种方法要扫描操作型数据中的全部数据,一般适用在系统启动阶段。
       检测改动以限制读取的数据量的技术比静态抽取更高效,因为特定时间段的数据修改比整个数据库的数据量少很多。基于这种方式的技术称为增量抽取;它可以分为两大类:“立即”和“延迟”;
       立即抽取技术在操作型数据库更新后立即记录对数据的修改。可以分成以下几种方法:
       •  应用程序辅助:在应用程序中创建一组函数,以便把修改的数据存储到数据准备区域;而不会修改应用程序的外部行为。应用程序辅助的抽取提供了一种功能强大的解决方案,但是实现起来比较难,因为它需要修改现有的应用程序,有可能给源操作型系统带来不利影响。但是在一些旧系统中,特别不支持触发器,日志和时间戳的遗留系统中,可能是唯一的增量技术。通常我们可以在源系统中增加一个API层,这样可以访问源系统的数据的同时,保存和DBMS独立。
    •  基于触发器技术的抽取方;在源系统中,如果触发器技术能支持,我们就可以基于触发器技术,通过发生特定事件时DBMS直接触发。为了提取数据,触发器需要与每个事件关联,然后触发器将修改后的数据存储到数据准备区或者特殊文件。从而造成源系统性能不佳。由于性能原因,不常用。
         •  基于日志的抽取方法;抽取改动的数据操作基于DBMS日志文件。但是由于DBMS的日志文件难以正确解释,因此这个方法对于实施团队难以实现,一般提取模块有RDBMS的厂商提供;
    除了立即抽取技术,我们还可以采用延迟抽取技术,延迟抽取技术可以分成以下:
   •  基于时间戳的抽取技术;根据这种延迟抽取技术,数据源架构中应该具有一个或者多个时间戳属性,用于标识最近一次执行数据抽取过程后修改的数据。跟其他技术相比,基于时间戳的技术有效性取决于操作型数据库,如果操作型数据是是瞬态还是半定期,如果是,则不能用这个技术。
   •  文件比较;这也是一种延迟抽取技术,比较相邻的两个版本以突出其不同。这种技术在提取数据后,下次提取前,在数据准备区域上次保存提取的数据,需要维护两个完整版本,开销大;适合操作型数据的存储基于文件,或者DBMS不支持触发器和日志,还有遗留系统。
以上是一些抽取技术的概括和总结,每种技术都有自己的特点,因此在考虑选用的时候要特别考虑当前的环境和情景,具体情况具体分析,不能一概而论

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

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2013-06-05

  • 博文量
    16
  • 访问量
    56817