前提条件
- 目前数据对比的支持数据库类型有:MySQL、PostgreSQL,源数据库实例和目标数据库实例的数据库类型需要相同。
- 数据对比目前为企业版功能,请用户使用该功能前,切换到DMS企业版,切换步骤及实例注意事项详见 版本说明 。
- 数据对比要求当前用户以及登录实例的账户,拥有源数据库和目标数据库的查询权限。如需要添加对比的数据库到DMS,请详见 实例列表 ;查询及修改用户对实例的操作权限,请详见 我的权限 。
注意事项
-
当前仅支持带有主键或唯一键的表进行对比,且配置映射字段的数据类型需要相同。
-
当前仅支持选择相同数据库类型,某些字段类型不支持数据对比,执行数据对比时会失败。
说明MySQL不支持数据对比的字段:tinyblob/blob/mediumblob/longblob/tinytext/text/mediumtext/longtext。
PostgreSQL不支持数据对比的字段:所有用户自定义字段。
-
每个工单最多保存10000行SQL语句,每个表最多保存500行SQL语句,超过500行变更SQL的表仅展示500条行差异,保留7日后过期删除。
-
比较时不对源和目标实例进行锁表操作,请避免比较时进行增删改业务,可能会影响对比结果。
功能概括
数据对比功能支持同构数据库中,不同表之间的行数据差异对比,即比较两表配置映射字段的数据是否一致,并生成差异化脚本(变更SQL)供用户自行复制执行,以修复源表和目标表行数据不一致的情况。
操作步骤
- 登录数据管理服务。
- 在左侧菜单栏,点击 开发空间>数据对比,进入数据对比工单列表页面。
- 点击数据对比按钮,打开新建数据对比工单填写界面,工单输入说明如下:
输入内容 说明 源数据库 目前源数据库支持的数据库类型有:MySQL、PostgreSQL。
目标数据库 源数据库实例和目标数据库实例的数据库类型需要相同。
如果重新选择了目标数据库,则下面的对比内容列表则会清空。
并发限制 选择并发限制,建议默认值即可,若自定义值请用户评估连接数过大带来实例操作性能降低的风险。
默认值为30。
支持定义词,可输入范围为30~200。
对比方式 选择对比方式。
完整对比:表的所有数据行都对比
抽样对比:需要用户填写抽样比例,范围为0~100,大数据量时建议使用。
注意抽样对比的对比结果可能会有误差。
对比内容 支持表数据对比。添加对比表的方式有:
点击"添加表":添加单组表。
点击"快速填充":多选源数据库中的表,根据同名策略匹配到目标表。
添加对比表之后,系统会进行自动字段映射,如果用户需要修改请点击"配置映射"。对比内容展示的每列含义如下:
对比源:源数据库中的表名称。
对比目标:目标数据库中的表名称。
映射关系:源表和目标表对比基准字段。如果未正确配置映射字段,会展示相关信息提示用户修改。
已配置字段(个):"配置映射"详情页中,配置字段映射勾选的个数。
配置映射:打开“配置映射”,用户可勾选需要对比的表字段组合,对比基准字段必须保留一组主键或唯一键,如果字段为主键或唯一键,可以设置为基准或取消基准。
删除:删除该组对比表。
工单说明 可描述工单备注内容。
4.填写完数据对比工单后,点击提交按钮,在弹出的开始执行弹窗点击确定按钮后即完成工单的提交,进入数据对比工单列表页。
5.在数据对比工单列表页点击对比工单号或详情按钮,可查看对比工单的概括内容,如对比对象的数目、进度条等。
6.如果对比工单状态为“执行中”或“执行完成”,可点击对比结果页面,查询对比内容是否一致,以及它们的DDL和变更SQL。用户可通过复制变更SQL到变更工单或查询窗口执行,也可以直接点击变更SQL弹窗中的“发起变更”按钮跳转到变更工单页,以修复源表和目标表行数据不一致的情况。