# 时间戳关系型数据库同步(增量)
# 说明
用于关系型数据库的增量同步,其原理是以目标表的某个字段当做时间戳查询字段,查询该时间戳查询字段的最大值,再查出源表中大于这个最大值的所有数据,从而在目标表进行 Insert 操作。
基于时间戳模型,实现从源表向目标表增量同步数据,要求:
- 目标表中必须有一个时间戳字段,字段值可以是 Timestamp、Date、Integer、String;
- 目标表中必须有可唯一标识某一行的字段作为查询字段,当该唯一标识的字段值不存在时执行 Insert,存在时执行 Update。
时间戳增量同步一共有五步:
- 第一步:创建通用模板作业,选择处理引擎 "Primeton DI",选择"增量同步",选择"时间戳关系型数据库增量同步"模板。
- 第二步:选择来源数据源名称、数据库名称。
- 第三步:选择目标数据源名称、数据库名称。
- 第四步:点击【添加表】按钮,配置来源数据库与目标数据库表的映射。
- 第五步:点击【字段映射(未配置)】,按照弹窗要求指定来源表与目标表的字段映射关系、目标表中的时间戳字段、目标表中的查询字段。
⚠️ 提示:在作业执行过程中,当目标表不存在时,会自动创建表,然后再将源表数据同步至目标表。
# 配置项说明
通用配置项:
配置项 | 是否必填 | 默认值 | 描述 |
---|---|---|---|
选择数据源(来源) | 是 | - | 来源数据的数据源名称,该选项是已经在项目配置中添加过的数据源。 |
选择库(来源) | 是 | - | 来源数据源中的数据库名称。选择来源数据源后自动读取并显示数据库名称,可以直接选择。 |
选择数据源(目标) | 是 | - | 目标数据的数据源名称,该选项是已经在项目配置中添加过的数据源。 |
选择库(目标) | 是 | - | 目标数据源中的数据库名称。选择目标数据源后自动读取并显示数据库名称,可以直接选择。 |
获取表信息 | 否 | - | 如果数据库表发生变化,点击此按钮获取最新的表字段。添加表的弹窗会显示最新的表名称。 |
表名称映射 | 是 | - | 来源表与目标表名称的映射,默认是同名映射(即:目标表与来源表名称一样)。 |
前缀/后缀 | 否 | - | 给目标表名称添加前缀或者后缀,用于批量修改目标表的名称。 |
同步 | 是 | 同步 | 是否执行同步的开关,有两个选项:同步、不同步。 同步:表示执行,来源表数据会同步到目标表; 不同步:表示不执行,来源表数据不会同步到目标表。 |
数据添加模式 | 是 | 追加数据 | 支持三种模式: 1、追加数据:数据统一追加到目标表中; 2、同步前删除数据:先清空目标表数据,然后再给目标表添加数据; 3、当存在数据时,报告错误:当目标表存在相同数据时,报告错误,不会添加数据。 提示:增量同步的默认值都是:追加数据。 |
并发数 | 是 | 1 | 执行过程中,数据写入目标表时的线程个数,数值越大表示写入速度越快。 |
字段映射 | 是 | - | 指定来源表与目标表的字段映射关系、目标表中的时间戳字段、目标表中的查询字段。配置后“未配置”会变为“已配置”。 字段映射关系:来源表与目标表的字段名称映射; 目标表中的时间戳字段:选择时间戳字段; 目标表中的查询字段:行唯一标识字段。 |
忽略错误继续执行 | 是 | 不勾选 | 当添加了多张表时: 勾选:表示在数据同步过程中当一张表出现错误时忽略该表错误继续执行其他表的同步。 不勾选:表示遇到错误时停止后续全部表的同步。 |
字段映射配置项:
操作/配置项 | 是否必填 | 默认值 | 描述 |
---|---|---|---|
手动映射 | - | - | 需要逐个选择来源表与目标表的字段配置字段映射关系。 |
自动同名映射 | - | - | 当来源表字段与目标表字段同名时,自动批量配置映射关系。 |
重置映射 | - | - | 清除已经配置好的来源表与目标表的映射关系。 |
源表字段 | - | - | 指定来源表中的时间戳字段,需要和目标表的时间戳字段配合使用。 |
目标表字段 | - | - | 指定目标源表中的时间戳字段,需要和来源表的时间戳字段配合使用。 |
是否为查询字段 | - | - | 唯一标识某一行的字段作为查询字段,当该唯一标识的字段值不存在时执行 Insert,存在时执行 Update。 |
# 使用示例
点击【添加表】,添加要进行同步的来源表与目标表。
点击【字段映射(未配置)】,进行来源表与目标表的字段映射关系。
指定来源表与目标表的字段映射关系、目标表中的时间戳字段、目标表中的查询字段。操作说明如下:
配置字段映射后,“字段映射(未配置)”会更新为“字段映射(已配置)”。
# FAQ
无