1. 概述
使用者在使用 FDL 處理資料時,常常有疑問:
什麼是物理刪除?什麼是邏輯刪除?
物理刪除和邏輯刪除有什麼差別
本文介紹這兩種刪除方式。
2. 資料開發
2.1 功能使用說明
1)4.0.28 及之後版本,若使用者為以下場景時(來源表和目標表都不是簡道雲資料):
注:該場景中,不建議使用邏輯刪除。
沒有標識欄位,希望將篩選出的資料,做追加或者更新或者刪除操作(無標識欄位時僅允許選擇一種操作類型)。
資料已經有了標識欄位和標識值,需要對資料進行追加/更新/刪除操作。
可透過「資料同步」節點實現,詳情請參見:資料同步-基於標識欄位,新增/修改/刪除資料
2)4.0.18 及之後版本,可透過「資料比對+DB表匯出」或者「資料比對+簡道雲匯出」的組合方式,完成增量插入、刪除、更新的操作。
注:詳情請參見:数据比对功能说明
2.2 物理刪除和邏輯刪除說明
「資料比對+DB表匯出」或者「資料比對+簡道雲匯出」的組合方式實現資料刪除時:
詳情請參見:資料比對典型範例
物理刪除:來源表刪除資料,目標表也刪除資料。
邏輯刪除:目標表中該資料未被實際刪除,而是使用標記列標記被刪除的資料。
預設情況下:目標表中新增字段 fdl_comparison_type 作為標記列,標識值修改為 Removed,代表該資料為刪除資料。
範例可參見:邏輯刪除
3. 資料管道
3.1 功能使用說明
管道任務的 選擇去向骤中,可設定執行物理刪除/邏輯刪除操作。如下圖所示:
3.2 物理刪除和邏輯刪除說明
1)目標端執行物理刪除:來源表刪除資料,目標表中也會直接刪除。
2)目標端執行邏輯刪除:來源表刪除資料,目標表將新增一個名稱為_fdl_marked_deleted的布林型欄位(欄位預設為false),用於記錄資料刪除狀態。來源資料表刪除了一筆資料,此時同步至目標表,目標表不進行物理刪除,而是將_fdl_marked_deleted欄位更新為 true 。