DMS的数据库克隆原理是什么,会影响源端的性能吗[阿里云数据管理DMS]

DMS的数据库克隆原理是什么,会影响源端的性能吗

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
  1. 你好,有影响的,不管是local 还是remote克隆,都会影响源端的IOPS性能,尤其是数据库比较大的时候,读写都有影响。

  2. 数据管理DMS的数据库克隆功能支持将源数据库的表结构和表数据复制至目标数据库中,实现全部表或部分表备份,适用多环境数据库初始化,例如将开发环境复制到测试环境。

    前提条件 数据库类型为MySQL。

    数据库实例的管控模式为自由操作。更多信息,请参见管控模式。

    在数据库中出现克隆功能,主要是为了满足目前云原生的技术应用场景,同时也是为了海量数据备份而诞生的;

    在数据库中实现克隆功能应用有两种方式:

    本地克隆(Local Cloning):

    启动克隆操作的mysql数据库服务器实例中的数据,将会克隆到同服务器或同节点上的一个目录里;

    远程克隆(Remote Cloning):

    默认情况下,远程克隆操作会删除接受者(recipient)数据目录中的数据,并将其替换为捐赠者(donor)的克隆数据;

    也可以将数据克隆到接受者的其他目录中,以避免删除现有数据;(属于可选操作);

    主要用于实现数据远程的快速热迁移操作,在迁移过程中,除了DDL操作情况,其他操作都不会出现阻塞情况;

    还可以利用远程克隆技术,实现快速构建数据库的主从架构环境,实现主从数据信息快速复制同步;

    在进行数据库克隆操作时,会经历几个重要的过程或步骤:

    01 Page copy

    在进行数据页复制操作时,会涉及到两个操作动作:

    开启redo archiving功能,从当前点开始存储新增的redo_log,这样从当前位置点开始所有的增量修改都不会丢失;

    02 Redo copy

    停止redo archiving功能,所有归档的日志被发送到目标端,这些日志包含了从page copy阶段开始到现在的所有日志;

    另外可能还需要记下当前的复制点。

    03 Done

    目标端重启实例,通过crash recovery将redo log应用上去;

    克隆原理过程分析参考链接: https://zhuanlan.zhihu.com/p/437760913

    整个克隆过程都会以事件信息记录,可以很清晰的看到克隆的流程,如果克隆过程中断,也会以追加方式进行继续克隆;,

    在进行克隆功能应用时,也是存在一些限制性操作的:(结合官方列出的限制),参考官方链接说明: https://dev.mysql.com/doc/refman/8.0/en/clone-plugin-limitations.html