数据复制服务 DRS-产品架构和功能原理:实时迁移基本原理

时间:2024-05-20 19:09:43

实时迁移基本原理

图2 实时迁移原理
  • 以“全量+增量”迁移为例,完整的迁移分为四个阶段。
    1. 第一阶段:结构迁移。DRS服务会从源数据库查询到用户选择迁移的库、表、主键等对象,然后在目标数据库创建这些对象。
    2. 第二阶段:全量数据迁移。DRS服务会通过并行技术,以最高效的资源利用,从源数据库查询到当前所有数据,并在目标数据库进行插入。在全量数据迁移启动前,会提前进行增量数据抽取保存,以便在第三阶段增量数据迁移时,能够和全量数据接续,保证数据的完整性和一致性。
    3. 第三阶段:增量数据迁移。全量任务结束后,增量迁移任务启动,此时会从全量开始的增量数据持续的解析转换和回放,直到追平当前的增量数据。
    4. 第四阶段:为了防止触发器、事件在迁移阶段对于数据的操作,在结束任务阶段再迁移触发器、事件。
  • 全量数据迁移的底层模块主要原理:

    分片模块:通过优化的分片算法,计算每个表的分片逻辑

    抽取模块:根据计算的分片信息并行多任务从源数据库查询数据

    回放模块:将抽取模块查询的数据并行多任务插入目标数据库

  • 增量数据迁移的底层实现模块主要原理:

    日志读取模块:日志读取模块从源数据库读取原始增量日志数据(例如MySQL为binlog),经过解析转换为标准的日志格式存储在本地。

    日志回放模块:日志回放模块根据日志读取模块转换的标准格式增量日志,根据用户的选择策略进行加工过滤,将增量数据同步到目标数据库。

support.huaweicloud.com/productdesc-drs/drs_01_0317.html