{"id":13449582,"url":"https://github.com/alibaba/yugong","last_synced_at":"2025-05-15T03:07:41.358Z","repository":{"id":37269774,"uuid":"52943153","full_name":"alibaba/yugong","owner":"alibaba","description":"阿里巴巴去Oracle数据迁移同步工具(全量+增量,目标支持MySQL/DRDS)","archived":false,"fork":false,"pushed_at":"2023-03-06T14:35:25.000Z","size":2415,"stargazers_count":2515,"open_issues_count":101,"forks_count":956,"subscribers_count":187,"default_branch":"master","last_synced_at":"2025-05-10T05:03:39.763Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alibaba.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2016-03-02T07:31:00.000Z","updated_at":"2025-04-30T01:48:39.000Z","dependencies_parsed_at":"2023-10-20T16:37:40.120Z","dependency_job_id":null,"html_url":"https://github.com/alibaba/yugong","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibaba%2Fyugong","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibaba%2Fyugong/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibaba%2Fyugong/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibaba%2Fyugong/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alibaba","download_url":"https://codeload.github.com/alibaba/yugong/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254264769,"owners_count":22041794,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T06:00:45.562Z","updated_at":"2025-05-15T03:07:36.348Z","avatar_url":"https://github.com/alibaba.png","language":"Java","funding_links":[],"categories":["REPO","数据库中间件"],"sub_categories":[],"readme":"## 背景\n\n2008年，阿里巴巴开始尝试使用 MySQL 支撑其业务，开发了围绕 MySQL 相关的中间件和工具，Cobar/TDDL(目前为阿里云DRDS产品)，解决了单机 Oracle 无法满足的扩展性问题，当时也掀起一股去IOE项目的浪潮，愚公这项目因此而诞生，其要解决的目标就是帮助用户完成从 Oracle 数据迁移到 MySQL 上，完成去 IOE 的重要一步工作。\n\n## 项目介绍\n\n\n名称:   yugong\n\n译意:   愚公移山\n\n语言:   纯java开发\n\n定位:   数据库迁移 (目前主要支持oracle / mysql / DRDS)\n\n## 项目介绍\n\n\n整个数据迁移过程，分为两部分：\n\n1.  全量迁移\n2.  增量迁移\n\n![](https://camo.githubusercontent.com/9a9cc09c5a7598239da20433857be61c54481b9c/687474703a2f2f646c322e69746579652e636f6d2f75706c6f61642f6174746163686d656e742f303131352f343531312f31306334666134632d626634342d333165352d623531312d6231393736643164373636392e706e67)\n\n过程描述：\n\n1.  增量数据收集 (创建oracle表的增量物化视图)\n2.  进行全量复制\n3.  进行增量复制 (可并行进行数据校验)\n4.  原库停写，切到新库\n\n## 架构\n\n\n![](http://dl2.iteye.com/upload/attachment/0115/5473/8532d838-d4b2-371b-af9f-829d4127b1b8.png){width=\"584\"\nheight=\"206\"}\n\n说明: \n\n1.  一个Jvm Container对应多个instance，每个instance对应于一张表的迁移任务\n2.  instance分为三部分\n    a.  extractor  (从源数据库上提取数据，可分为全量/增量实现)\n    b.  translator  (将源库上的数据按照目标库的需求进行自定义转化)\n    c.  applier  (将数据更新到目标库，可分为全量/增量/对比的实现)\n\n## 方案设计\n\n[DevDesign](https://github.com/alibaba/yugong/wiki/DevDesign)\n\n## 快速开始\n\n[QuickStart](https://github.com/alibaba/yugong/wiki/QuickStart)\n\n## 运维管理\n\n[AdminGuide](https://github.com/alibaba/yugong/wiki/AdminGuide)\n\n## 性能报告\n\n[Performance](https://github.com/alibaba/yugong/wiki/Performance)\n\n## 相关资料\n\n1.  yugong简单介绍ppt: [ppt](https://github.com/alibaba/yugong/blob/master/docs/yugong_Intro.ppt?raw=true)\n2.  [分布式关系型数据库服务DRDS](https://www.aliyun.com/product/drds)\n    (前身为阿里巴巴公司的Cobar/TDDL的演进版本, 基本原理为MySQL分库分表)\n\n## 沟通与交流\n\n1. 详见 wiki home 页\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falibaba%2Fyugong","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falibaba%2Fyugong","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falibaba%2Fyugong/lists"}