在线更改MySQL表结构工具gh-ost的特点介绍
发表于:2024-11-25 作者:千家信息网编辑
千家信息网最后更新 2024年11月25日,无触发器:这也是其他工具最受诟病之处。触发器方案会对MySQL的性能造成比较大的影响,严重时甚至会拖垮主库。轻量级:gh-ost获取数据表修改操作的方法是伪装成从库连入,获取并解析二进制日志,对临时表
千家信息网最后更新 2024年11月25日在线更改MySQL表结构工具gh-ost的特点介绍
- 无触发器:这也是其他工具最受诟病之处。触发器方案会对MySQL的性能造成比较大的影响,严重时甚至会拖垮主库。
- 轻量级:gh-ost获取数据表修改操作的方法是伪装成从库连入,获取并解析二进制日志,对临时表插入数据也是增量、可控制的,因此对MySQL主库的性能几乎无影响。
- 可暂停:当原主库处于业务高峰期时,完全可以暂停gh-ost的操作,暂停就意味着对主库没有写入和更新,这是非常受欢迎的。
- 动态可控:gh-ost的操作不但可以暂停,还可以动态修改,因此在各种情况下修改了配置之后都不必从头开始重新运行整个修改过程,这是非常节约资源的。
- 可审计:gh-ost的状态是可以非常容易获取到的,包括当前任务进度、主要配置参数、相关MySQL实例的情况等。gh-ost通过监听TCP或者unix socket文件来获取命令,因此就给了运维人员极大的灵活性。
- 可测试:gh-ost支持在从库上进行测试,以观察对系统负载的影响、验证正确性等。GitHub生产环境的每一张表都这样用gh-ost在从库上做过好多次修改测试,他们也呼吁大家用这种方式先体验gh-ost的功能,再考虑上线应用。
- 可靠性高:经过充分的测试之后,现在GitHub生产环境的修改表定义操作已经全部由gh-ost完成了,而且它还有暂停、延迟切换、准确估计任务进度等功能,审计和在线控制功能可以让它轻松地与监控系统结合起来,必然非常受运维人员喜爱。
- 完美解决切换问题:表切换操作是在线修改表定义的最后一步,其它工具操作到这一步时常常会出现各种问题。Facebook OSC也曾详细分析过这个问题,但它的最终方案是个非原子性切换:先把原始表改名,再把临时表改名顶上。可惜在两次改名中间会有一小段表不存在的时间,在这期间运行的业务语句都会失败,因为目标表不存在。Shlomi等经过严密的论证和实验,给出了原子性的两阶段切换方案:用一条连接去持有锁,另一条连接做原子性的rename操作。在rename操作之前,会创建一张信号表,用它来阻塞rename操作,直到所有要求的表切换前提条件就绪。根据这个方案,表切换或者成功,皆大欢喜;或者失败,则对业务无影响,也不会丢失数据,还会释放锁让业务继续,DBA只需要再一次用gh-ost重新尝试切换即可。
切换
业务
方案
功能
原子
数据
问题
测试
工具
在线
人员
任务
动态
性能
情况
环境
系统
触发器
这是
进度
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
移动dns服务器贵州云服务器
网络安全法21条处罚多少钱
数据库加密存储unity c
保定华酷网络技术
鸿蒙正从服务器下载安装包
云服务器工作原理
网络安全标准app
计算机网络技术实验员工作
即时通讯软件开发价格怎么样
家长对网络安全教育心得体会
计算机网络技术工作职责
邵阳电脑网络技术培训
网络安全总结感悟
软件开发过程中风险问题
网络技术与信息的区别
黑龙江省网络安全周
微机室服务器管理系统
四川大学网络安全学院
怎样过三级网络技术
软件开发前端怎么样学的好
服务器关闭了怎么进游戏
丽水专业从事进销存软件开发
科技互联网儿童画获奖作品
赛弗数据库
鸿蒙系统与谷歌服务器
浙江管理系统软件开发有哪些
r语言查自带数据库
大数据用到的数据库教程
南京扬州网络技术
举办校园网络安全宣传活动
- 上一篇
Oracle11.2.0.4 windows32+64bit path补丁21+11.2.0.4.160419 p22064588 p22839608
2016年6月3日最新补丁-Oracle11.2.0.4 for windows32+64bit,p22064588 patch21.2.0.4.21,p22839608 11.2.0.4.16041
- 下一篇
为什么把ubuntu16.04设置mysql的编码为utf8
这篇文章主要介绍了为什么把ubuntu16.04设置mysql的编码为utf8,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。ubunt