Skip to content

tichecker 工具用于在线 Online 校验 MySQL -> TiDB 基于 DM 实时同步数据一致性

Notifications You must be signed in to change notification settings

wentaojin/tichecker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tichecker

ticheker 工具用于在线 Online 校验 MySQL -> TiDB 基于 DM 实时同步数据一致性,支持合库合表场景,秉承最小业务侵入原则,非 binlog 以及加事务锁机制,主要原理是基于上下游表范围 chunk 计算 checksum【chunk 切分尽可能小,按理数据变动可能性更小,可能数据核对会更准,比对出不一致数据更快,但是检验时间会更长】,如果 checksum 校验出现数据不一致则会按照配置项进行重试,重试指定次数仍然不一致则会记录并产生修复 SQL,使用限制:

  • 有损 DDL 变更期间无法使用,比如:rename column/drop column/ 上下游表结构不一致情况下
  • 即使产生数据不一致,也可能是因 DM 同步延迟超时重试次数所致,需要手工再次核对确认或者调大重试次数、重试等待间隔时间重新校验

使用方式:

  • 详情配置文件示例见 conf/tichecker.toml
$ ./tichecker --config tichecker.toml

About

tichecker 工具用于在线 Online 校验 MySQL -> TiDB 基于 DM 实时同步数据一致性

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Languages