计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
弹性伸缩 AS
镜像服务 IMS
专属主机 DeH
函数工作流 FunctionGraph
云手机服务器 CPH
Huawei Cloud EulerOS
网络
虚拟私有云 VPC
弹性公网IP EIP
虚拟专用网络 VPN
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
VPC终端节点 VPCEP
云连接 CC
企业路由器 ER
企业交换机 ESW
全球加速 GA
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
边缘安全 EdgeSec
威胁检测服务 MTD
CDN与智能边缘
内容分发网络 CDN
CloudPond云服务
智能边缘云 IEC
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
云搜索服务 CSS
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
数据可视化 DLV
数据湖工厂 DLF
湖仓构建 LakeFormation
企业应用
云桌面 Workspace
应用与数据集成平台 ROMA Connect
云解析服务 DNS
专属云
专属计算集群 DCC
IoT物联网
IoT物联网
设备接入 IoTDA
智能边缘平台 IEF
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
国际站常见问题
ICP备案
我的凭证
支持计划
客户运营能力
合作伙伴支持计划
专业服务
区块链
区块链服务 BCS
Web3节点引擎服务 NES
解决方案
SAP
高性能计算 HPC
视频
视频直播 Live
视频点播 VOD
媒体处理 MPC
实时音视频 SparkRTC
数字内容生产线 MetaStudio
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
存储容灾服务 SDRS
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
专属分布式存储服务 DSS
容器
云容器引擎 CCE
容器镜像服务 SWR
应用服务网格 ASM
华为云UCS
云容器实例 CCI
管理与监管
云监控服务 CES
统一身份认证服务 IAM
资源编排服务 RFS
云审计服务 CTS
标签管理服务 TMS
云日志服务 LTS
配置审计 Config
资源访问管理 RAM
消息通知服务 SMN
应用运维管理 AOM
应用性能管理 APM
组织 Organizations
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
应用身份管理服务 OneAccess
数据库
云数据库 RDS
文档数据库服务 DDS
数据管理服务 DAS
数据复制服务 DRS
云数据库 GeminiDB
云数据库 GaussDB
分布式数据库中间件 DDM
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
人脸识别服务 FRS
图引擎服务 GES
图像识别 Image
内容审核 Moderation
文字识别 OCR
AI开发平台ModelArts
图像搜索 ImageSearch
对话机器人服务 CBS
华为HiLens
视频智能分析服务 VIAS
语音交互服务 SIS
应用中间件
分布式缓存服务 DCS
API网关 APIG
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
多活高可用服务 MAS
事件网格 EG
企业协同
华为云会议 Meeting
云通信
消息&短信 MSGSMS
云生态
合作伙伴中心
云商店
开发者工具
SDK开发指南
API签名指南
Terraform
华为云命令行工具服务 KooCLI
其他
产品价格详情
系统权限
管理控制台
客户关联华为云合作伙伴须知
消息中心
公共问题
开发与运维
应用管理与运维平台 ServiceStage
软件开发生产线 CodeArts
需求管理 CodeArts Req
部署 CodeArts Deploy
性能测试 CodeArts PerfTest
编译构建 CodeArts Build
流水线 CodeArts Pipeline
制品仓库 CodeArts Artifact
测试计划 CodeArts TestPlan
代码检查 CodeArts Check
代码托管 CodeArts Repo
云应用引擎 CAE
开天aPaaS
云消息服务 KooMessage
云手机服务 KooPhone
云空间服务 KooDrive
文档首页/ 数据复制服务 DRS/ 实时灾备/ 任务管理/ 数据对比(对比灾备项)

数据对比(对比灾备项)

更新时间:2025-02-14 GMT+08:00

对比使用场景

对比灾备项可以对比业务数据库和灾备数据库的数据一致性,目前灾备对比功能支持以下几种对比方式:

  • 对象级对比:支持对数据库、索引、表、视图、存储过程和函数等对象进行对比。
  • 数据级对比分为行对比和内容对比。
    • 行对比:对比同步的表的行数是否一致,只查询表的行数,对比速度较快,建议优先使用。
    • 内容对比:对比同步的表内数据是否一致,需要查询每条数据进行对比,相较于行对比,内容对比较慢。

    为了确保对比结果具有可参考性,请通过“稍后启动”功能在业务低峰期或者无业务期进行数据对比,业务运行期间由于数据的持续变化,仅适合对一些业务的低频率修改的冷数据进行对比。

  • 用户对比:对源库和目标库的账号名称、权限进行对比。

在使用对比功能查看数据一致性时,建议优先使用行数对比,确定行数是否一致。如果出现行数不一致的情况,可以针对不一致的表,使用内容对比,来确定具体有哪些数据不一致。

表1 支持的对比方式

灾备方向

数据流向

对象级对比

行对比

内容对比

动态内容对比

用户对比

本云为备

MySQL->MySQL

