ETL核心技术:增量复制

[2014年4月11日,陕西西安]为了保证ETL的执行效率和数据一致性,往往采用增量复制的方式来抽取数据。如何捕获变化的数据是增量抽取的关键,对获取方法一般有两点要求:

1)准确性:能够将业务系统中的变化数据按一定的频率准确地捕获到;

2)性能,不能对业务系统造成太大的压力,影响现有业务。

目前ETL中增量数据抽取中常用的捕获变化数据的方法有:

1)触发器。在要抽取的表上建立需要的触发器,一般要建立插入、修改、删除三个触发器,每当源表中的数据发生变化时,相应的触发器就会将变化的数据写入一个临时表,抽取线程从临时表中抽取数据,临时表中抽取过的数据被标记或删除。触发器方式的优点是数据抽取的性能较高,缺点是要求业务表建立触发器,对业务系统有一定的影响。

2)时间戳。它是一种基于快照比较的变化数据捕获方式,在源表上增加一个时间戳字段,系统中更新修改表数据的时候,同时修改时间戳字段的值。当金星数据抽取时,通过比较系统时间与时间戳字段的值来决定抽取那些数据。

3)快照方式。快照是指数据在某一时刻的一个备份。如果在上次发送时保其快照,在当前发送时,可以通过比较当前数据与上次发送时的快照,得到数据的增加、删除和修改情况。将快照保存为实视图,可有助于减少快照所占用的空间,也可以提高获得增量数据的效率。在执行发送任务时,获得当前数据的实视图,将其结果与上次发送时的实视图进行比较,将二者的区别按照要求发送出去。然后,将新得到的实视图保存起来,以便下次发送时进行比较。

在ETL的增量复制中,触发器和快照互有优缺点,触发器执行效率高,但是有很多条件限制,如不能对多表和试图进行操作,需要对用户数据库进行修改等,而快照方式适用范围较广,但是效率要差一些。在实际应用中可以根据需求进行灵活选择。

本文来源:时光·协同
更多
相关文章
关注我们
媒介联系

Email:marketing@cicro.com

TEL:(8629)87579521

FAX:(8629)87579518