etl增量抽取机制.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
etl增量抽取机制

ETL中的增量抽取机制【摘要】: 为实现数据仓库中数据的高效更新,探讨在数据仓库的ETL(数据的抽取、转换和装载)子系统中进行数据增量抽取时所采用的常见机制,对这些机制的原理,条件,方法以及运行效率等方面进行了详细的阐述,并从兼容性,完备性、性能和侵入性4个方面分析和比较了各种数据增量抽取机制的优劣性。最后,总结了选取数据增量抽取机制所应遵循的主要原则和标准。关键词:数据抽取转换与加载;增量抽取;数据仓库;商业智能0引言增量抽取是数据仓库ETL(extraction,transformation,loading,数据的抽取、转换和装载)实施过程中需要重点考虑的问题。在ETL过程中,增量更新的效率和可行性是决定ETL实施成败的关键问题之一,ETL中的增量更新机制比较复杂,采用何种机制往往取决于源数据系统的类型以及对增量更新性能的要求。本文重点对各种方法进行对比分析,从而总结各种机制的使用条件和优劣性,为数据仓库项目中ETL工程的实施提供增量抽取技术选型方面的参考。1 ETL概述ETL包括数据的抽取、转换、加载。数据抽取:从源数据源系统抽取目标数据源系统需要的数据;数据转换:将从源数据源获取的数据按照业务需求,转换成目标数据源要求的形式,并对错误、不一致的数据进行清洗和加工;数据加载:将转换后的数据装载到目的数据源。ETL作为构建数据仓库的一个环节,负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。ETL原来主要用于构建数据仓库和商业智能项目,现在也越来越多地应用于一般信息系统数据的迁移、交换和同步。在ETL的3个环节中,数据抽取直接面对各种分散、异构的数据源,如何保证稳定高效的从这些数据源中提取正确的数据,是ETL设计和实施过程中需要考虑的关键问题之一。在集成端进行数据的初始化时,一般需要将数据源端的全部数据装载进来,这时需要进行全量抽取。全量抽取类似于数据迁移或数据复制,它将数据源中的表或视图的数据全部从数据库中抽取出来,再进行后续的转换和加载操作。全量抽取可以使用数据复制、导入或者备份的方式完成,实现机制比较简单。全量抽取完成后,后续的抽取操作只需抽取自上次抽取以来表中新增或修改的数据,这就是增量抽取。在数据库仓库中,无论是全量抽取还是增量抽取,抽取工作一般由数据仓库工具来完成,如oracle的OWB,SqlServer的Integration Services以及专业的ETL商业产品InformaticalPowerCenter等。如果企业的预算有限,也可以考虑使用开源项目Pentaho。这些工具都有一个特点,就是本身并没有实现特定的增量抽取机制,它们完成全量抽取后,用户可以通过定制计划任务的方式,实现按一定的周期从源系统中抽取当前周期内产生的增量数据,但至于这些增量数据如何产生,工具并没有提供自动生成增量数据的功能。所以,ETL过程中增量数据的产生机制是一个需要用户重点研究和选择的问题。下面讨论各种增量抽取的实现机制原理。2增量抽取机制要实现增量抽取,关键是如何准确快速的捕获变化的数据。优秀的增量抽取机制要求ETL能够将业务系统中的变化数据按一定的频率准确地捕获到,同时不能对业务系统造成太大的压力,影响现有业务。相对全量抽取而言,增量抽取的设计更复杂,增量数据抽取中常用的捕获变化数据的方法有以下几种:2.1触发器方式触发器方式是普遍采取的一种增量抽取机制。该方式是根据抽取要求,在要被抽取的源表上建立插入、修改、删除3个触发器,每当源表中的数据发生变化,就被相应的触发器将变化的数据写入一个增量日志表,ETL的增量抽取则是从增量日志表中而不是直接在源表中抽取数据,同时增量日志表中抽取过的数据要及时被标记或删除。为了简单起见,增量日志表一般不存储增量数据的所有字段信息,而只是存储源表名称、更新的关键字值和更新操作类型(insert、update或delete),ETL增量抽取进程首先根据源表名称和更新的关键字值,从源表中提取对应的完整记录,再根据更新操作类型,对目标表进行相应的处理。例如,对于源表为Oracle类型的数据库,采用触发器方式进行增量数据捕获的过程如下:创建增量日志表DML _LOG:create table DML_LOG(ID NUMBER primary key, //自增主键TABLE NAME VARCHAR2(200) ,//源表名称RECORD_ID NUMBER, //源表增量记录的主键值DML_TYPE CHAR(1) , //增量类型,I表示新增:U表示更新;D表示删除EXECUTE_DATE DATE//发生时间);(2)为DML_LOG创建一个序列SEQ_DML_LOG,以便触发

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档