1. 概述
1.1 版本
FineDataLink版本 | 功能变动 |
---|---|
4.2.4.3 | - |
1.2 应用场景
当多个实时任务、管道任务对同一个数据库的不同表进行实时同步时,会重复解析数据库的日志,导致数据库压力过大,特别是在实时任务场景下,不同表会在不同实时任务中处理,就很容易导致日志被解析多次。
实时采集任务支持对数据库日志解析进行管理,存储日志解析产生的变更数据,实时任务/管道任务能够消费实时采集任务的数据。
2. 功能说明
创建管道或者实时任务后,在「管理系统>数据连接>实时采集任务」中自动新增实时采集任务,不需要用户手动新增。如下图所示:
注:配置管道任务和实时任务之前均需要进行缓存配置,详情参见:缓存配置
2.1 任务运行逻辑说明
1)所有实时/管道任务的 CDC 输入,都默认走实时数据采集任务。
2)实时采集任务不需要用户手动操作,一切都基于实时、管道任务的功能逻辑自动化处理。
场景 | 说明 |
---|---|
新建实时采集任务 | 实时数据共享中心的实时采集任务都是自动创建 新建一个新的数据连接的实时、管道任务,自动在实时数据共享中心创建对应的实时采集任务 |
暂停实时采集任务 | 采集任务会在所有关联任务停止后,继续采集 24h,24h 后自动停止 |
实时采集任务与数据连接关系 | 一个数据连接的不同的读取方式有且只有一个实时采集任务 同一个数据连接创建的任务用到的数据表都展示在一个实时采集任务下
|
执行实时采集任务 | 1)实时采集任务中表的异常情况都在实时、管道任务中体现 当实时采集任务中表运行错误、异常删除时,依赖该实时采集任务的实时任务报错中止,管道任务移除异常表的同步,正常的表照常同步,当管道任务中所有表都异常时,管道任务才整体报错 比如解析相应时间点的日志时,如果相应时间点的日志丢失,则实时采集任务报错中止、依赖该实时采集任务的任务也报错 2)当新建的实时、管道任务的启动时间早于实时数据共享中心的数据最早的数据时,会自动补齐数据 |
3)实时采集任务将数据库中所有CDC数据都写入到实时数据共享中心,由各个业务决定使用哪一类数据。比如对于 DDL 的数据,数据管道会进行使用,实时任务暂时没有使用 DDL 的功能。
注:实时采集任务暂不支持脏数据容忍,遇到脏数据时,先走重试逻辑,重试失败后,则实时采集任务报错中止。
对实时、管道任务运行逻辑的变动:
重试逻辑:管道、实时任务的重试不控制与 CDC 数据源的重试,只控制管道和实时数据共享中心连接的重试和其输出端的重试。
删除表情况:实时任务需要基于删除的 ddl 事件,报错中止、打印相应报错日志,并触发相应的结果通知。
自定义同步时间:在实时、管道任务中同步方式选择「自定义时间」时,可以设置「数据库日志最早时间」和「共享中心最早时间」中的最早时间;管道任务中需要取「当前任务的所有表各自的最早时间」中的最晚时间。
恢复启动:当实时、管道任务恢复启动时,如果实时数据共享中心中最早的数据晚于断点时间,任务报错中止。
2.2 任务运维
详情请参见:实时采集任务运维
3. 示例
3.1 缓存配置
点击「管理系统>数据连接>实时采集任务」,设置 缓存设置 。如下图所示:
3.2 创建数据管道或者实时任务
在数据管道和实时任务下分别新建任务。如下图所示:
3.3 查看实时采集任务
在实时采集任务界面即可看到,3.2 节使用同一个数据连接创建的任务用到的数据表将自动生成并展示在一个实时采集任务下,如下图所示:
若再使用该数据连接新增管道任务或者实时任务,则会在该实时采集任务的来源库中新增管道或者实时任务使用的数据源。