我问一下 40t的数据从pg 迁移到tidb用什么好点

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】
我问一下 40t的数据从pg 迁移到tidb用什么好点
最好的办法 比如导出csv再导入

navicate的数据传输多开

就和pg迁移mysql一个方案,试试这个

借用工具 比如datax (postgresqlreader,mysqlwrite) 市场上应该也有很多其他的。

离线导出数据文件,然后local模式导入TiDB

导出CSV文件,lingting local 模式下导入吧,

当涉及到从PostgreSQL(通常简称为PG)迁移到TiDB时,并且数据量达到40TB,选择正确的迁移工具和方法至关重要。以下是一些建议的迁移方案,以及它们的优点和考虑因素:

1. 使用Navicat进行数据迁移

优点

  • Navicat Premium 是一款多连接数据库开发工具,支持连接多种类型的数据库,包括PostgreSQL和TiDB。
  • 提供直观的用户界面,可以方便地配置数据源和目标数据库。
  • 支持批量迁移表和数据,简化了迁移过程。

考虑因素

  • 对于大量数据(如40TB),可能需要较长时间来完成迁移。
  • 需要确保Navicat版本与您的数据库版本兼容。

2. 使用DataX进行数据迁移

优点

  • DataX是阿里云DataWorks数据集成的开源版本,广泛用于各种异构数据源之间的数据同步。
  • 支持高效的数据同步功能,包括MySQL、PostgreSQL和TiDB等数据源。
  • 提供灵活的配置选项,可以根据需要进行定制。

考虑因素

  • 需要一定的技术背景来配置和使用DataX。
  • 对于大型迁移,可能需要调整和优化DataX的性能设置。

3. 使用ETL工具

优点

  • ETL(Extract, Transform, Load)工具可以从源数据库中提取数据,进行转换和清洗,然后加载到目标数据库中。
  • 提供了丰富的功能和灵活性,可以支持复杂的数据迁移和同步场景。
  • 常用的ETL工具包括DataX、Sqoop和Kettle等。

考虑因素

  • 需要根据具体的数据迁移需求选择合适的ETL工具。
  • 可能需要编写自定义的转换和清洗逻辑。

4. 自定义迁移脚本

优点

  • 灵活性高,可以根据具体需求编写定制的迁移脚本。
  • 可以实现复杂的迁移逻辑和数据处理。

考虑因素

  • 需要具备一定的编程和数据库知识。
  • 开发和测试迁移脚本可能需要较长时间。

总结

对于40TB的PostgreSQL到TiDB的数据迁移,建议考虑使用Navicat或DataX这样的工具,因为它们提供了直观的用户界面和高效的数据同步功能。如果迁移需求复杂或需要自定义处理逻辑,可以考虑使用ETL工具或编写自定义迁移脚本。在选择迁移工具时,请务必考虑工具的兼容性、性能和易用性等因素。

1 个赞

个人觉得navicat不可取,太慢了。
可以考虑用datax这种类似的工具来迁移。

可以考虑用ETL工具,分批次进行迁移。

    • 如果数据迁移窗口允许,可以考虑先全量迁移,然后再通过逻辑复制或增量数据同步完成迁移后的数据一致性维护。但需要注意的是,PostgreSQL到TiDB的直接逻辑复制工具可能不存在,可能需要通过中间格式(如CSV)或自建同步逻辑来实现。