背景
08年左右,阿里巴巴开始尝试MySQL的相关研究,并开发了基于MySQL分库分表技术的相关产品,Cobar/TDDL(目前为阿里云DRDS产品),解决了单机Oracle无法满足的扩展性问题,当时也掀起一股去IOE项目的浪潮,愚公这项目因此而诞生,其要解决的目标就是帮助用户完成从Oracle数据迁移到MySQL上,完成去IOE的第一步.
项目介绍
名称: yugong
译意: 愚公移山
语言: 纯java开发
定位: 数据库迁移 (目前主要支持oracle -> mysql/DRDS)
项目介绍
整个数据迁移过程,分为两部分:
- 全量迁移
- 增量迁移
过程描述:
- 增量数据收集 (创建oracle表的增量物化视图)
- 进行全量复制
- 进行增量复制 (可并行进行数据校验)
- 原库停写,切到新库
架构
说明:
-
一个Jvm Container对应多个instance,每个instance对应于一张表的迁移任务
- instance分为三部分
a. extractor (从源数据库上提取数据,可分为全量/增量实现)
b. translator (将源库上的数据按照目标库的需求进行自定义转化)
c. applier (将数据更新到目标库,可分为全量/增量/对比的实现)
方案设计
全量方案
业界常用的全量方案有:
- 数据文件导入/导出,比如EXPDP/IMPDP, mysqldump/source, xtrabackup等
- ETL数据导入/导出,主要原理为使用JDBC数据查询接口
yugong在项目设计之初考虑去IOE数据迁移的灵活性和自定义能力,最终选择的方案为基于JDBC接口遍历数据.
相比于数据文件导入/导出,其优点:
- 灵活数据同步
- 支持异构数据
- 实现相对简单
缺点:
- 全量拉取需要配合增量使用,会有部分数据重复同步
- 性能和影响,一次性全量拉取,如果持续时间过长,如果此时数据库变更过多,会导致segment过大
增量方案
业界常用的增量方案有:
- 基于时间戳定时dump
- oracle日志文件,比如LogMiner,OGG
- oracle CDC(Change Data Capture)
- oracle trigger机制,比如DataBus , SymmetricDS
- oracle 物化视图(materialized view)
- ...
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
相关资料
- yugong简单介绍ppt : ppt
- 分布式关系型数据库服务DRDS (前身为阿里巴巴公司的Cobar/TDDL的演进版本, 基本原理为MySQL分库分表)
问题反馈
- qq交流群: 537157866
- 邮件交流: jianghang115@gmail.com
- 新浪微博: agapple0002
- 报告issue:issues
相关推荐
yugong 是阿里巴巴推出的去Oracle数据迁移同步工具(全量 增量,目标支持MySQL/DRDS)。2008年左右,阿里巴巴开始尝试MySQL的相关研究,并开发了基于MySQL分库分表技术的相关产品,Cobar/TDDL(目前为阿里云DRDS产品),...
【阿里巴巴开源项目:分布式数据库同步系统 Otter】是专为解决跨国、异地机房数据库同步问题而设计的高效工具。该项目起源于阿里巴巴 B2B 公司的需求,由于其业务特性,需要在国内杭州和美国之间建立双活机房,以...
**Druid**:Druid是阿里巴巴开源的一个数据库连接池组件,它提供了强大的监控和扩展功能。在数据同步场景下,Druid可以帮助优化数据库连接,提高数据读写效率,同时其监控能力可以帮助我们实时查看数据同步的性能...
DataX是阿里巴巴开源的一款离线数据同步框架,旨在提供高性能、稳定、可靠的批量数据迁移服务。它支持多种数据源,如关系型数据库、HDFS、HBase、ADS、OTS、MaxCompute等,能够满足企业在数据仓库、大数据平台建设中...
DataX是阿里巴巴开源的一款数据同步框架,支持多种数据源间的双向数据同步,包括全量和增量同步。在Oracle到HDFS的同步场景中,DataX扮演着ETL(Extract-Transform-Load)的角色,将Oracle中的数据抽取出来,经过...
DataX作为阿里巴巴开源的一款高效、稳定、强大的数据同步工具,广泛应用于大数据生态中的数据迁移任务。针对ClickHouse这款高性能列式数据库,DataX提供了专门的ClickHouse读写插件,使得我们可以方便地实现MySQL、...
数据源同步工具DATAX,全称为Data Exchange,是阿里巴巴开源的一款高效、稳定、强大的数据同步工具。它在IT行业中扮演着重要角色,特别是在大数据处理领域,帮助企业和开发者实现了各种数据源之间的数据迁移和同步。...
DataX是阿里巴巴开源的一款强大的数据同步框架,支持多种数据库之间的数据迁移,包括MySQL、Oracle、SQL Server、PostgreSQL等。DataX-Web在DataX的基础上增加了Web管理界面,方便用户进行任务配置、执行和监控。 1...
Otter 是阿里巴巴开源的一款强大的数据同步工具,特别适合在分布式环境中进行实时的数据迁移和同步。它解决了传统数据库主从复制的局限性,提供了更高效、灵活的解决方案。本篇文章将详细介绍Otter的主要功能、架构...
DataX是一款由阿里巴巴开源的数据同步框架,主要用于大数据领域中的数据迁移任务。它支持多种数据源之间的数据同步,例如从MySQL到HDFS、从RDS到ADS等,旨在提供高效、稳定且易于扩展的数据同步解决方案。在本文中,...
阿里开源的DATAX是一款强大的数据同步工具,主要应用于ETL(Extract-Transform-Load)过程,旨在解决大数据环境中的数据迁移问题。它以其高效、稳定和易用的特点,被广泛应用于阿里巴巴集团内部以及众多外部企业。 ...
DataX 是阿里巴巴开源的一个企业级数据同步框架,适用于大数据实时同步。DataX 支持多种数据源,如MySQL、Oracle、HDFS、HBase等,提供稳定、高效的数据同步服务。DataX的设计理念是“一切皆为插件”,这意味着...
DataX是阿里巴巴开源的一款强大而高效的数据同步工具,它能够实现在多种数据存储之间进行数据迁移。在大数据领域,数据迁移是一项至关重要的任务,尤其在企业级应用中,数据的安全、稳定传输是保障业务连续性的基石...
DataX是阿里巴巴开源的一款高效、稳定、强大的大数据同步工具,主要应用于海量数据的迁移工作,支持多种数据源之间的数据同步。在本项目中,我们关注的是"datax-vue-admin",这似乎是一个基于Vue.js的DataX管理界面...
DataX是阿里巴巴开源的全量数据迁移工具,支持多种数据源之间的数据迁移,如关系型数据库(MySQL、Oracle等)、NoSQL数据库(HBase、MongoDB等)以及文件系统(HDFS、FTP等)。DataX的核心设计原则是插件化,通过...
而DataX是阿里巴巴开源的数据同步工具,能够支持多种数据源间的离线数据同步,包括MySQL、Oracle、SQLServer等,它的出现大大简化了跨数据库的数据迁移工作。 在实现异构库数据同步的过程中,DataX作为一个桥梁,...
首先,DataX本身是阿里巴巴开源的一款高效、稳定、强大的数据同步框架,它支持多种数据源之间的数据迁移。DataX的设计目标是使得数据迁移的过程简单、可视、可监控,从而降低大数据环境下的数据同步难度。在DataX ...
是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。 DataX 在阿里巴巴集团内被广泛...
DataX是阿里巴巴开源的一款强大、稳定且易用的数据同步工具,它支持多种数据库和数据存储之间的数据迁移,包括Oracle到ClickHouse的迁移。 首先,Oracle作为一款广泛应用的关系型数据库管理系统,以其强大的事务...
阿里云数据集成服务,也称为DataX,是阿里巴巴提供的一款强大的离线数据同步工具,用于在各种异构数据源之间高效地迁移和同步数据。它支持多种数据存储系统,包括MySQL、SQL Server、Oracle、PostgreSQL、HDFS、Hive...