Pgsql 全量+增量迁移 tidb7.5

2024年 7月 13日 61.7k 0

Pgsql 全量+增量迁移 tidb

参考了几款工具  datax  navicate flink cdc TapData

我们用过dm 同构的 表的dump load 加日志的增量同步那么 同样pg2mysql 要考虑

表结构转换与数据dump load ,还有增量实现起来比较复杂

Datax 需要俩侧建表 表结构需要转换 然后配置表同步信息比较麻烦你要一堆表变成同步映射任务

Navicate 商业的 只能说可用但是效率不高 增量没有需要停机传输时间较长

Flink cdc 看了下有点像 tidb cdc 需要开发

TapData 是一个目前开源的 满足我们需求的一个开源产品大家也可以改进提交代码

1 navicat plum 可以实现异构复制没有增量 之前同步过Oracle 2 gtidb  50G要 1个小时左右 相对较慢 用的盗版的

Pgsql 全量+增量迁移 tidb7.5-1

2.安装 TapData 社区版这个开源的工具:

TapData  分为四层架构,从左到右分别为:

· 数据采集层:基于日志解析的能力,通过开放式框架 Plugin Framework,以实时方式采集数据源中的变更数据并标准化,形成标准时间后进入流处理框架。

· 流数据处理层:通过 TapData 自研方案,在进程内即可完成数据计算、建模和转型,快速得出结果,进入存储层。

· 存储层:在将数据放入存储层时,实际上已经形成了一套逻辑模型,用户只需要专注于业务所需的数据,无需关心存储位置。

服务层:在服务层,有两种主流的数据服务模式 Pull 和 Push。API 支持低代码发布,可按照具体需求发布数据。当所需数据在业务系统中已有存储时,可通过 REVERSE ETL,反向把经过整理、治理的数据推送给用户。

Pgsql 全量+增量迁移 tidb7.5-1

原理就是单线程 dump 下来数据表后,然后转换结构 多线程导入数据 根据解析日志 做增

Pgsql 全量+增量迁移 tidb7.5-3

Pgsql 全量+增量迁移 tidb7.5-4

使用文档

https://docs.tapdata.net/quick-start/install/install-tapdata-community/

部署与运维

docker pull ghcr.io/tapdata/tapdata:latest

执行以下命令启动 TapData 容器:

docker run -d -p 3030:3030 --restart always --name tapdata ghcr.io/tapdata/tapdata:latest

docker run -d -p 3030:3030 ghcr.io/tapdata/tapdata:v3.6.0-664c6c14 您试一下这个版本

Linux 安装版本下载

TapData Community Release 页面   根据提示部署

最好内存大于8G要不然 起不来

Pgsql 全量+增量迁移 tidb7.5-5

Docker exec -it id bash

Pgsql 全量+增量迁移 tidb7.5-6

admin@admin.com,密码为 admin

创建数据源与目标源

Pgsql 全量+增量迁移 tidb7.5-7

创建同步映射任务 并根据需求 打开源端 wal 日志与目标端日志

Pgsql 全量+增量迁移 tidb7.5-8

Pgsql 全量+增量迁移 tidb7.5-9

此时客户端查看同步数据 数据校验是付费的需要其他途径校验

全量同步

Pgsql 全量+增量迁移 tidb7.5-10

增量数据同步Pgsql 全量+增量迁移 tidb7.5-11

Pgsql 全量+增量迁移 tidb7.5-12

注意问题点:就在创建同步任务的时候要固定表结构比如15 个表同步增量都是基于这15 个表的  此时我们多建一个表 那么这个要新建任务了

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论