【阿里之yugong介绍】

一、愚公诞生的背景

08年左右,阿里巴巴开始尝试MySQL的相关研究,并开发了基于MySQL分库分表技术的相关产品,Cobar/TDDL(目前为阿里云DRDS产品),解决了单机Oracle无法满足的扩展性问题,当时也掀起一股去IOE项目的浪潮,愚公这项目因此而诞生,纯java开发,其要解决的目标就是帮助用户完成从Oracle数据迁移到MySQL上,完成去IOE的第一步.  数据库迁移 (目前主要支持oracle -> mysql/DRDS)

 

二、愚公迁移过程

整个数据迁移过程,分为两部分:

  1. 全量迁移
  2. 增量迁移

过程描述:

  1. 增量数据收集 (创建oracle表的增量物化视图)
  2. 进行全量复制
  3. 进行增量复制 (可并行进行数据校验)
  4. 原库停写,切到新库

         回滚方案:

  1. 开启新库到老库的数据回流

三、愚公架构

说明: 

  1. 一个Jvm Container对应多个instance,每个instance对应于一张表的迁移任务
  2.  instance分为三部分
    a.  extractor  (从源数据库上提取数据,可分为全量/增量实现)
    b.  translator  (将源库上的数据按照目标库的需求进行自定义转化)
    c.  applier  (将数据更新到目标库,可分为全量/增量/对比的实现)

猜你喜欢

转载自gaojingsong.iteye.com/blog/2369200
今日推荐