MySQL多线程同步MySQL-Transfer介绍

transferdb:Transferdb支持异步数据库模式转换,全量数据导入,导入和增量数据同步功能(Oracle数据库-> MySQL数据库) Transferdb transferdb用于分布式数据库迁移(Oracle数据库-> MySQL数据库),现阶段支持的功能(原transferdb版本被重构): 支持表结构定义转换 考虑到Oracle分区表特殊且MySQL数据库复杂分区可能不支持,分区表统一认为普通表转换,但是reverse阶段日志中会打印警告【分区表】,若有要求,建议反向之后检查,需手工转换 支持自定义配置表分段类型规则转换(表->模式->内置) 支持规范配置规则转换 支持表索引创建 支持非空约束,外键约束,检查约束等 数据同步【数据同步需要存在主键或者唯一键】 FULL模式【全量数据导入导入】数据同步转换导入要求表中存在主键或唯一键,否则因异常错误退出或手工中断退出,断点续传【替换为】无法替换,数据可能会导致重复【除非手工清理下游重新导入】 ALL模式【全量导出导入+增量数据同步】 增量基于logminer日志 立即下载
由淘宝核心系统研发—数据库组开发的MySQL-Transfer,用于解决MySQL主从同步延迟的问题,从MySQL单线程到多线程的工作模式。

相关资料:

MySQL多线程同步-Transfer使用说明
http://wenku.it168.com/d_000355271.shtml

MySQL异步复制延迟解决的架构设计与运维架构—在线播放—优酷网
http://v.youku.com/v_show/id_XNDc4MzU1MzQ4.html

更多介绍参见《追风刀·丁奇的博客》
http://dinglin.iteye.com/blog/search?query=transfer



一、关于Transfer

MySQL-Transefer(下称Transfer)是一个基于MySQL+patch后得到的主从同步工具。
其主要目的是为了解决原生版本的主从同步里,从库是单线程apply主库的binlog,导致的延迟。

最近完成测试的版本将multi-master (by P.Linux)合并到Transfer中并针对支付宝的应用需求做了定制性能改进。

这里做一个已经完成的完整功能介绍。

 

二、总体结构

 
 

 

说明:
1、Transfer可以注册成多个Master的从库
2、Transfer接收多个Master传入的binlog后将更新执行到Slave上
3、Transfer本地没有数据

如果你没有多主的需求,那结构就是Master -> Transfer -> Slave.

 

三、内部结构

  既然是单线程造成的主从延迟,提升就需要用多线程来实现。

 

  我们来看单主情况下的内部实现。

 

说明:左上角是Master, 右上角是Transfer,下面是Slave。

 

四、增加参数及对应说明

在my.cnf中新增如下几个参数:

remote_slave_hostname = Ip of Slave
remote_slave_username = root
remote_slave_password = root
remote_slave_port = Port of Slave
stop_slave_on_error = 1
remote_table_maps_file = ./table_maps
transfer_slave_thread = 10 

说明:

1、前四个是目标slave库的认证信息
2、Stop_slave_on_error 一般建议配置为1,表示只要有一个线程执行出错,所有slave_io_thread都停止

3、remote_table_maps_file路径指向本地文件,文件中每行格式为 “表1 表2”,表示在Transfer做同步时,将Master上所有对表1的操作都更新到表2.

4、transfer_slave_thread是一个只读参数,控制Transfer有多少个线程做并发更新(若为1则表示串行更新,性能与官方版本相同)。一般建议配置为系统核数2倍。

 

 

五、一些说明

1、由于Transfer是在MySQL基础上打的patch,因此支持几乎所有MySQL的监控命令,你原来加在Slave上的监控,可以直接改到Transfer上。

2、一般我们将Transfer和Slave放在同一个机器上(等于是装两个MySQL,一个是Transfer,一个是真正的slave)

3、Transfer按照表名hash将不同表的更新分配到不同的线程,因此在多表环境下才能看得到性能提升

4、Master的binlog格式必须设置成row

5、若需要用到多个Master,给每个Master命令一个channel,命令序列为 change master channel1 to master_log_file=xxx…… ; start slave channel1; 可以单独对一个chanel执行start\stop等命令

