检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
DRS数据对比 父主题: 图解数据复制服务
的“创建对比”,创建对比任务。 单击迁移对比须知处的“全面检查”,进入“创建对比任务”页面。 在“创建对比任务”页面,分别选择“对比类型”、“对比方式”、“对比时间”和“对象选择”后,单击“是”,提交对比任务。 图3 创建对比任务 对比类型:分为行数对比和内容对比。 对比方式:分为静态对比和动态对比两种。
数据级对比分为行对比和内容对比。 行对比:对比同步的表的行数是否一致,只查询表的行数,对比速度较快,建议优先使用。 内容对比:对比同步的表内数据是否一致,需要查询每条数据进行对比,相较于行对比,内容对比较慢。 抽样对比:当数据量过大时,行数对比和内容对比需要较长时间,推荐使用抽样对比,设置
数据库对象检查完成后,进行灾备数据行数和内容对比。 在“数据级对比”页签,单击“创建对比任务”页面,选择“对比类型”、“对比方式”、“对比时间”和“对象选择”,单击“确定”,提交对比任务。 图2 创建对比任务 对比类型:分为行数对比和内容对比。 对比方式:分为静态对比和动态对比两种。 静态对比:对源数据库和目
内容对比不支持哪些数据类型 DRS提供的数据比对功能可以清晰反馈出源数据库和目标数据库的数据是否存在差异。 目前对于以下数据类型,DRS不支持内容对比,进行内容对比时会自动跳过。 表1 不支持内容对比的数据类型 源数据库类型 数据类型 MySQL TINYBLOB、BLOB、ME
DRS对比任务耗时预估 对象对比:根据源库查询性能,一般会在几分钟内返回结果,如果对象数据量特别巨大,对比时长可能达到几十分钟。 行数对比:使用select count方式,查询速度跟数据库性能相关。 内容对比:在数据库没有压力并且网络正常的情况下,对比速度大概是5M/s。 用户
任务的索引创建对已有任务的同步阻塞。 对于多对一同步任务场景,不建议使用内容对比,因为内容对比无法保证一致性。 如果涉及表级汇集的多对一同步任务,则不支持DDL,否则会导致同步全部失败。 图1 参数对比 场景一:实例级多对一数据迁移 数据迁移是以整体数据库搬迁为目的,可以实现实例
数据对比 内容对比不支持哪些数据类型 DRS对比任务对数据库有什么影响 DRS对比任务耗时预估 DRS对比任务取消后,数据库有对比任务的查询进程未结束
一个任务只允许有一个未完成的数据级对比任务,该字段决定对未完成数据级对比任务的处理方式。cancel:取消后重新创建。keep:保持未完成的不再创建。 取值: cancel keep compare_type 是 String 数据级对比类型,lines:行对比,contents:内容对比。 取值: lines
DRS对比任务对数据库有什么影响 对象对比:会查询源库及目标库的系统表,占用10个左右的session的连接数,正常情况不会对数据库产生影响。但是如果对象数量巨大(比如几十万张表),可能会对数据库产生一定的查询压力。 行数对比:会查询源库及目标库的表行数,占用10个左右的session的连接数,正常的select
获取健康对比对象级对比概览 功能介绍 获取健康对比对象级对比概览。 URI GET /v5/{project_id}/jobs/{job_id}/health-compare-jobs/object/{compare_job_id} 表1 路径参数 参数 是否必选 参数类型 描述
ATATYPELIST表迁移至shard_0,共迁移了两条数据。 验证数据一致性。 在“同步对比 > 对象级对比”页面,查看库和表的迁移结果。 在“同步对比 > 数据级对比”页面,创建对比任务,查看表中行的迁移结果。 通过DAS连接GaussDB的目标库“test_database_info
请求查询结果的对象级对比任务id。 line_compare_id 否 String 请求查询结果的行对比任务id。 content_compare_id 否 String 请求查询结果的内容对比任务id。 current_page 是 Integer 分页查询的当前页码,对查询对比任务的结果生效。
行数对比任务结果不一致,目标数据库执行SQL超时 操作场景 数据级行对比不一致,提示"目标数据库执行SQL超时"。 图1 对比不一致 问题分析 由于比对的表数据量比较大,行比对超时,默认超时时间1小时。 解决方案 重新进行行对比。 拆分需要进行对比的表,分批多次进行对比。 如果以
细,该明细只是全量阶段迁移数据和跳过结构的展示,不支持更新。其他链路在进入增量迁移后,进度明细数据将不再显示,您可以使用“迁移对比”页签,进行一致性对比。 图2 迁移进度明细 跳过迁移对象。在迁移对象“详细信息”列的“查看详情”中,可以单击对象操作列的“跳过并重启”跳过迁移对象。
DRS对比任务取消后,数据库有对比任务的查询进程未结束 以源库Mysql数据库为例,进行行数对比,取消对比任务,在源库有对比任务的查询进程未及时结束,清理残留进程,按照如下步骤操作: 使用管理员权限用户登录Mysql数据库,执行show processlist; 按照Host和Command获取Id
图1 对比失败 问题分析 由于对比的表数据模型比较特殊,对比任务无法自动分片对比,导致任务失败。 解决方案 重新创建内容对比任务,对比对象不勾选报错的表。 单击任务名称,进入基本信息页面。 以同步任务为示例,单击“同步对比”页签,进入“同步对比”信息页面。 选择“数据级对比”页签,单击“创建对比任务”。
String 对比时间。 begin_time String 对比开始时间。 end_time String 对比结束时间。 compare_type Array of strings 对比类型。 object:对象对比 lines:行对比 account:用户对比 status
操作。 数据对比: 建议在源库的业务低峰期进行数据比对,防止误报不一致数据,以及减少对源库和DRS任务的冲击。 在增量同步过程中做对比时,源库若存在写入,则对比结果可能不一致。 行对比时,集群实例如果存在孤儿文档或者正在进行chunk迁移,会导致返回的行数不准确,对比结果不一致。详细情况可参考MongoDB官方文档。
数据对比 对比任务报错,关键词“失败报错:service SDV failed! cause by: the size of records in one shard[ *** ] of target database, exceeds the max size 200000”