kettle 3.1 数据同步探究

kettle 3.1 数据同步探究

ID:5984217

大小:29.00 KB

页数:7页

时间:2017-12-30

kettle 3.1 数据同步探究_第1页
kettle 3.1 数据同步探究_第2页
kettle 3.1 数据同步探究_第3页
kettle 3.1 数据同步探究_第4页
kettle 3.1 数据同步探究_第5页
资源描述:

《kettle 3.1 数据同步探究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、Kettle3.1数据同步探究  摘要:随着信息化的发展,各应用系统之间共用数据越来越普遍。Kettle就像水壶一样,各种数据流入壶里,然后以一种指定的格式流出,这就使得完成数据同步工作变得高效稳定、安全可靠。关键词:Kettle;触发器;数据同步中图分类号:TP391文献标识码:A文章编号:1672-7800(2013)006-0098-02作者简介:邢晨(1983-),男,中国人民解放军军事经济学院助理工程师,研究方向为网络技术、数据库开发。0引言随着信息技术的日益的发展,各应用系统间的数据同步问题也凸现出来。目前,众多系统和应用都对数据的完整性和安全

2、性要求很高,同时又不能降低系统的灵活性,为此数据库层面的数据同步技术被广泛应用。数据同步的方法有很多,而借助Kettle工具来完成数据库之间的数据同步工作是一个非常正确的选择。Kettle是一款国外开源的ETL工具,纯Java编写,可以在Window、Linux、Unix等多个系统平台上运行,绿色无需安装,数据抽取高效稳定。Kettle是“KettleE.T.T.L.7Envirnonment”首字母的缩写,这就意味着它被设计用来帮助实现用户的ETTL需要:抽取、转换、装入和加载数据。Kettle的中文意思为水壶,该项目的主程序员Matt希望把各种数据放到

3、一个壶里,然后以一种指定的格式流出,这就是Kettle名字的由来。1技术理论概述利用Kettle作为中间软件来实现数据同步的方法有很多,其中比较常用的有以下5种方法:触发器法、日志法、时间戳法、数据比较法以及全表拷贝法。本文主要介绍的是利用Kettle通过触发器法同步不同数据源之间的数据。触发器法的原理及流程:为源数据库相应的表建立新增、修改、删除3个触发器,和一个与源表相对应的临时表。每当源数据库有数据变化时,相应的触发器就会被触发,触发器会将变更的数据保存在临时表中,然后再利用Kettle同步数据到目标数据库相应的表中,这样就完成了不同数据库中相应表的

4、数据同步。其流程如图1所示。2运行环境和准备工作本文主要针对Oracle10G进行研究测试,两台数据库服务器安装的操作系统是Windows2003企业版。准备工作如下:2.1JDK的安装安装JDK1.6或以上版本。2.2JAVA环境配置编辑用户变量:JAVA_HOMEC:Javajdk1.6.0_29;7编辑系统变量:PathC:Javajdk1.6.0_29bin。2.3新建测试表和触发器(1)源数据库。创建源表,表名为TAB1,源表为提取同步数据的表,其创建SQL语句如下:createtableTAB1(XHVARCHAR2(20),AAVARCHAR

5、2(20),BBVARCHAR2(20));创建临时表,表名为TAB2,临时表为记录源表发生数据新增、修改或删除操作动作的表,其创建SQL语句如下:createtableTAB2(OPTVARCHAR2(20),OLDXHVARCHAR2(20),XHNUMBER(10),AAVARCHAR2(20),BBVARCHAR2(20));创建新增触发器,触发器名为Ins_TAB1,源表发生新增数据操作时,此触发器被触发,其创建SQL语句如下:createorreplacetriggerIns_TAB1afterinsertonTAB1ForeachRowbeg

6、inInsertIntoTAB2(OPT,XH,AA,BB)values(‘I’,:new.XH,:new.AA,:new.BB);end;创建修改触发器,触发器名为Upd_TAB1,源表发生修改数据操作时,此触发器被触发,其创建SQL语句如下:createorreplacetriggerUpd_TAB1afterupdateonTAB1ForeachRowbeginInsertIntoTAB2(OPT,OLDXH,XH,AA,BB)values7(’U’,:old.XH,:new.XH,:new.AA,:new.BB);end;创建删除触发器,触发器名为

7、Del_TAB1,源表发生删除数据操作时,此触发器被触发,其创建SQL语句如下:createorreplacetriggerDel_TAB1afterdeleteonTAB1ForeachRowbeginInsertIntoTAB2(OPT,OLDXH)values(’D’,:old.XH);end;(2)目标数据库。创建目标表,表名为TAB3,目标表为需要同步数据的表,其创建SQL语句如下:createtableTAB3(XHVARCHAR2(20),AAVARCHAR2(20),BBVARCHAR2(20));3Kettle同步数据我们将每个需要同步的

8、数据表叫做一个数据接口,每个接口都给定一个接口编号,设计一个配置表

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。