6、若只需要一个master,则语法格式不变

 

六、性能效果

测试场景如下,在Master上的16个表并发分别插入10w行。期间先停止同步。插入完成后,再分别测试直接用原生版本主从和Transfer的性能。

主库插入耗时66.1s 。

 

耗时

平均tps

MySQL主从

363s

4402/s

Transfer同步

66s

24242/s

 

由于MySQL-Transfer还没有正式开源,只有相应版本的二进制mysqld和patch源码提供,有需要只能联系作者了 

        

Android应用隐私合规自动化检测:Frida与Camille实战指南 在移动应用安全与隐私合规领域,动态代码插桩技术已成为核心检测手段。其原理是通过运行时注入,实时监控和修改应用行为,从而绕过传统静态分析的局限。这项技术的核心价值在于能够精准捕获应用在运行时的敏感数据调用与网络传输行为,为隐私合规审计、安全测试提供直接证据。在实际应用场景中,它尤其适用于自动化检测违规收集个人信息、追踪数据流向等任务。本文聚焦于利用Frida这一动态插桩框架,结合Camille隐私合规检测工具集,构建自动化监控环境。通过注入JavaScript代码,实现对Android敏感API(如获取设备标 阅读详情

相关推荐

Pi0 项目复现及项目问题解决方案(全网抢先发布~)

Pi0 项目复现及项目问题解决方案(全网抢先发布~)

m0_68167062的博客 2261

mysql transfer_MySQL多线程同步MySQL-Transfer介绍

一、关于TransferMySQL-Transefer(下称Transfer)是一个基于MySQL+patch后得到的主从同步工具。其主要目的是为了解决原生版本的主从同步里,从库是单线程apply主库的binlog,导致的延迟。最近完成测试的版本将multi-master (by P.Linux)合并到Transfer中并针对支付宝的应用需求做了定制性能改进。这里做一个已经完成的完整功能介绍。二、...

weixin_34101577的博客 473

SRCNN超分辨率Pytorch实现,代码逐行讲解,附源码

超分辨率,就是把低分辨率(LR, Low Resolution)图片放大为高分辨率(HR, High Resolution)的过程。通过CNN将图像Y 的特征提取出来存到向量中。用一层的CNN以及ReLU去将图像Y 变成一堆堆向量,即feature map。把提取到的特征进一步做非线性映射,加大网络深度,提高网络复杂性。结合了前面得到的补丁来产生最终的高分辨率图像。实验步骤。

weixin_52261094的博客 3万+

多线程mysql同步_MySQL多线程同步MySQL

一、关于TransferMySQL-Transefer(下称Transfer)是一个基于MySQL+patch后得到的主从同步工具。其主要目的是为了解决原生版本的主从同步里,从库是单线程apply主库的binlog,导致的延迟。最近完成测试的版本将multi-master (by P.Linux)合并到Transfer中并针对支付宝的应用需求做了定制性能改进。这里做一个已经完成的完整功能介绍。二、...

weixin_32419609的博客 549

深度学习的卷积神经网络的煤矸石识别

在本博文中,我们提出了一种基于深度学习的煤矸石检测与识别系统,该系统采用YOLOv8算法对煤矸石进行检测和识别,实现对图片中的煤矸石进行准确识别。1.项目需求对煤矸石进行检测与识别,系统将识别出图片中的克服小块煤矸石漏检的缺陷。 2.项目实现 通过调研,本项目最终使用yolov8模型作为目标检测的模型, YOLOv8 旨在快速、准确且易使用,使其成为广泛的物体检测、图像分割和图像分类任务的极佳选择。 1.数据集:格式为jpg的3091张煤矸石图片2.YOLOv8环境配置yolo检测网络包括24个卷积层

2201_75355700的博客 792

Windows: 深入剖析pip install SSLError与SSL模块缺失的根源及系统级修复

本文深入分析Windows系统下pip install SSLError与SSL模块缺失的根本原因,提供系统级修复方案。从Python安装包缺失SSL支持、OpenSSL库冲突到环境变量配置问题,详细讲解四大成因及对应的解决方案,包括重新安装Python、手动修复OpenSSL依赖等实用技巧,帮助开发者彻底解决HTTPS连接问题。

weixin_28595749的博客 459

Mysql 5.7从节点配置多线程主从复制的方法详解

这篇文章主要介绍了Mysql 5.7从节点配置多线程主从复制的相关资料,文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。 前言Mysql 采用多线程进行复制是从 Mysql 5.6 开始支持的内容,但是 5.6 版本下有缺陷,虽然支持多线程,但是每个数据库只能一个线程,也就是说如果我们只有一个数据库,则主从复制时也只...

demonson的专栏 829

点云处理工具——pclpy安装

pclpy介绍及详细安装过程 文章目录pclpy简介下载:安装测试 pclpy简介 pclpy是点云库(PCL)的Python绑定。使用CppHeaderParser和pybind11从头文件生成。 这个库正在积极开发中,api可能会发生变化。所包含的模块确实可以工作,但测试还不完整。目前只支持Windows和python 3.6 x64。 许多其他python库尝试绑定PCL。最流行的是python-pcl,它使用Cython。虽然Cython非常强大,但绑定c++模板并不是它的强项(PCL大量使用模.

图像处理、SLAM、PCL、OpenCV爱好者 1万+

mysql多线程访问同步_MySQL多线程同步MySQL-Transfer介绍

一、关于TransferMySQL-Transefer(下称Transfer)是一个基于MySQL+patch后得到的主从同步工具。其主要目的是为了解决原生版本的主从同步里,从库是单线程apply主库的binlog,导致的延迟。最近完成测试的版本将multi-master (by P.Linux)合并到Transfer中并针对支付宝的应用需求做了定制性能改进。这里做一个已经完成的完整功能介绍。二、...

weixin_29407885的博客 261

R语言灰色关联分析法

输入数据并用DT包的datatable函数展示数据 ABDDEF分别对应第1到第6个供应商产品质量、技术水平、供应能力、经济效益、交货情况、市场影响度指标属于效益型指 产品价格、地理位置、售后服务指标属于成本型指标。现分别对上述指标进行规范化: 对于效益型指标(正项指标)标准化公式为: x∗=x−min(x)max(x)−min(x) x^{\ast}=\frac{x-min\left( x \right)}{max\left( x \right) -min\left( x \right)} x∗=max

qq_54423921的博客 7995

基于大模型与知识图谱的对话引导意图澄清系统技术解析

本文提出了一种基于知识图谱与大语言模型的意图澄清系统,旨在解决传统RAG模型在跨文档推理和主动澄清方面的不足。系统通过知识图谱驱动的多跳推理机制和链式思维引导的对话流程,实现了动态信息补全和意图澄清。核心创新包括:1)知识图谱构建与节点选择算法;2)标签探索策略与原子事实提取方法;3)主动澄清引擎的工作流程。实验表明,该系统能有效提升复杂查询的准确率,在医疗、金融等领域实现精准交互。关键代码展示了节点选择、标签匹配和事实提取等核心组件的实现细节。

