比阿里云DataX更好用的数据迁移工具Adv_DataX,目前仅支持postgresql
软件是使用psycopg2和python3进行开发的。 最开始是因为需要使用一些数据迁移工具,但都不是很理想,部署在服务器上的程序无比臃肿。而且大多数的程序因为并不开源,导致数据迁移过程都是在“全力出击”很容易就把线上库拉跨。所以才有了这个软件。 这个软件并不着力“快速”迁移,希望你理解,“快速”迁移的办法很多,原生的dump方式有着无与伦比的迁移速度。但也有其相对局限的一面,即无法减速。 是的。这个软件的特色是在于可以减速运行。你可以在获取数据,插入数据,或者任何一个合理的地方 塞入一个 sleep 来对程序进行人工阻塞以减缓程序运行速度。可以说,对服务器的压力是可以任意操控的。不过,因为包含字符串处理功能,所以比较吃摆渡机的CPU。没有使用malloc,内存占用并不高。 抽取数据占用IOPS,插入数据占用CPU。 在这两步中,对源目节点的压力是不同的。希望使用者注意。
顺便做了一个支持postgresql 全系列upsert的功能。
程序可以把 传输大量字符串可以改为传输字符串地址以优化函数间的参数传递性能。但是考虑到翻车的可能性。故没有使用。其余能优化的地方我都做了很多思考。你可以在源代码的注释中看到我留下的批注。
最后再批判一下阿里云提供的datax。配置太麻烦了,竟然还需要excel来生成一些数据。 为了diss一下阿里云的datax。 这个软件的名字就叫做 Adv_Datax吧
我就是个DBA,不是个开发,别要求太高了
一直在做同款的C语言版本。先挖个坑。 也可能只把字符串处理功能改成C语言处理
------天津第一DBA