求tidb数据迁移方案

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:
    旧的版本是v3.0.1 按照在google cloud的kubernetes里面
    新的版本是v4.0.7 安装在aws的eks 集群里面,只有basic-pd basic-tidb basic-tikv 节点

  • 【问题描述】:
    数据大约有2TB左右,最大单个表的数量在10亿条左右.
    目前导出数据很慢,导入数据更慢。
    一开始使用的是mydumper/loader,导出数据花了大约1个晚上,生产系统里面停了一晚上。导入数据loader就太慢了,一天没完成,后放弃。然后在折腾tidb-lightning。

1.有什么快速导入导出的解决方案。
2.导出数据后,再导入数据,原来的生产系统里面又添加/删除了新的数据,这新的数据要怎么处理。有没有不停机,或少停机的解决方案。

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

你好,
可以选择在线升级 v3.0.1 集群到 4.0 . 并且使用 br 导出, br 导入~

增量数据可以使用 ticdc 进行增量同步

升级: https://docs.pingcap.com/zh/tidb/stable/upgrade-tidb-using-tiup
br 备份/恢复: https://docs.pingcap.com/zh/tidb/stable/backup-and-restore-tool
ticdc 增量同步: https://docs.pingcap.com/zh/tidb/stable/ticdc-overview

可以选择在线升级 v3.0.1 集群到 4.0

这个v3.0.1是生产环境的,安装在google cloud kubernetes上,没有把握保证升级成功。担心会把生产环境给搞挂。

你好,
根据目前的数据量和迁移速度, 可以看下下面的方案:

  1. 建议在现有集群扩容 tidb-binlog 组件,
    https://docs.pingcap.com/zh/tidb/v3.0/tidb-binlog-overview

  2. 可以将 mydumper 换成 dumpling, dumpling 有自适应 gc 可以保证完整备份, 并将 tidb gc 调整为 72h(大于 dumpling 的备份时长, 此操作为了使用 tidb-binlog 组件, 将增量的数据导入到 4.0 集群中), 导出格式为 CSV, 注意导出线程, 别影响线上业务.

https://docs.pingcap.com/zh/tidb/stable/dumpling-overview#相比于-mydumperdumpling-有哪些改进之处

  1. 将 dumpling 数据使用 lightning-importer 导入 tidb v4.0, 成功后, 对全量数据进行一致性验证, 将 metadata 文件中的内容写入 drainer, 完成增量同步配置, 观察一段时间后, 对增量数据进行一致性验证
    https://docs.pingcap.com/zh/tidb/v3.0/tidb-binlog-configuration-file#initial-commit-ts

  2. 观察 4.0 集群状态, 后面待时机合适, 切换数据源,

方案优点

  • Lightning-Importer CSV 模式导入理论上速度更快
  • Dumpling 自适应 GC 减少导出失败风险
  • tidb-binlog 的引入, 解决增量同步问题

https://docs.pingcap.com/zh/tidb/v3.0/tidb-binlog-overview
没有找到在kubernetes 里面安装tidb-binlog的文档,要在kubernetes里面部署要怎么做?

你好,
看下这个文档是否可以
https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/deploy-tidb-binlog