Pgsql 全量 + 增量迁移 tidb7.5
作者: aleibest2020 原文来源:https://tidb.net/blog/8bae91dc
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 个小时左右 相对较慢 用的盗版的
2. 安装 TapData 社区版这个开源的工具:
TapData 分为四层架构,从左到右分别为:
· 数据采集层:基于日志解析的能力,通过开放式框架 Plugin Framework,以实时方式采集数据源中的变更数据并标准化,形成标准时间后进入流处理框架。
· 流数据处理层:通过 TapData 自研方案,在进程内即可完成数据计算、建模和转型,快速得出结果,进入存储层。
· 存储层:在将数据放入存储层时,实际上已经形成了一套逻辑模型,用户只需要专注于业务所需的数据,无需关心存储位置。
服务层:在服务层,有两种主流的数据服务模式 Pull 和 Push。API 支持低代码发布,可按照具体需求发布数据。当所需数据在业务系统中已有存储时,可通过 REVERSE ETL,反向把经过整理、治理的数据推送给用户。
原理就是单线程 dump 下来数据表后,然后转换结构 多线程导入数据 根据解析日志 做增
使用文档
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 要不然 起不来
Docker exec -it id bash
admin@admin.com,密码为 admin
创建数据源与目标源
创建同步映射任务 并根据需求 打开源端 wal 日志与目标端日志
此时客户端查看同步数据 数据校验是付费的需要其他途径校验
全量同步
增量数据同步
注意问题点:就在创建同步任务的时候要固定表结构比如 15 个表同步增量都是基于这 15 个表的 此时我们多建一个表 那么这个要新建任务了
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/af1837d4aaf26afa36f0bf53f】。文章转载请联系作者。
评论