# 关系型数据库同步(全量)
# 说明
关系型数据库同步(全量):用于关系型数据库的数据迁移,可以将来源库的多个表或者全部表(整库)的数据迁移到目标库、表。
数据库同步:可以实现将数据库单表、多表、整库的迁移,将全部数据一次性从源表迁移到目标表。
- 单表:只选择一张表名,可快速实现两个表之间的数据批量迁移。
- 多表:选择多张表名,可快速实现多个表之间的数据批量迁移。
- 整库:全选表名。整库同步是帮助用户提升数据同步效率的工具,通过整库同步可快速实现两个库之间的数据批量迁移,节省任务配置工作,快速提升数据迁移效率。
数据库同步一共有四步:
- 第一步:创建通用模板作业,选择处理引擎 "Primeton DI",选择"全量同步",选择"关系型数据库同步"模板。
- 第二步:选择来源数据源名称、数据库名称。
- 第三步:选择目标数据源名称、数据库名称。
- 第四步:点击【添加表】按钮,配置来源数据库与目标数据库表的映射。
⚠️ 提示:在作业执行过程中,当目标表不存在时,会自动创建表,然后再将源表数据同步至目标表。
# 配置项说明
配置项 | 是否必填 | 默认值 | 描述 |
---|---|---|---|
选择数据源(来源) | 是 | - | 来源数据的数据源名称,该选项是已经在项目配置中添加过的数据源。 |
选择库(来源) | 是 | - | 来源数据源中的数据库名称。选择来源数据源后自动读取并显示数据库名称,可以直接选择。 |
选择数据源(目标) | 是 | - | 目标数据的数据源名称,该选项是已经在项目配置中添加过的数据源。 |
选择库(目标) | 是 | - | 目标数据源中的数据库名称。选择目标数据源后自动读取并显示数据库名称,可以直接选择。 |
获取表信息 | 否 | - | 如果数据库表发生变化,点击此按钮获取最新的表字段。添加表的弹窗会显示最新的表名称。 |
表名称映射 | 是 | - | 来源表与目标表名称的映射,默认是同名映射(即:目标表与来源表名称一样)。 |
前缀/后缀 | 否 | - | 给目标表名称添加前缀或者后缀,用于批量修改目标表的名称。 |
同步 | 是 | 同步 | 是否执行同步的开关,有两个选项:同步、不同步。 同步:表示执行,来源表数据会同步到目标表; 不同步:表示不执行,来源表数据不会同步到目标表。 |
数据添加模式 | 是 | 同步前删除数据 | 支持三种模式: 1、追加数据:数据统一追加到目标表中; 2、同步前删除数据:先清空目标表数据,然后再给目标表添加数据; 3、当存在数据时,报告错误:当目标表存在相同数据时,报告错误,不会添加数据。如果添加了两张表(或多表),若一张目标表有数据,一张目标表无数据,则运行结果会报告错误,两张目标表都不会添加数据。 提示:全量同步的默认值都是:同步前删除数据。 |
并发数 | 是 | 1 | 执行过程中,数据写入目标表时的线程个数,数值越大表示写入速度越快。 |
# 使用示例
# FAQ
Q1: 运行时,报查询源表没有权限?
A1: 数据库同步需要的源表库用户权限
1.MySQL/GBase/PostgreSQL/Kingbase/StarRocks/Kingbase/SQLServer/Gauss 用户需要有对需要对information_schema.tables 视图具有 SELECT 权限
2.DB2 用户需要对 SYSCAT.TABLES 视图具有 SELECT 权限
3.ClickHouse 用户需要对 system.tables 表具有 SELECT 权限