更新时间:2024-11-25 GMT+08:00
分享

通用使用建议

在使用DRS前,您需要了解:

  • DRS支持从数据库同版本或低版本到高版本的同步,不支持从高版本同步到低版本。
  • 数据库同步与环境多样性和人为操作均有密切关系,为了确保同步的平顺,建议您在进行正式的数据库同步之前进行一次演练,可以帮助您提前发现问题并解决问题。
  • 如果您使用的是全量同步模式,确保源和目标数据库无业务写入,保证同步前后数据一致。如果您使用的是全量+增量同步模式,支持在源数据库有业务数据写入的情况下进行同步。
  • DRS任务启动和全量数据同步阶段,请不要在源数据库执行DDL操作,否则可能导致任务异常。
  • 全量阶段读取表数据时,特别是大表的读取,可能会阻塞业务上对大表的独占锁操作。
  • 同步无主键表时,为了确保数据一致性,会存在3s以内的单表级锁定。
  • 正在同步的数据被其他事务长时间锁死,可能导致读数据超时。
  • 由于MySQL固有特点限制,CPU资源紧张时,存储引擎为Tokudb的表,读取速度可能下降至10%。
  • DRS并发读取数据库时,会占用大约6-10个session连接数,需要考虑该连接数对业务的影响。
  • 在网络无瓶颈的情况下,全量同步会对源数据库增加约50MB/s的查询压力,以及占用2~4个CPU。
  • 更多DRS对数据库的影响,可参考DRS对源数据库和目标数据库有什么影响
  • 建议您在启动任务时选择“稍后启动”功能,将启动时间设置在业务低峰期,相对静止的数据可以有效提升一次性同步成功率,避免同步对业务造成性能影响。如果同步不可避免业务高峰期,推荐使用同步限速功能,即“流速模式”选择“限速”
  • 数据对比

    建议您结合数据对比“稍后启动”功能,选择业务低峰期进行数据对比,以便得到更为具有参考性的对比结果。由于同步具有轻微的时差,在数据持续操作过程中进行对比任务,可能会出现少量数据不一致对比结果,从而失去参考意义。

  • 如果涉及多对一同步场景,您需要了解:
    • 如果涉及多对一场景的同步任务,可参考多对一的场景约束及操作建议
    • 如果涉及表级汇集的多对一同步任务,则不支持DDL,否则会导致同步全部失败。
  • 数据同步完成后,您需要了解
    • 同步完成后,建议您结合数据对比“稍后启动”功能,选择业务低峰期进行数据对比,以便得到更为具有参考性的对比结果。由于同步具有轻微的时差,在数据持续操作过程中进行对比任务,可能会出现少量数据不一致对比结果,从而失去参考意义。

相关文档