分布式异构数据库同步方案一

摘要:

分布式异构数据库同步方案

1.用kettle工具将远程服务器上的A表定期复制到本地服务器上的表A_copy
2.在本地服务器上定期调用存储过程,对表B进行更新

什么是Kettle

Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。

Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。

Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。

Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

作为Pentaho的一个重要组成部分,现在在国内项目应用上逐渐增多。

Kettle :Kettle is an acronym for “Kettle E.T.T.L. Environment”. This means it has been designed to help you with your ETTL needs: the Extraction, Transformation, Transportation and Loading of data
Kettle 是”Kettle E.T.T.L. Envirnonment”只取首字母的缩写,这意味着它被设计用来帮助你实现你的ETTL 需要:抽取、转换、装入和加载数据;翻译成中文名称应该叫水壶,名字的起源正如该项目的主程序员MATT 在一个论坛里说的哪样:希望把各种数据放到一个壶里然后以一种指定的格式流出。

一个demo(oracle–>mysql)

成功将oracle数据库同步到mysql数据库的一个示例

kettle 安装

  1. 软件版本:
    jdk 1.8
    kettle 8.2 /7.0 都可以
    oracle11 +ojdbc14.jar ojdbc-10.2.0.4.0.jar ojdbc6-11.2.0.3.jar 中的一个 我全放进去了
    mysql5.7+mysql-connector-java-5.1.15-bin.jar

  2. 安装步骤
    0 先安装java环境 然后启动 启动中如果遇到问题 见后面的bug
    1.中间配置了一个kettle home 也不知道有没有用,这个应该是设置 保存文件的地址吧
    在这里插入图片描述
    2.要单独下载相应的数据库驱动 放到
    C:\D\pdi-ce-7.0.0.0-25\data-integration\lib 中

安装和连接中遇见的bug

1.can not create Java virtual machine
解决:修改空间
注意:运行spondebug.dat 可以生成报错的文件
https://blog.csdn.net/zgzyp/article/details/52993688?utm_source=blogxgwz7

2.jdk版本问题
https://zhidao.baidu.com/question/1642935211973478500

3.无法连接oracle数据库
因为缺少驱动 我直接把在本地搜到的所有的jdbc都复制到lib中去

kettle使用

1.工具>向导 里面直接有关于数据库的复制和单表的复制
2.更新和插入
将左边栏 输入>插入/更新 拖过去
3.关于定时:新建一个作业,然后将先前创建的转换添加进来,然后设置定期执行
在这里插入图片描述
参考文献:
https://blog.csdn.net/wuzhangweiss/article/details/78408029 (这里面有单表复制和更新插入)
https://blog.csdn.net/jianlong727/article/details/53966286

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值