`
agapple
  • 浏览: 1594906 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

阿里巴巴开源项目: 阿里巴巴去Oracle数据迁移同步工具

阅读更多

背景

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

 

项目介绍

名称:   yugong

译意:   愚公移山

语言:   纯java开发

定位:   数据库迁移 (目前主要支持oracle -> mysql/DRDS)

 

 

项目介绍

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

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

过程描述:

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

架构 


 

说明: 

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

方案设计

全量方案

业界常用的全量方案有:

  1. 数据文件导入/导出,比如EXPDP/IMPDP, mysqldump/source, xtrabackup等
  2. ETL数据导入/导出,主要原理为使用JDBC数据查询接口

yugong在项目设计之初考虑去IOE数据迁移的灵活性和自定义能力,最终选择的方案为基于JDBC接口遍历数据.  

相比于数据文件导入/导出,其优点:

  • 灵活数据同步
  • 支持异构数据
  • 实现相对简单

缺点: 

  • 全量拉取需要配合增量使用,会有部分数据重复同步
  • 性能和影响,一次性全量拉取,如果持续时间过长,如果此时数据库变更过多,会导致segment过大

增量方案

业界常用的增量方案有:

  1. 基于时间戳定时dump
  2. oracle日志文件,比如LogMiner,OGG
  3. oracle CDC(Change Data Capture)
  4. oracle trigger机制,比如DataBus , SymmetricDS
  5. oracle 物化视图(materialized view)
  6. ...

yugong在项目设计之初考虑去IOE数据迁移的灵活性,支持多种oracle版本,同时为降低DBA的运维成本,最终选择oracle物化视图作为我们的增量方案. 

相比于其他,物化视图方案其优点:

  • 原理简单,方便理解和学习,用户可以理解为一种固化的简易trigger模式
  • 运维简单,DBA一次账户授权后,程序可按需create一张物化视图表即可完成增量订阅
  • 相对透明,不需要像时间戳sql扫描依赖数据库表设计,也不需要关注oracle版本和服务器存储等

缺点:

  • 性能和影响,类似于trigger机制会对源库的数据写入造成一定的性能影响. 

QuickStart

See the page for quick start:  QuickStart

AdminGuide

See the page for admin deploy guide: AdminGuide

Performance

See the page for yugong performance : Performance

 

相关资料

  1. yugong简单介绍ppt :  ppt
  2. 分布式关系型数据库服务DRDS (前身为阿里巴巴公司的Cobar/TDDL的演进版本, 基本原理为MySQL分库分表)

问题反馈

  1. qq交流群: 537157866
  2. 邮件交流: jianghang115@gmail.com
  3. 新浪微博: agapple0002
  4. 报告issue:issues
  • 大小: 16.9 KB
分享到:
评论

相关推荐

    阿里巴巴开源的Oracle数据迁移同步工具yugong.zip

    yugong 是阿里巴巴推出的去Oracle数据迁移同步工具(全量 增量,目标支持MySQL/DRDS)。2008年左右,阿里巴巴开始尝试MySQL的相关研究,并开发了基于MySQL分库分表技术的相关产品,Cobar/TDDL(目前为阿里云DRDS产品),...

    阿里巴巴开源项目:分布式数据库同步系统otter(解决中美异地机房).pdf

    【阿里巴巴开源项目:分布式数据库同步系统 Otter】是专为解决跨国、异地机房数据库同步问题而设计的高效工具。该项目起源于阿里巴巴 B2B 公司的需求,由于其业务特性,需要在国内杭州和美国之间建立双活机房,以...

    springboot+mysql+oracle+druid 双数据库进行数据同步

    **Druid**:Druid是阿里巴巴开源的一个数据库连接池组件,它提供了强大的监控和扩展功能。在数据同步场景下,Druid可以帮助优化数据库连接,提高数据读写效率,同时其监控能力可以帮助我们实时查看数据同步的性能...

    异构数据同步,阿里开源datax

    DataX是阿里巴巴开源的一款离线数据同步框架,旨在提供高性能、稳定、可靠的批量数据迁移服务。它支持多种数据源,如关系型数据库、HDFS、HBase、ADS、OTS、MaxCompute等,能够满足企业在数据仓库、大数据平台建设中...

    3、通过datax同步oracle相关-oracle到hdfs

    DataX是阿里巴巴开源的一款数据同步框架,支持多种数据源间的双向数据同步,包括全量和增量同步。在Oracle到HDFS的同步场景中,DataX扮演着ETL(Extract-Transform-Load)的角色,将Oracle中的数据抽取出来,经过...

    datax插件|clickhouse读写插件|同步mysql,oracle等数据到clickhose中或者反向同步|2020修正版

    DataX作为阿里巴巴开源的一款高效、稳定、强大的数据同步工具,广泛应用于大数据生态中的数据迁移任务。针对ClickHouse这款高性能列式数据库,DataX提供了专门的ClickHouse读写插件,使得我们可以方便地实现MySQL、...

    数据源同步工具DATAX

    数据源同步工具DATAX,全称为Data Exchange,是阿里巴巴开源的一款高效、稳定、强大的数据同步工具。它在IT行业中扮演着重要角色,特别是在大数据处理领域,帮助企业和开发者实现了各种数据源之间的数据迁移和同步。...

    数据同步工具datax-web可视化工具

    DataX是阿里巴巴开源的一款强大的数据同步框架,支持多种数据库之间的数据迁移,包括MySQL、Oracle、SQL Server、PostgreSQL等。DataX-Web在DataX的基础上增加了Web管理界面,方便用户进行任务配置、执行和监控。 1...

    数据同步利器--otter搭建使用说明

    Otter 是阿里巴巴开源的一款强大的数据同步工具,特别适合在分布式环境中进行实时的数据迁移和同步。它解决了传统数据库主从复制的局限性,提供了更高效、灵活的解决方案。本篇文章将详细介绍Otter的主要功能、架构...

    数据迁移工具- DataX.rar

    DataX是一款由阿里巴巴开源的数据同步框架,主要用于大数据领域中的数据迁移任务。它支持多种数据源之间的数据同步,例如从MySQL到HDFS、从RDS到ADS等,旨在提供高效、稳定且易于扩展的数据同步解决方案。在本文中,...

    阿里开源ETL工具DATAX

    阿里开源的DATAX是一款强大的数据同步工具,主要应用于ETL(Extract-Transform-Load)过程,旨在解决大数据环境中的数据迁移问题。它以其高效、稳定和易用的特点,被广泛应用于阿里巴巴集团内部以及众多外部企业。 ...

    大数据系列2020-数据迁移工具资料汇总(sqoop、kettle、datax).zip

    DataX 是阿里巴巴开源的一个企业级数据同步框架,适用于大数据实时同步。DataX 支持多种数据源,如MySQL、Oracle、HDFS、HBase等,提供稳定、高效的数据同步服务。DataX的设计理念是“一切皆为插件”,这意味着...

    datax数据迁移插件-db2writer

    DataX是阿里巴巴开源的一款强大而高效的数据同步工具,它能够实现在多种数据存储之间进行数据迁移。在大数据领域,数据迁移是一项至关重要的任务,尤其在企业级应用中,数据的安全、稳定传输是保障业务连续性的基石...

    datax导数据工具,高性能的数据迁移工具

    DataX是阿里巴巴开源的一款高效、稳定、强大的大数据同步工具,主要应用于海量数据的迁移工作,支持多种数据源之间的数据同步。在本项目中,我们关注的是"datax-vue-admin",这似乎是一个基于Vue.js的DataX管理界面...

    cloudin-datax是基于DataX开发的分布式数据同步工具,提供简单易用的操作界面,可视化定时任务配置监控和增量同步功能

    DataX是阿里巴巴开源的全量数据迁移工具,支持多种数据源之间的数据迁移,如关系型数据库(MySQL、Oracle等)、NoSQL数据库(HBase、MongoDB等)以及文件系统(HDFS、FTP等)。DataX的核心设计原则是插件化,通过...

    Oracle+DataX+存储过程实现异构库之间的数据同步

    而DataX是阿里巴巴开源的数据同步工具,能够支持多种数据源间的离线数据同步,包括MySQL、Oracle、SQLServer等,它的出现大大简化了跨数据库的数据迁移工作。 在实现异构库数据同步的过程中,DataX作为一个桥梁,...

    DataX Web分布式数据同步工具 v2.1.2.zip

    首先,DataX本身是阿里巴巴开源的一款高效、稳定、强大的数据同步框架,它支持多种数据源之间的数据迁移。DataX的设计目标是使得数据迁移的过程简单、可视、可监控,从而降低大数据环境下的数据同步难度。在DataX ...

    阿里云ossjava源码-DataX-Migration:基于阿里巴巴DataX3.0的全数据库迁移工具

    是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。 DataX 在阿里巴巴集团内被广泛...

    datax.tar.gz

    DataX是阿里巴巴开源的一款强大、稳定且易用的数据同步工具,它支持多种数据库和数据存储之间的数据迁移,包括Oracle到ClickHouse的迁移。 首先,Oracle作为一款广泛应用的关系型数据库管理系统,以其强大的事务...

    阿里云数据集成服务-数据入云-D.docx

    阿里云数据集成服务,也称为DataX,是阿里巴巴提供的一款强大的离线数据同步工具,用于在各种异构数据源之间高效地迁移和同步数据。它支持多种数据存储系统,包括MySQL、SQL Server、Oracle、PostgreSQL、HDFS、Hive...

Global site tag (gtag.js) - Google Analytics