3
2
0
0
专栏/.../

Pgsql 全量+增量迁移 tidb7.5

 aleibest2020  发表于  2024-07-13

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个小时左右 相对较慢 用的盗版的

no-alt

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

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

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

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

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

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

no-alt

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

no-alt

no-alt

使用文档

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要不然 起不来

no-alt

Docker exec -it id bash

no-alt

admin@admin.com,密码为 admin

创建数据源与目标源

no-alt

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

no-alt

no-alt

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

全量同步

no-alt

增量数据同步no-alt

no-alt

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

3
2
0
0

版权声明:本文为 TiDB 社区用户原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接和本声明。

评论
暂无评论