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 。