前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >精准定位数据差异行,DBMotion 数据库迁移工具再添新功能

精准定位数据差异行,DBMotion 数据库迁移工具再添新功能

作者头像
沃趣科技
发布2022-12-31 13:30:32
4560
发布2022-12-31 13:30:32
举报
文章被收录于专栏:沃趣科技

丝滑的零停机在线迁移工具

DBMotion又发新版了!

此次版本更新,进一步加强了校验模块的能力,

并新增日志过滤功能、用户迁移和用户校验功能,

以及修复了多项问题。

01

查看校验失败表,

精准定位数据不一致行

本次新增了校验失败表,查看不一致功能,支持准确查看一个表内的源库和目标库到底哪些行不一致。迁移完成之后,如果你的表只有少量行不一致,就能很直接地帮你定位出来。

目前,DBMotion基于性能的考虑,对于源库和目标库的数据比较,是分块做checksum的。通过确定源库和目标库上每一个分片的checksum的一致性来确定表是否一致,加快对比的速度。这种对比方案,非常适用于表的绝大部分数据是一致的情况,用户校验完成后只需要着重关注不一致的表

举个例子,当用户A使用DBMotion构建迁移任务,配置并完成了对象/表结构的迁移、全量迁移和增量迁移后,开始使用数据校验进行结果比对。在正常情况下,DBMotion迁移过来的数据应该跟源库是一模一样的,但是不管是增量同步、部分延迟、数据已在目标库被修改或是其他的原因,校验出数据后,部分表还是会出现不一致。

DBMotion新的版本允许用户点击“查看不一致”请求,去查看该校验失败的表到底是哪里不一致:

如图所示,该表中有三行不一致,页面显示为:

明显可以看到:

  • id=1的行,目标库多,只在目标库存在这一行记录(蓝色)。
  • id=2的行,字段值不一致,age列在源库是2(绿色),在目标库上是4(蓝色)。
  • id=4的行,目标库少,只在源库上存在这一行记录(绿色)。

DBMotion将源库数据迁移到目标库,能够最大程度保证对象和数据的一致性。对于数据量特别大但只有很少一部分数据不一致的表来说,“查看不一致”可以精确定位到这些不一致的数据,明确到底是源库的数据、目标库的数据或是某一行数据的列不一致,从而确认导致数据不一致的原因。

在分析binlog日志时,如果发现最近的日志中正好有删除id=1,新增id=4和修改id=2的age值从2变为4的操作。那么,几乎可以确定这几行数据就是由于增量复制延迟而导致的,可采用增量同步追上的方式。如发现部分数据没有同步到目标库,也可以手工将这一部分数据导入目标库,确保数据的最终一致性。

这个功能也可能会有一定的副作用:从源库和目标库查询数据不一致的信息时,需要从源库和目标库上拉取数据,对网络、IO有较大影响。如果出现太多源库和目标库的数据不一致,建议用户对相关表进行全量重新同步,来保证数据的一致性

为了尽量降低这个副作用,查看不一致功能目前只支持查看500条数据不一致的行。如DBMotion查询到不一致数据达到501行,会提醒用户,并不再继续查找。

数据校验是迁移任务的兜底工作,可以保证迁移前后数据的一致性。DBMotion在这一块花费了大量的精力进行打磨,后续版本会继续加强相关功能。

02

多项新增功能

除查看不一致行之外,这次发布还新增了以下功能:

  • 增加日志过滤功能。通过关键字迁移步骤错误级别时间范围的筛选,用户可以将关注的特定日志筛选出来,便于诊断。
  • 增加用户迁移和用户校验功能。保证用户所选的信息能及时迁移到目标库,并且在对象校验时比对目标库用户是否存在,密码是否跟源库一致。
  • DBMotion还对以下问题进行了修复: 1.#1168 全量同步时,OOM的问题; 2.#1169 连续DDL时,增量同步报错; 3.#1309 全量迁移时,syntax error报错; 4.#1320 预检查时源端或目标端连接失败,返回信息不明确等问题。 通过修复这些问题,进一步提升了产品稳定性和可用性

这些功能的更新,想先人一步使用吗?

赶紧上Squids体验吧,

丝滑的DBMotion在线等你!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 沃趣科技 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档