支持

支持

支持

支持

支持

本云为主

MySQL->MySQL

支持

支持

支持

支持

支持

本云为备

MySQL->TaurusDB

支持

支持

支持

支持

支持

本云为备

DDM实例->DDM实例

支持

支持

不支持

不支持

不支持

本云为主

DDM实例->DDM实例

支持

支持

不支持

不支持

不支持

本云为备

TaurusDB->TaurusDB

支持

支持

支持

支持

支持

本云为主

TaurusDB->TaurusDB

支持

支持

支持

支持

支持

双主灾备

MySQL->MySQL

支持

支持

支持

不支持

支持

双主灾备

TaurusDB->TaurusDB

支持

支持

支持

不支持

支持

约束限制

  • 对比是大小写敏感的,如果业务数据库或灾备数据库一端为非大小写敏感,一端为大小写敏感,对比结果可能出现不一致的情况。
  • 如果在对比时业务数据库进行DDL操作,为保证对比结果的准确性,需重新进行内容对比。
  • 如果单独对灾备数据库进行数据修改操作,可能会导致对比结果不一致。
  • 如果业务数据库字符类型存在编码异常的情况,通过DRS灾备或对比时会因数据库驱动转码转换为异常码点,最终可能导致内容对比一致,实际字节不一致。
  • 内容对比功能目前只支持带有主键的表,对于不支持内容对比的表可以使用行数对比功能。所以数据级对比功能需要结合业务场景,选用行数对比或者内容对比。
  • DRS进行内容比对期间不能暂停DRS任务,否则可能导致比对任务失败。
  • 部分数据类型不支持内容对比,详情参考内容对比不支持哪些数据类型
  • 为避免占用资源,DRS对行对比的时长进行限制,超过限制时长,行对比任务自动停止。业务数据库是关系型数据库时,行对比限制时长为60分钟;业务数据库为非关系数据库,行对比限制时长为30分钟。
  • 为避免占用资源,DRS任务的对比结果限制保留60天,60天后自动清除。
  • 对于支持内容对比的灾备链路,如果创建任务时可以选择实例规格,那么仅支持大规格及以上规格进行内容对比。
  • MySQL、TaurusDB为源链路,源数据库中的虚拟列不支持内容对比,对比时会过滤虚拟列。

对数据库影响

  • 对象对比:会查询源库及目标库的系统表,占用10个左右的session的连接数,正常情况不会对数据库产生影响。但是如果对象数量巨大(比如几十万张表),可能会对数据库产生一定的查询压力。
  • 行数对比:会查询源库及目标库的表行数,占用10个左右的session的连接数,正常的select count语句基本不会对数据库产生影响。但是如果表数据量巨大(亿级)会对数据库产生一定的查询压力,返回查询结果会比较慢。
  • 内容对比:会查询源库及目标库的全部数据,涉及每个字段都会对比,所以会对数据库产生一定的查询压力,主要体现在IO上,查询速度受限于源库和目标库的IO和网络带宽。占用1-2个CPU,占用10个左右的session的连接数。
  • 用户对比:会查询源库及目标库的账户和权限,基本不会对数据库产生影响。

对比耗时预估

  • 对象对比:根据源库查询性能,一般会在几分钟内返回结果,如果对象数据量特别巨大,对比时长可能达到几十分钟。
  • 行数对比:使用select count方式,查询速度跟数据库性能相关。
  • 内容对比:在数据库没有压力并且网络正常的情况下,对比速度大概是5M/s。
  • 用户对比:与对象对比同时返回结果,如果对象不多的情况下,基本会在几分钟就会返回结果。

前提条件

  • 已登录数据复制服务控制台。
  • 已启动灾备任务。

