结构变化策略

Setting up Schema Change Strategy

结构变化策略是当数据源数据结构发生变化时,系统将为您执行的策略,能够有效避免由于数据源结构变化使任务暂停带来的影响。

关于此功能

我们目前针对主要的数据源结构变化,提供了不同的应对策略,以避免任务暂停。并且您可以根据实际场景的需要为每一个节点选择独立的结构变化策略。

同时由于结构变化策略,非常依赖于源端数据库的读取方式,以及目的地端数据库。因此本版本对结构变化策略有一个较大的重构。您需要在系统中,选定源和目的地后,才会弹出相应的结构变化策略选项。同时变更源端的读取方式,可能会影响到结构变化策略的执行情况。

情况
选项
情况说明

数据源删除正在同步的表

暂停

遇到此种情况暂停数据任务

删除映射并删除数据目的地的表和数据

删除对应数据链路中的数据映射,并删除数据目的地的表(drop table)

删除映射并保留数据目的地的表和数据

删除对应数据链路中的数据映射,但不对数据目的地表中数据进行操作

持续扫描并保留数据目的地的表和数据

不删除对应数据链路中的数据映射,不对数据目的地表中数据进行操作,保留任务可能因为数据表被误删后恢复同步的可能性

数据源正在同步的表新增字段

暂停

遇到此种情况暂停数据任务

忽略新增字段

数据目的地不新增该字段

为新增字段建立映射,并同步新增字段及默认值

根据新增字段的信息自动建立数据映射,数据目的地应用新的数据映射同步数据,新增该字段及默认值(alter table)

为新增字段建立映射,并同步新增字段。忽略默认值

根据新增字段的信息自动建立数据映射,数据目的地应用新的数据映射同步数据,新增该字段(alter table)

数据源正在同步的表中字段被删除

暂停

遇到此种情况暂停数据任务

删除映射并删除目的地表中的字段和数据

删除对应数据链路中的字段映射,删除目的地表中的该字段(alter table)

删除映射但保留目的地表中的字段和数据,并写入空值

删除对应数据链路中的字段映射,但不对数据目的地表结构和历史数据进行操作,后续同步向该字段写入空值

数据源正在同步的表中字段发生类型/精度/标度变化

暂停

遇到此种情况暂停数据任务

忽略,按照当前字段映射继续同步

继续按照当前的语义映射规则继续同步数据任务,如果该语义规则导致数据写入目的地失败,则会因为目的地写入失败而暂停数据任务

按照源的字段变化,重新匹配语义映射规则,继续同步

按照源的字段变化,重新按照节点或者链路选择的语义映射策略匹配新的语义映射规则,继续同步,如果目的端字段修改失败,则映射修改成功,任务报错。如果目的地端修改成功,则继续写入,此时如果写入数据成功,则继续,如果写入失败,则因为目的地写入失败而暂停数据任务。

数据源清空正在同步的表的数据

暂停

遇到此种情况暂停数据任务

忽略,不在目的地清空数据

忽略该DDL,不在目的地清空数据

自动在目的地清空同步的表的数据

执行该DDL,会在目的地清空该表或者路径下的所有表

数据源正在同步的表中,字段被重命名

暂停

遇到此种情况暂停数据任务

忽略,不在目的地重命名该字段

忽略该DDL,不修改目的地的该字段的名称

自动重命名该字段

执行该DDL,修改目的地的该字段的名称

数据源创建了符合下列正则表达式规则的表

暂停

遇到此种情况暂停数据任务

忽略,不创建符合规则的映射

忽略,当检测到符合规则的DDL,不在系统中创建该映射,同时也不同步该表的数据

自动创建符合规则的映射

当检测到符合规则的DDL,在系统中创建该映射,同时同步该表的数据

表格16 结构变化策略选项说明列表

源端读取方式
目的地端
选项

可以获取到某个类型的DDL

可以执行该类型的DDL

暂停,忽略,跟随DDL

不可以执行该类型的DDL

暂停,忽略

不可以获取到某个类型的DDL

忽略

最后更新于

这有帮助吗?