🎉 CloudCanal 上线 V6.1.0.0:KingbaseES 分区表迁移性能大幅提升
跳到主要内容

MySQL 到 Paimon

CloudCanal 支持从 MySQL 到 Paimon 的数据迁移、同步、校验和链路能力。

选择对端数据库:

数据链路

基本功能

功能说明
结构迁移

如目标不存在所选表,则自动根据源端元数据,结合映射生成对端创建语句并执行创建

全量数据迁移

逻辑迁移,通过顺序扫描表数据,将数据分批写入到对端数据库

增量实时同步

支持 INSERT, UPDATE, DELETE 常见 DML 同步
无主键表 UPDATE, DELETE 不同步(需手动勾选)

修改订阅

新增、删除、修改订阅表,支持历史数据迁移,文档:修改订阅

重置位点

支持按照文件位点、时间戳 回溯位点,重新消费过去一段时间或指定 Binlog 文件和位点开始的增量日志

表名映射

支持 和源端保持一致, 转小写, 转大写, 以'_数字'后缀截取

DDL 同步

ALTER TABLE ADD COLUMN, DROP COLUMN, MODIFY COLUMN, CHANGE COLUMN

元数据检索

从源端表查对端,查询设置过过滤条件的,查询设置过对端主键的

高级功能

功能说明
写入冲突策略

源端有主键表进行覆盖写入,源端无主键表进行追加写入

自定义表属性

包括 format-version 等属性设置

设置数据分区

创建任务时可按表级粒度指定分区字段名(多个以逗号分隔,如:col1,col2,col3),结构迁移过程中将自动添加对应分区

自定义代码

文档1:创建自定义代码任务
文档2:自定义代码任务 debug
文档3:在自定义代码中打日志

设置目标主键

变更主键为其他字段,方便数据聚合等操作

数据过滤条件

支持 WHERE 条件进行数据过滤,内容为 SQL 92 子集,文档:创建数据过滤任务

限制和注意点

限制项说明
MySQL 存储引擎

支持 InnoDB, MySIAM, 阿里云 XEngine, 其他存储引擎暂未测试

MySQL 字符集

支持 utf8, utf8mb4, latin1, 其他编码暂未测试


源端数据源

前置条件

条件说明
账号权限

文档:MySQL / MariaDB 需要的权限

开启 Binlog

[mysqld]
log-bin=mysql-bin # 开启 Binlog
binlog-format=ROW # 选择 ROW 模式
binlog_row_image=FULL # 变更带所有列数据

任务参数

参数名称说明
parseBinlogParallel

增量解析 Binlog 的并发数

parseBinlogBufferSize

用于增量解析 Binlog 的环形队列大小

maxTransactionSize

单事务最大数据条数,超过则分段刷出

limitThroughputMb

限制增量 Binlog 流量

extraDDL

兼容额外的 DDL 同步,包括 PT, GHOST, ALI_DMS, PT_GHOST

fullDataSqlConditionEnabled

将过滤条件拼入 SQL 中进行源端数据扫描,此参数只针对全量迁移有效

srcTimeZone

源端时区,例如 +08:00, Asia/Shanghai, America/New_York 等

Tips: 通用参数配置请参考 通用参数及功能


目标端数据源

前置条件

条件说明
网络准备

迁移同步节点(sidecar)可连接 Catalog 和 Warehouse

S3 数据源配置模版
  • 网络地址(CatalogUri): glue.ap-southeast-1.amazonaws.com

  • httpsEnabled: true

  • metastoreType: filesystem

  • warehouse : s3://warehouse/test

  • catalogProps: { "s3.access-key": "", "s3.secret-key": "", "s3.path-style-access": "true" }

任务参数

参数名称说明
writeParallel

对端写入并发数,对迁移或者同步性能影响大

writeProps

写入配置参数(Json 格式)

compactTaskSize

压缩任务线程数

paimonIOManagerPaths

I/O 管理器路径

defaultDynamicBucket

默认动态 Bucket 数

totalDataInMemMb

攒批写入,内存中最大数据容量,超过此容量或超过 asyncFlushIntervalSec 则刷出数据到写入队列

asyncFlushIntervalSec

攒批写入,等待刷出的间隔时间,超过此时间或超过 totalDataInMemMb 则刷出数据到写入队列

flushBatchMb

单表最大攒批容量,超过此容量则刷出数据到写入队列

realFlushPauseSec

刷出数据到 Paimon 的等待时间,0 则不等待

catalogUri

Catalog 地址

httpsEnabled

Catalog URI 使用 HTTPS

catalogWarehouse

指定 Paimon 仓库的根目录 URI

catalogMetastoreType

启用文件系统模式

catalogProps

Catalog 配置参数

enableTimeZoneProcess

是否对时间字段进行时区转换

timezone

目标端时区,例如 +08:00 Asia/Shanghai America/New_York

Tips: 通用参数配置请参考 通用参数及功能

联系我们
微信二维码

扫码添加微信,获取技术支持