IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MYSQL 到MYSQL 分表数据迁移 -> 正文阅读

[大数据]MYSQL 到MYSQL 分表数据迁移

一 背景

? 通常情况下,还是做业务需求为主,很少会遇到迁移数据的机会,之前做的迁移《MYSQL数据库 单表亿级数据不停机迁移_bohu83的博客-CSDN博客_mysql亿级数据迁移

业务场景是阿里云 的数据库,迁移用了dts.在线不停机迁移,还是自己去做。

二? 技术选型

如果运行停止服务,dba 可以使用MYSQL官方的mysqldump 或者Percona的备份工具进行迁移。

mysqldump 对于大表迁移速度很慢,不支持分表。所以只能考虑其他办法。

datax: 介绍

阿里云开源离线同步工具DataX3.0介绍-阿里云开发者社区

datax 也可以实现分表,本身没有实践,因为这是Python 的。我对这个不熟悉。所以本次 没采用。

otter:

GitHub - alibaba/otter: 阿里巴巴分布式数据库同步系统(解决中美异地机房)

阿里开源数据迁移工具(背景解决中美异地机房同步)。

相对 复杂。

yugong

GitHub - alibaba/yugong: 阿里巴巴去Oracle数据迁移同步工具(全量+增量,目标支持MySQL/DRDS)

阿里开源oracle数据迁移工具。java 版本,开源版本不支持MYSQL,但是技术上有改动基础

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=96m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
2022-02-28 15:57:45.739 [main] INFO  com.taobao.yugong.YuGongLauncher - ## start the YuGong.
2022-02-28 15:57:45.816 [main] INFO  com.taobao.yugong.controller.YuGongController - check source database connection ...
2022-02-28 15:57:45.865 [main] INFO  com.taobao.yugong.controller.YuGongController - check source database is ok
2022-02-28 15:57:45.865 [main] INFO  com.taobao.yugong.controller.YuGongController - check target database connection ...
2022-02-28 15:57:45.866 [main] INFO  com.taobao.yugong.controller.YuGongController - check target database is ok
2022-02-28 15:57:45.867 [main] INFO  com.taobao.yugong.controller.YuGongController - check source tables read privileges ...
2022-02-28 15:57:45.934 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} inited
2022-02-28 15:57:46.358 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-2} inited
2022-02-28 15:57:46.513 [main] INFO  com.taobao.yugong.controller.YuGongController - check source tables is ok.
2022-02-28 15:57:46.524 [main] ERROR com.taobao.yugong.YuGongLauncher - ## Something goes wrong when starting up the YuGong:
com.taobao.yugong.exception.YuGongException: unsupport MYSQL
    at com.taobao.yugong.controller.YuGongController.chooseExtractor(YuGongController.java:339)
    at com.taobao.yugong.controller.YuGongController.start(YuGongController.java:168)
    at com.taobao.yugong.YuGongLauncher.main(YuGongLauncher.java:32)

?

yugong开源版本目的:从oracle到MYSQL迁移。支持异构结构。(背景是阿里的去IOE)可能处于商业考虑,不支持MYSQL到MYSQL迁移.

三? 效果

考虑到它是Java框架,框架比较完善,只是缺了MYSQL的抽取,可以参照Oracle的去改。

效果,在配置20个线程读原表,单次读取2000情况下,往16个新库分表迁移。tps在50000以上。

表里有单主键无text大字段。

?速度很快,3300W 数据10分钟就跑完了。

这只是全量数据迁移 ,还有很多细节要考虑,比如迁移 期间增量数据处理,一对多的数据比对不能很好支持。

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 23:15:00  更:2022-04-06 23:16:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:41:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码