Squids DBMotion再添新库同步能力,本期增加了对openGauss数据库的同步支持

openGauss数据库是一款开源关系型数据库管理系统,采用木兰宽松许可证v2发行。openGauss内核深度融合华为在数据库领域多年的经验,结合企业级场景需求,持续构建竞争力特性。这是一款全面友好开放,携手伙伴共同打造的企业级开源关系型数据库。openGauss提供面向多核架构的极致性能、全链路的业务、数据安全、基于AI的调优和高效运维的能力。openGauss依赖于社区的代码贡献,目前最新的版本为5.0.0。

opengauss 修改表的schema属性 opengauss数据库_数据库


新建同步任务

  • 新建任务时,用户可以选择openGauss数据库,输入IP、端口、用户名和密码、数据库名后就能够测试数据库连接。

opengauss 修改表的schema属性 opengauss数据库_mysql_02

  • 用户可以选择需要同步的表,并设置是否启用告警,配置为单向还是双向同步以及冲突策略,确认要同步的起始位点(如需要从最新位点开始同步,则点击“获取源库当前位点”,DBMotion将为您自动填充好增量起始位点)。

opengauss 修改表的schema属性 opengauss数据库_数据库_03

  • 用户确认配置并预检查成功以后,就可以创建任务并运行了。

opengauss 修改表的schema属性 opengauss数据库_java_04

  • 进入任务详情,查看增量同步的状态,可以看到当前增量同步的速率和状态是否正常。

opengauss 修改表的schema属性 opengauss数据库_华为云_05

测试数据同步

  • 我们在源库和目标库的t1表结构和数据如下:t1有两个列, c1 为整数列,c2为字符串列。目前只有一行数据(2,bb)。
shang=# \d+ t1
                              Table "public.t1"
 Column |      Type      | Modifiers | Storage  | Stats target | Description
--------+----------------+-----------+----------+--------------+-------------
 c1     | integer        | not null  | plain    |              |
 c2     | character(100) |           | extended |              |
Indexes:
    "t1_pkey" PRIMARY KEY, btree (c1) TABLESPACE pg_default
Has OIDs: no
Options: orientation=row, compression=no
  • 我们在源库shang分别插入和更新一行记录,插入(3,bcd)并将bb修改为bb2。
shang=# insert into t1 values (3, 'bcd');
INSERT 0 1
shang=# update t1 set c2='bb2' where c1=2;
UPDATE 1
  • 在目标库shang2,我们就可以看到数据是否已经同步过去了。
shang2=# \c shang2
Non-SSL connection (SSL connection is recommended when requiring high-security)
You are now connected to database "shang2" as user "omm".
shang2=# select * from t1;
 c1 |                                                  c2
----+------------------------------------------------------------------------------------------------------
  3 | bcd
  2 | bb2
(2 rows)

创建反向任务

  • 如果用户是双向复制,在确认正向同步正常以后,就可以在结束迁移这里"创建反向同步任务"。

opengauss 修改表的schema属性 opengauss数据库_mysql_06

  • 反向任务会自动调换源和目标端,填充好IP、端口和数据库名,不会填充用户名和密码(源库和目标库的授权要求不一样,调换后,建议将用户名和密码更换为正确授权的用户)。

opengauss 修改表的schema属性 opengauss数据库_开发语言_07

  • 进入迁移选项配置页面,迁移对象维持不变,用户可以配置并发线程、是否启用告警和反向同步的冲突策略。反向任务的同步位点可以手工输入,也可以点击获取当前最新位点。

opengauss 修改表的schema属性 opengauss数据库_数据库_08

  • 如果配置确认以及预检查没有问题,就可以创建反向同步任务。

opengauss 修改表的schema属性 opengauss数据库_数据库_09

opengauss 修改表的schema属性 opengauss数据库_java_10

  • 此时在原目标库shang2上插入一笔数据。
shang2=# insert into t1 values (4,'opengauss4');
INSERT 0 1
  • 就可以在原源库shang上看到这笔数据。
shang=# select * from t1;
 c1 |                                                  c2
----+------------------------------------------------------------------------------------------------------
  3 | bcd
  2 | bb2
  4 | opengauss4
(3 rows)

查看性能和数据校验

可以在监控报警->性能曲线上看到性能监控指标。

opengauss 修改表的schema属性 opengauss数据库_java_11

如果需要检查源和目标的对象是否一致,可以在对象校验中执行“立即校验”。

opengauss 修改表的schema属性 opengauss数据库_数据库_12

同样也可以检查数据一致性。

opengauss 修改表的schema属性 opengauss数据库_数据库_13

安装插件,便捷即用

另外,openGauss的用户使用DBMotion时,可以直接在Datakit上安装插件:

opengauss 修改表的schema属性 opengauss数据库_mysql_14

总结

目前,Squids DBMotion已经支持openGauss的单向和双向同步,并且支持对象和数据校验,支持监控报警。

永久免费使用:squids.cn/product/dbmotion

赶紧上squids.cn体验吧!