数据库校验利器升级!gt-checksum v1.2.3 正式发布

数据库校验利器升级!gt-checksum v1.2.3 正式发布

更快、更稳、更智能——你的数据一致性守护专家


✨ 写在前面

在日常的数据库运维与数据迁移中,你是否经常被这样的问题困扰:

  • 数据不一致却难以快速定位
  • 跨库校验复杂繁琐
  • 存储过程、触发器难对比
  • 大表校验内存飙升,被 OOM 直接 Kill

今天,我们为你带来一个好消息——gt-checksum v1.2.3全新发布,专门针对上述痛点进行了全面增强与优化!

发布会预约:https://meeting.tencent.com/dw/hSVg8Wu4ixfk
发布会时间:2026年1月26日下午15:30


🚀 核心亮点速览

1. 📁 数据库名映射:跨库校验一键搞定

现在,你可以轻松将源库的表“映射”到目标库的不同名称下进行校验,非常适合分库分表、跨环境数据对比等场景。

配置示例

# 单表映射
tables=db2.test1:db1.test1
# 整库映射
tables=db2.*:db1.*

结果中会清晰展示映射关系,一目了然。

2. 🛠️ 支持 Routine 与 Trigger 校验

不仅是表数据,现在连存储过程、函数、触发器也能进行一致性校验与智能修复,生成完整可执行的修复 SQL。

3. 🧠 更聪明的内存管理

引入智能内存调控机制,自动防止 OOM(内存溢出)。当内存接近上限时,工具会自动平滑降低并发与分块大小,并触发垃圾回收,保障任务稳定运行。

4. 📝 修复 SQL 生成逻辑大幅优化

  • 自动在修复文件头部添加字符集设置临时禁用外键检查等语句
  • 智能合并事务,提升修复执行效率
  • 修复了以往版本中因语句顺序问题导致的修复失败

⚙️ 重点功能详解

🔄 数据库名映射

适用于异构数据库同步、测试环境与生产环境结构差异等复杂场景,让校验不再受库表名称限制。

🔍 结构校验增强

  • 索引修复:支持主键/辅助索引的“不可见”属性设置,合并 DDL 提升效率
  • 外键约束:新增外键一致性校验与修复
  • 字段操作优化:智能合并 CHANGE COLUMN操作,避免重建字段导致的数据丢失风险

🧩 参数配置更清晰

我们整理了最常用的配置参数,方便你快速上手:

参数 说明 推荐值
parallelThds 并发线程数,影响校验速度 10
chunkSize 每次校验的数据量,影响内存与速度 10000
memoryLimit 内存上限(MB),防 OOM 根据机器配置调整
checkObject 校验对象:data, struct, routine, trigger data
fixTrxNum 单个事务包含的 DML 语句数 1000

⚡ 性能与稳定性的全面提升

  • 查询优化:减少冗余查询,部分场景性能提升达 3 倍
  • 并发自适应:内存超限时平缓降低并发(每次 90%),避免性能骤降
  • 日志国际化:所有输出统一为英文,日志更简洁,便于监控系统采集分析

🐛 关键问题修复

针对数据校验中的“顽疾”进行了重点修复:

  • 特殊字符(如 \')转义处理
  • 字符串末尾空格导致的误判
  • 多列联合主键校验准确性
  • 无索引表的数据一致性问题

📦 如何获取与使用

新版本已发布,你可以通过以下方式获取:

  1. 下载最新二进制包(已包含测试用例)
  2. 查看详细文档与配置说明
  3. 使用 ./gt-checksum --help快速查看参数

建议在使用前,根据实际数据量与环境资源,合理调整 memoryLimitparallelThds等参数,以达到最佳校验效果。


🙏 致谢

特别感谢社区用户

  • GLAW
  • 月城

为本版本的开发与优化做出的重大贡献!


💎 总结

gt-checksum v1.2.3 不仅是一次功能更新,更是面向生产级数据一致性校验的全面进化。无论你是在做数据迁移验证主从一致性巡检,还是日常数据质量保障,这个版本都能为你提供更可靠、更高效的支撑。

让数据校验,从此省心、放心。


gt-checksum 是一个开源项目,欢迎贡献代码、反馈问题或提出建议。让我们一起打造更好用的数据库工具!

posted @ 2026-01-26 09:50  GreatSQL  阅读(14)  评论(0)    收藏  举报