更新时间:2023-12-18 GMT+08:00
分享

通用使用建议

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

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

如果涉及多对一迁移场景,您需要了解:

数据迁移完成后,您需要了解

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

相关文档