工具有什么用
- 当我们用一些第三方同步工具同步数据时,同步过程中可能会出现:数据不一致
- 这时候需要一些数据对比,来验证数据同步是否按预期进行
- 很早以前我写过类似的功能。但是一直没有做异构数据同步支持
- 异构数据是指源数据库和目标数据库不是同一种数据库
- 例如,从Oralce实时同步数据到MySQL
- 这是一个常见的异构数据同步场景
- 如何来验证和修复这个数据同步
- 于是我开发了这个工具,用来解决这个问题
支持异构数据源对比
- 支持MySQL<—->MySQL
- 支持Oracle<—->MySQL
- 支持Oracle<—->Oracle
- 支持MySQL<—->Oracle
双向数据对比
- 能比较出源库有没有的数据(生成Detelte语句)
- 能比较出源库没有,但是目标库有的数据(生成Detelte语句)
- 能比较出主键相同,但是其他列有差异的数据(生成Update语句)
双向生成修复SQL
- 可以生成目标库的redo SQL
- 也可以生成源库的Undo SQL
可配置的时间精度对比
- 对不同数据的不同时间精度都用同一维度对比(默认精确到分钟:YYYY-MM-DD HH:MM)
- 对不同精度的小数格式化支持(会去掉0.6000后面的000 )
列默认值支持
- 通常用于一边是Null,一边是Not Null的默认值
白名单支持
- 支持对列级别的白名单(这一列不参与对比)
- 支持对值级别的白名单 (包含)
支持表结构变形后的对比
- 支持源表和目标表表结构不同(要求主键是唯一的,其他变形在sql可控范围内)
对比速度
- 可按表级别并发执行,单表对比速度约:1万-3万行/秒