增刪改資料同步至目標表(MD5校驗)

  • 文檔創建者:Roxy
  • 編輯次數:6
  • 最近更新:Nikozhan 于 2025-07-28
  • 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後關閉

    獲取幫助
    線上支援
    獲取專業技術支援,快速幫助您解決問題
    工作日9:00-12:00,13:30-17:30在线
    頁面反饋
    針對當前網頁的建議、問題反饋
    售前咨詢
    業務咨詢
    電話:0933-790886或 0989-092892
    郵箱:taiwan@fanruan.com
    頁面反饋
    *問題分類
    不能為空
    問題描述
    0/1000
    不能為空

    反馈已提交

    网络繁忙