414

mysql多线程更新_MySQL多线程同步-Transfer解决主从同步延时问题

MySQL多线程同步系统结构 :传统的主从结构是[Master]à[Slave],Master和slave主从关系;使用transfer以后,[Master]à[Transfer].-->[Slave],Master和Transfer主从关系,Transfer和Slave是Client-Server关系。服务器环境:主库:192.168.15.216(3306端口)从...

weixin_35879114的博客 459

set_input_delay/set_output_delay介绍

针对这一类的情况,在做block时,cts之后,便需要将update_io_latency给关闭。那么,计算的timing就是错误的了。对于hier flow来讲,切分block,进行timing budget的时候,clock tree还未长。计算block端口上的timing,通常需要用到set_input_delay和set_output_delay告知工具外部电路的延迟信息,以方便工具计算端口上的timing。此时,工具在计算in2reg的timing时,便会将2.67ns的delay带进来。

芯冰乐 318

mysql 5.6 多线程同步_MySQL多线程同步-Transfer解决主从同步延时问题-测试版

系统结构 :传统的主从结构是[Master]à[Slave],Master和slave主从关系;使用transfer以后,[Master]à[Transfer].-->[Slave],Master和Transfer主从关系,Transfer和Slave是Client-Server关系。服务器环境:主库:192.168.15.216(3306端口)从库:192.168....

