数据迁移的心得 -SinoDB星瑞格数据库

2022-02-15 00:00:00 功能 数据 数据库 耗时 传送

1.1 数据迁移背景

       Informix是IBM公司出品的关系数据库管理系统(RDBMS)家族。作为一个集成解决方案,它被定位为作为IBM在线事务处理(OLTP)旗舰级数据服务系统

       数据迁移工具,Informix数据库迁移到oracle,mysql,goldendb等数据库,每个数据库sql规则不一样,涉及到的功能和底层数据,在字符集等方面都要做兼容,涉及的面比较广,作为Repl的测试人员,简单总结一下repl的功能和测试方法 

1.2 Repl测试工具

Repl工具工作机制


Repl测试工具,根据配置链接信息,使用jdbc的方式链接到目标数据库,迁移工具灵活且强大,可以根据源端服务器的配置情况,进行不同方式的部署:



Repl测试工具支持迁移到oralce,mysql,goldendb,增量迁移时,根据etc/config.yml的文件进行配置

target: #目的数据库JDBC信息#SYS #test123456

 dbType: mysql   (可以是oracle,mysql,goldendb等

1.3 数据分析

       不同字符集之间的同步,涉及到中文数据的一个存储和转码同步的问题,比如informix数据库的字符集en_us.819,oracle或mysql的字符集为utf-8或gdk,存储过程中,utf8 的中文是3字节,GBK是2字节,informix会自动截取,可以正常插入,但是oracle等其他数据库字符编码为utf8时,不会自动截取,在增量同步过程中,涉及到转码功能和目标数据库的字段长度问题

Decode 加密与转码功能

测试场景

配置项

预期结果

加密+不启用转码功能

DISABLE_DE_BASE64_ENCODE 0 ENABLE_JSON_CONV2_UTF8    0

传送给目标端的json是base64  GB18030加密内容

不加密+不启用转码功能

DISABLE_DE_BASE64_ENCODE 1 ENABLE_JSON_CONV2_UTF8    0

报错

加密+启用转码功能

DISABLE_DE_BASE64_ENCODE 0 ENABLE_JSON_CONV2_UTF8    1

传送给目标端的json是base64  utf8加密内容

不加密+启用转码功能

DISABLE_DE_BASE64_ENCODE 1 ENABLE_JSON_CONV2_UTF8    1

传送给kafka的是明文  utf8中文显示

不加密+启转码功能,乱码和特殊字符检测

DISABLE_DE_BASE64_ENCODE 1 ENABLE_JSON_CONV2_UTF8    1

正常传送给kafka

 

Java解码功能

Source:

properties: #数据库JDBC连接串其他信息

  INFORMIXSERVER: hdr #idsol_sinodb1210

  charset: "gb18030" #GBK, ISO-8859-1, UTF-8

Target:

properties: #数据库JDBC连接串其他信息

    useUnicode: true

    characterEncoding: UTF-8

    serverTimezone: Asia/Shanghai

    useSSL: false

    allowPublicKeyRetrieval: true

1.4大数据量增量同步性能测试

导入100W的数据,多进程处理,java分组

模块名称

总耗时

处理速率

抓取(getIfxLog)

74s

13513条/s

解码(de.exe)

89s

11236条/s

传送(Repl.jar)

40s

25000条/s

 getIfxLog抓取日志耗时   

getIfxLog耗时:74秒

数据提交时间:committime:15:30:56  getIfxLog 耗时:74s


Decode解码耗时

Decode分5个进程,平均处理dat文件

数据开始处理时间为:32:10    数据结束处理时间为:33:49

Decode 解码耗时时间为:89


JAVA传送kafka耗时

因insert操作没有顺序,java启动多分组多进程处理传送kafka

Java开始时间:33:49   结束时间:34:29 

Java传送kafka耗时:40s


1.5Repl的心得:

      从来公司就进入repl团队,了解到informix的repl产品功能非常强大,它的灵活性,同步多种对端数据库,采用队列技术;支持并行复制;同表可并行复制;支持远程管道压缩数据等功能,弹性架构使其部署在不同的硬件设备上都能正常工作。

相关文章