【DM版本】: DM 7
【操作系统】:Debian 11
【CPU】: AMD 7840H
【迁移源】:Oracle 12c
达梦中待增量的表有两千五百万条数据,Oracle中源表有三千五百万条的数据,差额一千万条左右。(仅以这一个数据表为例,实际中有数据量大得多的 Tables)
但是下午折腾了两种方式的迁移:
第一种方式执行了50分钟还是原地踏步,没有半点新日志打印,等不了了就停止了同步过程。
第二种方式同样也差不多,通过判断自增键的大小来同步迁移,但耗时也好久,也等不了那么久。
由于时间有限,增量迁移需要越快越好,但是试用了 DMETL,发现这样还不如全量迁移。
是否有更好的同步更新数据的方法?
1、首先ETL自带增量组件,影子表组件和触发器组件可以实现增量,效率较高
2、其次,可以在每个组件的缓存配置中,使用并发,并设置缓存大小,根据数据量进行设定,可以提高同步效率
3、ETL大表同步对cpu,内存,磁盘IO要求较高,尽量提高服务器硬件性能可以大幅提高同步效率
以上是通过个人计算机来进行的,实际上需要以安装了国产凝思操作系统的服务器进行操作,服务器上的内存有32GB,但硬盘是机械的。
在我个人电脑上,Oracle To dameng 约一个半小时能完成全量迁移。
在服务器上,Oracle To dameng 需要一天时间才能完成全量迁移。
以上也是我很疑惑的地方,为啥时长能相差这么久?