国产数据库 GaussDB 数据迁移同步初探
简介
CloudCanal 近期发布了 GaussDB for MySQL和 OpenGauss 为对端的数据迁移同步链路。
对于新兴国产数据库 GaussDB ,我们也是第一次落地其相关的数据迁移同步能力,故从比较简单的对端作为切入点,逐步熟悉并延伸其相关数据生态。
本文以 MySQL 到 OpenGauss 数据迁移同步为案例,简要介绍技术背景以及快速使用案例。
技术点
MySQL 和 PostgreSQL 生态
GaussDB for MySQL 和 OpenGauss 分别是 MySQL 和 PostgreSQL 生态的产物,所以对于数据迁移同步的场景,也是分开处理的。
这些处理技术的差异点包括:
- Schema 结构
- 元数据获取方式
- 数据类型
- 结构迁移和同步
- 数据写入方式
- 性能调优
虽然上述两者差异明显,但是 GaussDB for MySQL 和 MySQL , OpenGauss 和 PostgreSQL 之间兼容性相当不错,基本上可以做到无差别处理。
所以作为对端,我们大量复用了 MySQL 和 PostgreSQL 数据迁移同步相关技术,使得 GaussDB 数据链路从一推出,即具备不错的成熟度。
简单示例
我们以 MySQL 到 OpenGauss 为示例,简要介绍如何使用 CloudCanal 做 GaussDB 相关的数据迁移同步。
准备动作
- 下载安装 CloudCanal 私有部署版本
,使用参见快速上手文档 - 准备 MySQL 数据库(8.0)和 OpenGauss 数据库(5.0)
- 登录 CloudCanal ,添加 OpenGauss 和 MySQL
任务创建
-
任务管理 -> 新建任务
-
测试链接 并选择已添加的 源 和 目标 数据库
-
点击下一步
-
选择 数据同步
-
勾选 全量数据初始化
-
选择 开启一次性数据校验(可选)
-
点击下一步
-
选择需要 迁移同步的表
-
点击下一步
-
默认勾选所有列
-
点击下一步
-
确认创建任务
-
任务 自动执行结构迁移、全量迁移 和 增量同步
-
任务同步延迟降到 10 秒以下时,自动执行数据校验,结果显示数据一致
总结
本文主要介绍了 CloudCanal 支持 GaussDB for MySQL 和 OpenGauss 目标端数据迁移同步功能,通过这个能力,用户可以便利地将数据迁移同步到 GaussDB for MySQL/OpenGauss 数据库,实现数据更广泛、更实时的应用。