操作步骤

  1. “实时灾备管理”界面,选中指定灾备任务,单击任务名称,进入“基本信息”页签。
  2. 单击“灾备对比”页签,进入“灾备对比”信息页面,对业务数据库和灾备数据库的数据进行对比分析。

    1. 首先进行数据库对象完整性检查。
      在“对象级对比”页签,单击“开始对比”后稍等一段时间再单击,查看各个对比项的对比结果。
      图1 对象级对比

      若需要查看对比项的对比结果详情,可单击指定对比项操作列的“详情”。

    2. 数据库对象检查完成后,进行灾备数据行数和内容对比。

      在“数据级对比”页签,单击“创建对比任务”页面,选择“对比类型”、“对比方式”、“对比时间”和“对象选择”,单击“确定”,提交对比任务。

      图2 创建对比任务
      • 对比类型:分为行数对比和内容对比。
      • 对比方式:分为静态对比和动态对比两种。
        • 静态对比:对源数据库和目标数据库进行一次全量内容对比,内容对比完成后对比任务结束,适用于无数据变化的非业务时间。
        • 动态对比:先对源数据库和目标数据库进行一次全量内容对比,对比任务完成后进入增量对比阶段,实时比对源数据库和目标数据库的增量数据,适用于有数据变化的业务时间。
        说明:
        • 目前仅MySQL和TaurusDB引擎支持对比方式选择。
        • 动态对比过程中不支持在业务数据库创建新表。如需创建,请先取消动态对比,待新表创建并灾备完成后,再重新启动动态对比。
      • 对比时间:可设置为“立即启动”“稍后启动”。由于同步具有轻微的时差,在数据持续操作过程中进行对比任务,可能会出现符合实际情况的少量数据不一致对比结果,推荐结合对比定时功能,选择在业务低峰期进行对比,得到更为具有参考性的对比结果。
      • 进行数据过滤:开启后,可根据配置的过滤条件进行对象比对。
        说明:

        目前实时灾备仅支持MySQL->MySQL设置数据过滤对比。

        选择开启数据过滤后,需要为选择对比的表对象添加过滤条件。

        在过滤条件区域,填写过滤条件后,单击“校验规则”
        说明:
        • 过滤表达式不支持使用某种数据库引擎特有的package、函数、变量、常量等写法,须使用通用SQL标准。
        • 请直接输入SQL语句中WHERE之后的部分(不包含WHERE和分号,例如:sid > 3 and sname like "G %")。
        • 过滤条件不支持使用隐式转换规则,请填写正确的数据类型条件。例如Oracle的c列是字符类型varchar2,过滤条件应该设置为 c > '10',而不是c > 10。
        • 不支持对LOB字段设置过滤条件,如CLOB、BLOB、BYTEA等大字段类型。
        • 建议不要对非精确类型字段设置过滤条件,如FLOAT、DECIMAL、DOUBLE等。
        • 建议不要对带有特殊字符的字段设置过滤条件。
        • 暂不支持对库名、shema名、表名大小写混用的对象进行过滤比对。
        • 暂不支持单库超过5万张表情况下进行条件过滤。

        校验通过后,单击“生成加工规则”,即可在加工规则表格中看到该规则。

        检查无误后,单击“确定”,创建对比任务。

      • 对象选择:可根据具体的业务场景选择需要进行对比的对象。
      说明:
      • 初始化中的任务无法进行数据级对比。
    3. 对比任务提交成功后,返回“数据级对比”页签,单击刷新列表,可以查看到所选对比类型的对比结果。
      图3 数据级对比结果
    4. 若需要查看对比类型详情,可单击指定对比类型操作列的“查看对比报表”,然后选择需要进行对比的数据库,单击操作列的“查看详情”,查看指定业务数据库和灾备数据库的对比结果详情。
      图4 行数对比详情
      图5 内容对比详情
      说明:
      • 已取消的对比任务也支持查看对比报表。
      • 行对比结果可按照“源库表行数”或“目标库表行数”,对当前页面显示的结果进行升序或者降序排列,方便进行筛选。
      • 行对比差异显示为负数时,代表目标库表行数比源库表行数多;显示为正数时,代表源库表行数比目标库表行数多。
    5. 查看数据库账号和权限对比。单击“用户对比”页签,可查看数据库账号及权限的对比结果。
      图6 用户对比
      说明:
      • 初始化阶段的任务无法进行用户对比。

数据修复(公测中)

当静态内容对比结果中存在不一致数据时,可在对比报表的明细页中选取不一致的表进行数据修复。数据修复结果为可在目标库执行的修复SQL。修复完成后可在对比报表的修复进度明细页查看不一致行的修复SQL生成详情,也可导出和下载针对本次对比所有已生成的不一致SQL,并结合实际情况在目标库手动执行修复SQL。数据修复具有如下约束。

  1. 数据修复功能仅支持白名单用户使用,当前仅支持MYSQL-MYSQL链路。
  2. 对于修复SQL为INSERT或UPDATE语句的场景,修复SQL中将展示不一致行的所有列内容,列值为对应列在源库的当前值。
  3. 历史的比对任务可能由于缺少修复信息而修复失败,需要重新比对后再进行修复。
  4. 每个灾备任务仅保留最新一次数据修复的修复进度明细信息页面。
  5. 单个不一致行的数据大小最大支持4M,超过时对应的修复SQL将生成失败。
  6. DRS生成的修复SQL中,时间类型字段的内容是基于UTC时间的,如果表中存在时间字段,目标库执行修复SQL前需先将会话时区设置为0时区。各数据库类型对应的会话时区设置SQL示例如下表。
  7. 请谨慎执行修复SQL中的DELETE语句。
表2 各数据库类型设置会话时区为0时区的SQL示例

数据库类型

时区设置SQL

MYSQL

SET session time_zone='+00:00';

我们使用cookie来确保您的高速浏览体验。继续浏览本站,即表示您同意我们使用cookie。 详情

文档反馈

文档反馈

意见反馈

0/500

标记内容

同时提交标记内容