• kettle利用触发器实现数据同步


    2016年8月17日

    一、目的
    通过触发器实现数据同步
    二、思路
    1.在数据库需要同步的源表中建立一个insert触发器,当有新数据插入时,会自动将新插入数据的主键记录到临时表temp中。(当然也可以记录多个字段)
    2.比较临时表temp和源表中的数据,匹配两个表中的主键值是否一致(也可以匹配多个字段),将符合条件的源表数据筛选出来,同步到目标表。
    3.当同步完数据之后,清空temp表中的数据,进行下一轮同步。
    三、优缺点
    1.优点
    避免对相同数据的扫描,减少同步时间。
    2.缺点
    只在本地测试,未能在大数据环境下实施,不知道其稳定性如何。
    四、环境配置
    1.在源数据库中建立临时表temp
    create table temp
    (temp_id int primary key auto_increment,zhang_id int);
    2.在源数据库中为源表创建触发器(如表zhang)
    create trigger trig_zhang_insert
    after insert
    on zhang
    for each row
    insert into temp values (null,new.id);
    五、具体步骤
    1.主流程图设计

    2.“数据同步”模块设计
    (1)“数据同步”作业设计

    (2)“源表与目标表转换”设计

     

    注意:对表输出控件的“定义错误处理”配置如下

    当源表zhang无新数据插入,触发器没有往temp表中写入数据,进行“temp表与源表比较”操作时会报错,流程没办法继续进行。配置“定义错误处理”可以避免这种情况。
    3.“善后工作”模块设计
    (1)“善后工作”作业设计

    (2)“删除temp表数据”设计

     

  • 相关阅读:
    (一)Ionic 项目搭建(参考)
    MySQL安装及常用命令
    (五)vue.js 集成scss(参考)
    (四)vue.js 外部配置文件(参考)
    (三)vue.js api统一管理(参考)
    好玩的折纸效果
    PropTypes没有定义的问题
    border边框设置为1px
    写了一个好玩的弹性列表效果
    H5中的requestAnimationFrame
  • 原文地址:https://www.cnblogs.com/kongxc/p/6707366.html
Copyright © 2020-2023  润新知