历史版本10 :配置GaussDB 200数据源 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本说明

 FineDataLink 版本
功能变动
4.0.8-
4.1.2定时任务和数据管道任务中,装载方式新增COPY装载

1.2 应用场景

FineDataLink 支持使用 GaussDB 200 数据源作为目标数据库配置数据管道任务写入数据

同时支持使用 GaussDB 200 进行数据同步和数据转换中的数据输出。

2. 准备工作编辑

2.1 版本和驱动

下载驱动,并将其上传至 FineDataLink,如何上传可参见:驱动管理 第二节。

版本驱动包下载
gaussdb 200

postgresql-42.1.4 .jar

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

写入方式界面中可选择装载方式。如下图所示:

1701160961983161.png

1)任务运行中不支持切换装载方式;运行暂停/终止允许切换装载方式;装载方式切换之后,任务按照选择的装载方式运行。

2)若开启 脏数据容忍 ,COPY 装载方式失败后,将尝试将该批数据使用普通装载方式写入,写入异常将统计进入脏数据,当前这一批数据写完后,下一批继续优先尝试使用COPY 装载方式;若未开启脏数据容忍,COPY 失败时直接报错,不再降级至普通装载方式。

若选择 COPY 装载方式,需要在目标数据库先创建 fdl_temp 模式用来存放临时表,需要用户有建表、建指定模式的权限(如果已由 DBA 建好模式并赋权,数据库用户可不需要建 schema 的权限)

4.2 管道任务中数据写入GaussDB 200

选择去向步骤中 可选择装载方式。如下图所示:

14.png

若选择 COPY 装载方式,需要在目标数据库先创建 fdl_temp 模式用来存放临时表,因此需要给该数据连接账号赋予在对应数据库创建模式的权限。

4.3 特殊场景说明

特殊场景
处理策略
COPY 方案装载时,源端待装载的单批数据中,存在N条(N>1)主键相同的数据

一批数据中多条源端数据,更新目标端的一条数据,不知道要用哪条更新,造成装载异常

优先走 COPY 逻辑,如果开启 脏数据容忍,失败会尝试普通装载方式写入数据

1)如果关闭了脏数据容忍,则节点直接报错,错误信息打印在日志中,用户需要在前置步骤中做主键数据去重

2)如果开启了脏数据容忍,则先进行降级处理,降级为普通装载写入该批数据,再按照实际的主键冲突策略确定执行方案

  • 原来目标表中有对应主键数据,则记录N条脏数据

  • 原来目标表中没有对应主键数据,则记录N-1条脏数据

  • 「主键相同,覆盖目标表数据」:发生主键冲突时,后来的数据覆盖之前的同主键数据

  • 「主键相同,忽略输入源数据」:发生主键冲突时,忽略后来的数据

  • 「主键相同,记录脏数据」:发生主键冲突时,后来的同主键数据视为脏数据