Greenplum
必要条件
必要条件 | 说明 |
---|---|
账号权限 | 分配的账号请保证有对 information_schema 表的查询权限以及相关映射库表的写入权限例: GRANT ALL privileges on schema public TO username; |
使用限制与注意点
项 | 说明 |
---|---|
9.4 前后版本 keyConflictStrategy=REPLACE 的实现不同 | 9.4 以后的版本通过SQL on conflict do update 语法完成 REPLACE 操作,9.4以前的版本会反查对端是否存在对应的记录从而决定采用 INSERT 还是 UPDATE ,对对端数据库会有一些额外的查询请求 |
常用对端任务参数
参数名称 | 说明 |
---|---|
keyConflictStrategy | 增量对端写入遇到主键冲突策略,IGNORE 直接忽略(默认),REPLACE 新数据替换数据库中数据, EXCEPTION 直接报错停止 |
dstWholeReplace | 写入的数据整行替换。根据 keyConflictStrategy 参数系统自动决定使用 insert conflict do update 或 UPDATE |
minPoolSize | 数据源最小连接池大小 |
maxPoolSize | 数据源最大连接池大小。为避免对端写入时连接池占用过多,可以调小该值 |
高级功能
Copy高性能写入
从 2.2.5.0版本开始,CloudCanal写入 PostgreSQL 或 Greenplum 对端支持启用COPY模式的高性能写入方式。此模式在增量阶段性能比以往基于JDBC PreparedStatement Batch 写入方式会有数量级提升。
使用限制
- 只适用于有主键的表的迁移和同步
优势
- 高性能的增量写入
- 冲突数据写入时不会因违反主键约束冲突而导致性能劣化
开启方式
步骤如下:
- 创建任务过程中第二步关闭选项“自动启动”
- 创建完任务后在任务详情页选择 功能列表->参数修改
- 在目标端数据源配置设置参数: writeStrategy=copy即可开启copy写入模式
- 重启任务即可生效