1. 概述编辑
1.1 版本说明
FineDataLink 版本 | 功能变动 |
---|---|
4.0.8 | - |
4.1.2 | 定时任务和数据管道任务中,装载方式新增COPY装载 |
1.2 应用场景
FineDataLink 支持使用 GaussDB 200 数据源作为目标数据库配置数据管道任务写入数据。
同时支持使用 GaussDB 200 进行数据同步和数据转换中的数据输出。
2. 准备工作编辑
2.1 版本和驱动
下载驱动,并将其上传至 FineDataLink,如何上传可参见:驱动管理 第二节。
版本 | 驱动包下载 |
gaussdb 200 |
2.2 收集连接信息
在连接数据库之前,请收集以下信息:
数据库所在服务器的 IP 地址和端口号;
数据库的名称;
数据库的用户名和密码;
需要连接的数据库模式;
3. 具体连接步骤编辑
1)登录 FineDataLink,点击「管理系统>数据连接>数据连接管理」,点击「新建数据连接」,选择「GaussDB 200」,如下图所示:
注:如果非管理员用户想要配置数据连接,需要管理员给其分配管理系统下数据连接节点的权限,具体操作请查看 数据连接管理权限
2)输入 2.2 节的连接信息。驱动选择「自定义」,并勾选 2.1 节上传的驱动。
模式需要连接数据库后才可以选择,所以需要先点击「点击连接数据库」后,再选择「模式」,如下图所示:
3)点击「连接数据库」,测试是否可以连接成功,若连接成功,用户可选择需要连接的模式,最后保存,如下图所示:
4. 使用数据源编辑
4.1 COPY 装载方式介绍
定时任务和数据管道任务中,装载方式可选择COPY装载、普通装载。
1)COPY 装载相比普通装载的优势:
性能更高:Copy 方式是通过使用数据库的原生 COPY 命令来装载数据,因此可以实现更高效的数据装载。相比之下,JDBC 普通装载是逐条插入数据,效率较低。
批量处理:Copy 方式可以一次性装载大量数据,而 JDBC 普通装载需要逐条处理数据。批量处理可以减少与数据库的交互次数,提升数据装载效率。
2)COPY 装载适用场景:
COPY 方式适合数据写入量不太大的场景,因为它可以一次性导入大量数据,避免了频繁的插入操作。
并发度不太高的场景也适合使用 COPY 方式。当并发度不太高时,COPY 可以更好地利用系统资源,提高数据导入的效率。但是在并发度很高的场景下,多个并发的 COPY 操作可能会导致资源竞争和性能下降。
4.2 定时任务中数据写入GaussDB 200
写入方式界面中可选择装载方式。如下图所示:
1)任务运行中不支持切换装载方式;运行暂停/终止允许切换装载方式;装载方式切换之后,任务按照选择的装载方式运行。
2)若开启 脏数据容忍 ,COPY 装载方式失败后,将尝试将该批数据使用普通装载方式写入,写入异常将统计进入脏数据,当前这一批数据写完后,下一批继续优先尝试使用COPY 装载方式;若未开启脏数据容忍,COPY 失败时直接报错,不再降级至普通装载方式。
若选择 COPY 装载方式,需要在目标数据库先创建 fdl_temp 模式用来存放临时表,需要用户有建表、建指定模式的权限(如果已由 DBA 建好模式并赋权,数据库用户可不需要建 schema 的权限)
4.2 管道任务中数据写入GaussDB 200
选择去向步骤中 可选择装载方式。如下图所示:
若选择 COPY 装载方式,需要在目标数据库先创建 fdl_temp 模式用来存放临时表,因此需要给该数据连接账号赋予在对应数据库创建模式的权限。
4.3 特殊场景说明
特殊场景 | 处理策略 |
---|---|
COPY 方案装载时,源端待装载的单批数据中,存在N条(N>1)主键相同的数据 一批数据中多条源端数据,更新目标端的一条数据,不知道要用哪条更新,造成装载异常 | 优先走 COPY 逻辑,如果开启 脏数据容忍,失败会尝试普通装载方式写入数据 1)如果关闭了脏数据容忍,则节点直接报错,错误信息打印在日志中,用户需要在前置步骤中做主键数据去重 2)如果开启了脏数据容忍,则先进行降级处理,降级为普通装载写入该批数据,再按照实际的主键冲突策略确定执行方案
|