ETL增量单表同步简述

1. 实现需求

当原数据库的表有新增、更新、删除操作时,将改动数据同步到目标库对应的数据表。

2. 设计思路

设计总体流程图如下:

步骤简单说明:

1、设置job的执行属性,如下图:

2、根据要同步的表名,更新同步配置表synConfig的endTime。

3、根据beginTime和endTime获取同步时间段。

4、、根据比较原表和目标表数据的差异性,进行删除目标表的数据。

6、更新提取的开始时间,将上次提取的结束时间更新到开始时间。

3. 必备条件

1、目标数据库的表结构与原数据库相同;

2、同步的表要有syncTime字段,且数据类型为timstamp。

4. 具体实现

4.1. 同步配置表设计

创建同步配置表synConfig,如图所示:

字段说明如下:

name:要同步的数据表名字。

beginTime:同步开始时间。

endTime:同步结束时间。

建表sql如下:

同步配置表synConfig建表sql

create table synConfig(

name   varchar(200) not null,

beginTime varbinary(100),

endTime varbinary(100),

constraint pk_synConfig primary key nonclustered (name)

);

--修改原表,追加同步字段

alter table tableName add synTime(timestamp)

4.2. 软件安装

1、Jdk

2、Kettle同步工具

说明:

kettle7版本要求jdk必须为1.8以上。

详细可参考官网:http://community.pentaho.com/projects/data-integration/

最新文章

  1. 【Android群英传】学习笔记(一)
  2. jQuery 实现菜单
  3. 免费LInux主机资源
  4. kubernetes kubeadm部署高可用集群
  5. ajax数据显示,使用js通用模板
  6. powershell 函数, foreach中格式化
  7. php编程 之 php基础三
  8. 2017-2018-2 20155314《网络对抗技术》Exp3 免杀原理与实践
  9. Hacker需要掌握的基础
  10. case when then end
  11. date命令使用文档.txt
  12. odoo tree视图 当页不弹窗显示方法
  13. JAVA字符串格式化-String.format()的使用 【生成随机数补0操作】
  14. HDU 6171 Admiral(双向BFS+队列)题解
  15. [NLP/Attention]关于attention机制在nlp中的应用总结
  16. Spring MVC 3.0 深入及对注解的详细讲解[转载]
  17. 进程操作篇atexit execl exit fprintf fscanf getpid nice get priority printf setpid system vfork wait waitpid
  18. JavaScript操作XML(二)
  19. Java web项目中新建maven项目出现的问题
  20. ADT(Android Developer Tools)中配置SVN

热门文章

  1. [经典面试题]包含T全部元素的最小子窗口
  2. C语言基础-运算符
  3. Node.js——post方式提交的图片如何保存
  4. MySql 基础知识-常用命令及sql语句
  5. createuser - 定义一个新的 PostgreSQL 用户帐户
  6. charsets - 程序员对字符集和国际化的观点
  7. 【转】c语言中的定义和声明
  8. 用 vue cli 脚手架搭建单页面 Vue 应用(进阶2)
  9. ubuntu 安装virt-manager
  10. 09C++指针