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