反馈已提交

网络繁忙

增删改数据同步至目标表(MD5校验)

  • 文档创建者:Roxy
  • 历史版本:5
  • 最近更新:Roxy 于 2024-07-15
  • 1. 概述

    1.1 应用场景

    用户在定时任务进行数据同步时,如果源数据库同时有增删改变化,且没有时间戳,可以直接使用数据比对,但是如果数据量很大,想要提高同步效率,就可以使用本文的方案进行数据同步。

    1.2 实现思路

    来源表制造比对字段「md5」,目标表也新增「md5」字段,并使用数据比对进行增删改变化标识,最终写入数据表中。

    • 主键相同,MD5不同,则更新;

    • 主键不同,来源有但目标无,则新增;

    • 主键不同,来源无但目标有,则删除。

    说明增加 MD5 校验列,直接作为列存储比对效率较高。

    demo 示例详情请参见:https://demo.finedatalink.com/  增删改数据同步至目标表(MD5校验)

    2. 操作步骤

    1)新建定时任务后,选择「数据转换」节点,进入编辑界面,新增一个 DB输入算子,取出来源表数据,同时新增一个 MD5 字段,方便后续作为比对字段,如下图所示:

    SELECT 
      *,
      MD5(CONCAT(order_id,order_business_date,order_status,product_name,user_name,order_quantity,order_price)) AS order_md5,
      NOW() AS etl_time
    FROM `demotest`.`F_ORDER_NOTIMESTAMP_MD5_FROM`

    得到如下结果:

    2)新增一个 DB输入算子,取出目标表数据,目标表需要另外增加一个MD5 字段,如下图所示:

    注:如果原先没有目标表,则需要手动在目标数据库创建一个,除了业务字段还需要新建一个MD5 字段,方便后续作为比对字段。

    3)使用数据比对算子,比对来源表和目标表,设置逻辑主键为 order_id,比对字段为 order_md5,如下图所示:

    4)使用DB输出算子,将比对结果写入目标表,如下图所示:

    5)设置写入方式和逻辑主键,如下图所示:

    运行任务后即可看到目标表同步了来源表的变化。



    附件列表


    主题: 最佳实践
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持