* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。
分享者:叶金荣,万里数据库开源生态负责人,Oracle MySQL ACE总监,腾讯云TVP。
本文为叶金荣在“2022数据库大咖讲坛(第2期):数据库运维智能化和数字化的实践与探索”中的分享《构建MySQL智能化高可用架构》,活动地址:https://www.modb.pro/event/596/450307,本次将PPT内容全部放出,文末附有精彩Q&A内容,并在文末附上助理微信号二维码,可添加助理微信加入MGR技术讨论群。
提问
Qustions
&
解答
Answers
请问Innodb cluster在出现大事事务超过配置事务大小报错后,是否有办法查到执行失败的事务相关SQL语句?
MGR中默认最大事务150M,超过就会报错,上限是2G。有几个思路:1.可以找找这些大事务出现的规律,在那个时段临时开启general log,记录下来。2.在应用端记录这些大事务失败的情况。3.既然是大事务,运行时间通常也会比较长,可以通过监控记录下来。
另外,GreatSQL未来计划支持大事务,把上限提高到6G。当然了,无论如何,都不建议使用大事务,因为会造成MGR的延迟。
磁盘空间爆满时,GreatDB MGR是怎么处理的,这个可以详细介绍一下吗?
当磁盘空间满的时候,MySQL社区版MGR会被hang住,这时只能只读,无法提交写事务。
GreatSQL中,发现有节点磁盘满了,会及时将其踢出MGR,等待清理完毕后再重新加回即可,可以避免被整体hang住的风险。
怎么解决磁盘损坏修复问题?
根本办法还是要靠冗余,包括设备冗余(构建raid)、冗余节点(主从、MGR架构),以及数据冗余(即备份)。
有充分的冗余措施后,就不担心磁盘损坏问题了,通常都不值得去修复,直接用冗余数据替换即可。
只有greatdb 才有的仲裁节点的这个功能吗?
是的,只有在GreatSQL 8.0.25-16这个版本中支持仲裁节点特性。详情见changelog:
https://gitee.com/GreatSQL/GreatSQL-Doc/blob/master/relnotes/changes-greatsql-8-0-25-16-20220516.md#11-新增仲裁节点投票节点角色
mysql router 是怎么高可用呀?
在每个应用服务器上分别部署mysql router,相当于跟随应用服务器自身的高可用机制了,没必要再针对router包一层高可用方案。
GreatSQL 是开源的嘛?
是的,GreatSQL是MySQL开源分支,遵循GPL v2协议。源码在以下两个地址均可获得:
http://gitee.com/GreatSQL/GreatSQL
http://github.com/GreatSQL/GreatSQL
mgr 的备份策略与方式有推荐的吗?
其实和非MGR架构的备份策略是一样的,没本质变化。可以考虑以下几种策略:
1.在某个secondary节点上,再挂额外的延迟复制slave节点(设置 MASTER_DELAY > 0),在该节点上实施备份,同时还能防止误操作删库删表的。
2.直接在某个secondary节点做备份即可。
如果是主节点的磁盘空间爆满,MGR是先自动选主再踢掉吗?
踢掉时就会触发选主工作了,踢掉前,各个节点要先投票决定,不影响的。
Enjoy GreatSQL :)
点击小程序留言
《深入浅出MGR》视频课程
戳此小程序即可直达B站
https://www.bilibili.com/medialist/play/1363850082?business=space_collection&business_id=343928&desc=0
文章推荐:
关于 GreatSQL
GreatSQL是由万里数据库维护的MySQL分支,专注于提升MGR可靠性及性能,支持InnoDB并行查询特性,是适用于金融级应用的MySQL分支版本。
Gitee: https://gitee.com/GreatSQL/GreatSQL
GitHub: https://github.com/GreatSQL/GreatSQL
Bilibili:
https://space.bilibili.com/1363850082/video