DMETL4增量比对法数据同步

一、DMETL4增量比对法数据同步,是指借用转换中的增量比对组件实现数据同步的一种同步方式,是一种通过读取源表和目的          表后进行增量比对,计算出增量数据的方法。技术说明如下:

1.  增量比对法数据同步实质上也是数据比较类同步,跟MD5比较法、影子表同步法严格意义上属于一个类型,但是增量同步效率       高的多;

2.  增量比对法数据同步的核心关键技术就是排序和索引,排序后的源表、目的表排序进行比较的计算复杂度从传统的比较类的          m*n降到了m。

3. 对于第2点刚刚讲到的创建源表和目的表索引,理由在于:

   (1) 在源表T1的连接列id上 创建索引,可以极大加快排序效率;

   (2) 在目的表T2的连接列id上创建索引,不仅可以极大加快排序效率,也可以在增量比对的时候走索引连接,可以直接索引定位         到数据;

  PS:可能有人说,建立索引不一定有用,因为数据的分布性(比如有 重复值)不一定会走索引,但是现实的情况是:有重复值的表的数据同步基本不存在,另外如果大部分连接列值重复,数据同步是无意义的。

4. 增量比对法数据同步,其增量耗时主要在:排序(s)、比对(m),总复杂度=s+m

 

二、实例操作、配置方法

1. 数据、环境准备

创建源表T1和目的表T2,并向源表插入一些数据,更新源表统计信息。

create table  t1(      --创建源表t1
id numeric(13,0),
MSISDN_1 varchar(20),
MSISDN_2 varchar(20),
MSISDN_3 varchar(20),
CALLDATE date,
CALLTIME timestamp,
DURATIONTIME int,
ATTACH_1 varchar(100),
ATTACH_2 varchar(100),
CALLTYPE int,
LY int
);
create index idx_t1_id on t1(id);--在源表连接列上创建索引
call INSERT_DATA(2000000) --插入200W数据,存储过程略
stat 100 on  t1(id);  --更新列统计信息

create table  t2(    --创建目的表t2
id numeric(13,0),
MSISDN_1 varchar(20),
MSISDN_2 varchar(20),
MSISDN_3 varchar(20),
CALLDATE date,
CALLTIME timestamp,
DURATIONTIME int,
ATTACH_1 varchar(100),
ATTACH_2 varchar(100),
CALLTYPE int,
LY int
);
create index idx_t2_id on t2(id);--再目的表连接列上创建索引

2. 先看看下图的总体转换配置图

3.新建数据源,这里新建一个本地数据源,数据库类型是DM7,如下图:

4. 在数据源中添加同步表,源表T1,目的表T2

5. 源表读取组件配置,使用的是普通表读取组件

6. 源表排序配置

7.  目的表的读取,也使用的表读取组件

8. 目的表读取上同样需要对连接列排序,排序规则和源的排序规则一致,都选择升序

9.从数据转换里拖出增量比对组件,用绿色的线连接,进行配置,如图:

注意:源表对应增量比对数据源,目的表对应增量比对数据目的,数据输入顺序要和上面表读取组件的排序规则一致,都选择升序

10. 添加连接列配置

11.配置更新比较列,这里配置了3个更新比较列,其他列都不是更新比较列,那么只有这3列发生数据变化才会被比较出不同,发生增量同步,其他列的数据变化都不会产生增量同步。

12. 配置T2的增量目的表,用绿色的线从增量比对组件连接到增量目的表上

13. 设置查找列

三、演示

1.首次全量同步数据,直接执行转换就可

2. 增量更新,修改一条数据的列值MSISDN_1

3. 增量删除,删除一条数据

3. 插入一台数据,增量更新

4. 试试在T1表更新一条数据的列值LY(非更新比较列),从目的表组件上看是没有I/D/U数据的,即:无增量数据

PS:从源节点T1、T2,增量比对组件上的速度值可以很明显的看出,这种增量方法效率是非常高的!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值