数据对比
NineData 数据库对比功能支持数据对比,即用户数据(UserData)的对比,用于对比两个数据库中的数据是否一致。通常用于备份恢复、数据迁移、数据同步后两端的数据一致性对比。本文介绍如何进行数据对比。
前提条件
操作步骤
登录 NineData 控制台。
在左侧导航栏单击数据库对比>数据对比。
在数据对比页面的右上角,单击创建数据对比。
在选择数据源页签,按照下表进行配置,并单击下一步。
参数 说明 任务名称 输入对比任务的名称,为了方便后续查找和管理,请尽量使用有意义的名称。最多支持 64 个字符。 源数据源 对比任务的源数据源,系统将基于该数据源的结构进行对比。 目标数据源 对比任务的对象数据源。 对比频率 选择对比的执行频率。 - 一次性对比:仅执行一次对比任务。你可以手动多次执行对比任务。
- 周期性对比:周期性地执行对比任务。
对比周期(仅周期性对比显示) 选择多长时间对比一次,可选周一到周日的任意一天或多天,也可以勾选每天,每天备份一次。 时区 根据实际业务情况选择时区,该参数影响对比任务显示的时间。 启动时间(仅周期性对比显示) 选择每个对比周期日的几点启动对比任务,可选 00:00~23:59,您也可以单击此刻,选择当前的时间点作为启动时间。 对比方式 选择数据的对比方式。 - 全量数据对比:对所有选择的数据进行对比。
- 快速对比:依次进行如下对比。
- 对比表中的总记录数。
- 查找表中所有数值类型不同数据库类型有不同的数值类型。
- MySQL:BIT、TINYINT、BOOL、SMALLINT、MEDIUMINT、INT、BIGINT、DECIMAL、FLOAT、DOUBLE
- SQLServer:BIGINT、NUMERIC、BIT、SMALLINT、DECIMAL、SMALLMONEY、INT、TINYINT、MONEY、FLOAT、REAL
- 根据您配置的,在每张表中随机抽样对应比例的记录数进行对比。
- String 类型:Key 对应的 Value 长度超过 10000 个字符。
- List、Set、Sorted Set、Stream 等类型:Key 对应的 Value 长度超过 10000 个元素。
在选择对比对象页签,选择需要对比的内容,并单击下一步。支持和。
- :选择源数据源中所有的数据库及对象。
- :自定义选择需要进行对比的数据库及对象。在左侧源对象列表中,勾选需要对比的数据库及对象,单击>添加到目标对象列表。
在页签,配置源端和目标端的数据库或对象名称的映射关系,并单击保存并预检查。
提示目标端中的数据库或对象名称如果和源端中的不一致,则需要进行配置。对于 MySQL 到 MySQL、SQL Server 到 SQL Server的对比,还可以单击数据表列表右侧的,配置目标字段名和源字段名的映射关系。
在预检查页签,等待系统完成预检查,预检查通过后,单击启动任务。
提示- 如果预检查未通过,需要单击目标检查项右侧操作列的详情,排查失败的原因,手动修复后重新执行预检查,直到通过。
- 检查结果为警告的检查项,可视具体情况修复或忽略。
在启动任务页面,提示启动成功。您可以执行如下操作:
- 如果是周期性对比,可以单击立即对比,立即执行一次对比任务。
- 单击查看详情查看对比任务的执行情况。
- 单击返回列表可以返回数据对比列表。
查看对比结果
登录 NineData 控制台。
在左侧导航栏单击数据库对比>数据对比。
在数据对比页面单击目标同步任务的任务 ID,页面说明如下(本文以 MySQL 数据源的对比结果为例进行展示,其他数据源可能存在细微差别)。
序号 功能 介绍 1 任务状态 对比任务的当前状态。 2 配置告警 配置告警后,系统会在任务失败时通过您选择的方式通知您。 3 立即对比 仅未进行中的任务显示,立即开始一次对比任务。选项说明: - :进行一次全量数据的对比。
- :进行一次快速对比。
- :对前一次对比中出现的不一致内容进行对比。
- :忽略源和目标的数据类型和格式差异,只取有效数值部分进行对比。
4 更多 - 暂停:暂停任务,仅状态为运行中的任务可选。
- 编辑:对任务的配置信息进行编辑。
- 终止:结束任务。
- 删除:删除任务,任务删除后无法恢复,请谨慎操作。
5 筛选项目 可以通过任务状态、任务结果、表名称快速筛选需要的对比结果。 6 日志 记录对比任务执行过程中的所有日志,支持通过日志类型、日志产生时间、关键字等项目快速筛选定位到目标日志。 7 监控 任务的监控信息,展示每秒的对比记录数。对于 MySQL 和 SQL Server,还提供限流功能,开启限流后,当源数据库的 thread_running
参数达到这个您配置的阈值时停止对比,直到该参数的值下降到阈值以下才恢复对比,确保数据源的稳定性。8 刷新 获取对比任务的最新状态。 9 对比结果列表 展示源端和目标端之间的数据对比结果。 - 在对比列表右侧操作列单击(不一致情况下显示):展示所有不一致的结果。在该页面,您还可以做如下操作:
- 单击具体不一致结果右侧的图标,查看更详细的对比详情。
- 单击具体不一致结果右侧的图标,生成以表为单位的变更 SQL,您可以直接复制该 SQL 到目标数据源中执行,修改不一致的内容。
- 单击,将源端正确的数据以 JSON 格式导出,方便您进行数据订正。
- 单击列表右上角的图标,可对列的展示方式进行自定义配置。
- 在对比列表右侧操作列单击(不一致情况下显示):生成以库为单位的变更 SQL,您可以直接复制该 SQL 到目标数据源中执行,修改整体不一致的内容。
10 历史结果 单击查看所有对比结果列表,单击目标列表项可以切换至该对比结果的详情。