当前位置:   article > 正文

oracle order by效率慢_DataX迁移oracle数据到PostgreSQL

datax order by

我们在迁移Oracle到PostgreSQL的过程中,遇到了一些不小的挑战。使用Ora2PG工具迁移数据遇到的小问题比较多,同时在迁移LOB字段的时候,性能表现不够理想,于是我们采用了DataX来做数据迁移。

[ DataX3.0概览 ]

先介绍一下DataX,DataX是阿里巴巴集团内被广泛使用的离线数据同步工具/平台。特点是实现了众多异构数据源之间高效的数据同步功能。

14e7487d9bcabc9fc3227e9a13a94cd2.png

我们当前使用ogg软件来实现异构数据源同步的问题,从左图可见其链路及其复杂,这给后续运维工作带来了很多不可控因素,一旦数据库多起来,对维护人员来说不仅仅是工作量的增加,错综复杂的逻辑关系都是潜在的天坑。

而DataX则采用了星型数据链路来实现,运维人员只要管理中间的DataX服务器即可完成。当需要新增加一个数据源时,只需要接进来就可以完成数据同步工作。

当然缺点也显而易见,一旦宕机,将会影响其上所有同步的数据源。同时性能上也受制于DataX主机网卡的性能。一旦该网卡流量打满,则会导致同步速度达到天花板。

[ DataX架构 ]

DataX作为离线数据同步框架,采用Framework+ plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,纳入到整个同步框架中。

7811b62988056e60a0335dc9062eceea.png

如图所示:

Reader:Reader为数据采集模块,负责采集数据源的数据,将数据发送给Framework。

Writer:Writer为数据写入模块,负责不断向Framework取数据,并将数据写入到目的端。

Framework:Framework用于连接reader和writer,作为两者的数据传输通道,并处理缓冲,流控,并发,数据转换等核心技术问题。

当前DataX支持的Reader插件和Writer非常多,从官网上可以看到,主流的关系型数据库都支持。

7433ff6b146e6ea44ea6f1b2a7a790ce.png

[ 具体使用 ]

了解了基本概念和架构之后,来看看如何使用。先看看我们的表。这是一张Oracle中的表,包含BLOB字段。表上没有主键,也没有索引。

5ef2ccf2031227098bf6ed0f40a36445.png

表的大小接近75G。

1ceae4eb1af9b2b336905e2d6957f5d2.png

我们先看下Ora2PG迁移这张表的速度

51792ebabf327a271236a06dc1b64613.png

可以看到速度非常慢,只能达到700行/秒,这张表的数据量大概是6000多万。而在迁移其他小表或者字段没有LOB的表的

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/135254
推荐阅读
相关标签
  

闽ICP备14008679号