weixin_39523887的博客 180

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

MySQL多线程同步-Transfer使用测试

由淘宝核心系统研发—数据库组开发的MySQL-Transfer,用于解决MySQL主从同步延迟的问题,从MySQL单线程到多线程的工作模式。可以观看@丁奇的相关资料: MySQL多线程同步-Transfer使用说明MySQL异步复制延迟解决的架构设计与运维架构—在线播放—优酷网 系统结构 : 传统的主从结构是[Master]à...

weixin_30520015的博客 153

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

mysql线程同步_MySQL多线程同步MySQL-Transfer介绍

转载自:http://dinglin.iteye.com/blog/1581877一、关于TransferMySQL-Transefer(下称Transfer)是一个基于MySQL+patch后得到的主从同步工具。其主要目的是为了解决原生版本的主从同步里,从库是单线程apply主库的binlog,导致的延迟。最近完成测试的版本将multi-master (by P.Linux)合并到Transfe...

weixin_36382907的博客 118

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

mysql transfer 安装_MySQL多线程同步MySQL-Transfer介绍

一、关于TransferMySQL-Transefer(下称Transfer)是一个基于MySQL+patch后得到的主从同步工具。其主要目的是为了解决原生版本的主从同步里,从库是单线程apply主库的binlog,导致的延迟。最近完成测试的版本将multi-master (by P.Linux)合并到Transfer中并针对支付宝的应用需求做了定制性能改进。这里做一个已经完成的完整功能介绍。二、...

weixin_29484843的博客 216

利用mysql同步线程_MySQL多线程同步MySQL-Transfer介绍

一、关于TransferMySQL-Transefer(下称Transfer)是一个基于MySQL+patch后得到的主从同步工具。其主要目的是为了解决原生版本的主从同步里,从库是单线程apply主库的binlog,导致的延迟。最近完成测试的版本将multi-master (by P.Linux)合并到Transfer中并针对支付宝的应用需求做了定制性能改进。这里做一个已经完成的完整功能介绍。二、...

weixin_30452659的博客 280

mysql线程php_MySQL多线程同步MySQL-Transfer介绍

一、关于TransferMySQL-Transefer(下称Transfer)是一个基于MySQL+patch后得到的主从同步工具。其主要目的是为了解决原生版本的主从同步里,从库是单线程apply主库的binlog,导致的延迟。最近完成测试的版本将multi-master (by P.Linux)合并到Transfer中并针对支付宝的应用需求做了定制性能改进。这里做一个已经完成的完整功能介绍。二、...

weixin_39914499的博客 96

MySQL多线程同步-Transfer解决主从同步延时问题-测试版

系统结构 : 传统的主从结构是[Master]à[Slave],Master和slave主从关系; 使用transfer以后,[Master]à[Transfer].-->[Slave],Master和Transfer主从关系,Transfer和Slave是Client-Se...

weixin_33882443的博客 141

Mysql Transfer配置

在Mysql的主从同步是单线程的,这样在对多张表进行同步时往往速度会比较慢。针对这样的情况,淘宝丁奇在mysql基础上开发了一个新的支持多线程同步的程序,命名为Transfer,有兴趣的同学可以阅读他的博客http://dinglin.iteye.com/blog/1581877。 Transfer本身也是Mysql,只不过是用来转发而已,它的数据库中有需要同步的表的结构但是没有数据。Trans

nmjnglx的专栏 1353

MySQL多线程同步-Transfera使用测试

Transfer2.0  背景        Transfer是一个主从多线程同步工具,直接patch在MySQL中。2011年开发完成。于去年的12.12上线,并撑住高峰期主从,保证从库无延迟,使得应用能够直接从从库上读数据。        对Transfer1.0背景有兴趣的同学可以看我以前的一篇博客。   新功能        Transfer第一

940
上一篇: relay fetch解决MySQL主从复制延迟
下一篇: MYSQL中间件研究(Atlas,Cobar,TDDL)
笑天居士
博客等级 码龄24年 292粉丝 136原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值