打印本文 打印本文  关闭窗口 关闭窗口  
ETL增量抽取
作者:佚名  文章来源:javaeye  点击数  更新时间:2011/3/28 16:49:31  文章录入:admin  责任编辑:kino

增量抽取一般有三种抽取模式,用于捕获源系统新增的数据到系目标库中

1)、时间戳方式,要求源表中存在一个或多个字段(时间戳),其值随着新纪录的增加而不断增加,执行数据抽取时,程序通过时间戳对数据进行过滤,抽取结束后,程序记录时间戳信息。

2)、触发器方式。要求用户在源数据库中有创建触发器和临时表的权限,触发器捕获新增的数据到临时表中,执行抽取时,程序自动从临时表中读取数据。

3)、全表对比方式,每次从源表中读取所有记录,然后逐条与目标表进行对比,有则插入,没有则放弃。

在我从事的ETL工作中,大部分都是采用时间戳方式进行增量抽取,如银行业务,VT新开户,使用时间戳方式,可以在固定时间内,组织人员进行数据抽取,进行整合后,加载到目标系统。

而触发器方式,虽然可以自动进行抽取,但是执行频率过多,影响效率!第三种方式对于大数据量来说是非常不可取的,尤其是对于一些银行、电信行业,因为数据全量比较大,所以进行增量校对是比较耗时的,总起来说,个人趋向使用时间戳方式进行增量抽取,当然具体情况要看工作的使用环境!

打印本文 打印本文  关闭窗口 关闭窗口