首页 >> 知识 >> 阿里云RDS尺度定制-XA Crash Safe

阿里云RDS尺度定制-XA Crash Safe

2025-11-03 12:20:35

,除了拥护TDE这种AES的数字签名算法,还拥护国密数字签名算法SM4,对于有涉密建议的浏览器可以用SM4的数字签名算法来确保统计数据的兼容性。

7. 兼容性:Recycle Bin防止误截图

当浏览器在做到截图同上或是Truncate同上的时候,应用于这个回收站功能性,并不可能会把统计数据文件如此一来截图掉,而是可能会把这些同上置放一个回收站之之中,这样就避免了浏览器在误删其后统计数据出错的可能会,误截图后还能行过回收站把截图的统计数据快速发现自己。

8. 兼容性:Flashback Query

不仅是同上级的误截图,当我们对某一些统计数据非常新的范围正确了其后,应用于Flashback必要,可以趋于稳定到非常新以前的近代完整版。同时,浏览器还可以自定义浏览某个时间段戳的某个统计数据。

所以Flashback Query对误沙载截图趋于稳定或是回档供给是很合理的方法。

9. 低效能:Binlog In Redo

对比原生MySQL,AliSQL的可靠性强化很多。首先讲解的是Binlog In Redo功能性。众所周知,在MySQL之之中面,外交事务草拟的时候所需正因如此化两次,因为要指派两过渡期的外交事务草拟全过程。这之之中面做到了一个改进,即可以把Binlog说道Redo之之中面,这样的话就只所需正因如此化一次Redolog,Binlog可以异步样盘。

行过这种方式将,浏览器外交事务在草拟的时候就只所需一次样盘跳跃,因此信道可能会降低,吞吐量可能会增大。

上图是基于两个Binlog in Redo完整版的的测试结果。行过左侧第二个完整版的统计数据,我们注意到可靠性可能会提低很多。对于Update non index来讲,可以有大概38%的可靠性强化。对于write only来讲,也可以达到25%的可靠性强化。

10. 低效能:Fast Query Cache

AliSQL针对Query Cache在即刻低度集之中、内存管理和内存必要等等做到了大量的构建。

构建其后,它的可靠性强化非常明显。在point select的故事情节下,可靠性强化甚至可以达到100%以上。行过的测试注意到,在rewrite的系统命之中率相对低的情况下下,几乎从未任何可靠性巨大损失。所以浏览器在读相对多的故事情节就可以把Query Cache锁住,可以保证稳定低效的平衡状态。

11. 低效能:DDL Optimization

的中心DDL我们做到了大量构建。

浏览器在应用于DDL的时候可能会注意到,如果同上都有大所需做到rebuild或非常新统计数据等沙载的时候,效能非常低。主要是因为DDL利用Buffer Pool的模型是效能低下的模型。构建其后,对于rebuild同上的这种沙载效能可能会低很多,对于其他SQL解释器的不良影响也可能会降低很多。

下图是针对Create Index和Optimize Table的的测试,可以看到构建其后,沙载都可能会有10倍以上的可靠性强化。

三、XA Crash Safe 讲解

1. XA Crash Safe剧中

执着XA Crash Safe本身,MySQL本身也有Crash Safe必要。为什么可能会所需这样的必要呢,因为在MySQL之之中,同时之外Binlog和统计数据两个大多,可以理解为存了两份一模一样的统计数据。为了确保这两份统计数据的理论上,MySQL Crash Safe实现了两过渡期草拟必要。为了确保Binlog和统计数据的理论上,任何浏览器的外交事务都可能会被转换成沦为两过渡期的外交事务,首先就是进行prepare,然后再次写Binlog并正因如此化,再次次做到外交事务的草拟。所以在这两个过渡期的草拟全过程之中,Prepare、样Redo、写Binlog和样Binlog的指派以此类推是保证不变的。

如何确保Crash Safe呢?这要看它趋于稳定的成品。在单单的外交事务指派全过程之中,只要是Binlog有这个外交事务,一定是Prepare的平衡状态。那么利用这个以前提,在MySQL Crash重启的时候,它可能会取出所有并未prepare的外交事务,把它们的XID取出来,扫描再次次一个Binlog文件,然后核实XID所近似于的外交事务否并未存储器到Binlog之之中了。如果并未存储器过了,就如此一来草拟即可;如果还从未存储器,就回滚掉。行过这个Crash Recovery必要后,Binlog之之中的统计数据就和涡轮之之中面的统计数据保证一致了。

对于都是浏览器外交事务可以用两过渡期来确保Crash Safe,那么对于浏览器的XA外交事务怎么妥善处理呢?

在Binlog之之中可能会把这个外交事务分作独立自主的两大多,当浏览器指派XA Prepare的时候,可能会写Binlog文件,然后把这个Prepare平衡状态指派到涡轮之之中,这是完全独立自主的。浏览器在XA Commit之之中,可以在任何时间段指派,当浏览器在指派XA Commit其后可能会被再次详细描述一次Binlog,所以这两者是完全脱离的。

对于都是的浏览器外交事务,指派全过程只详细描述一次Binlog,而且整个外交事务是一个基本的一组长期存在Binlog之中的;对于XA外交事务,这就是从以前的。而且它整个全过程是先写Binlog,然后才去把平衡状态正因如此化到涡轮之中,做到涡轮的prepare。对于MySQL来讲,不必确保外部XA外交事务统计数据和Binlog的理论上。

不一定当写完Binlog,还从未在涡轮之中指派prepare和commit,这个时候就Crash了,那么它出去其后就消失,Binlog之之中有外交事务详细描述,而在涡轮之之中却出错了,毫无疑问只以prepare的平衡状态上到在那之之中,这就从未被草拟。

2. XA Crash Safe:基于MySQL 5.7的修复

1)调整指派以此类推

为了非常好的拥护分布式统计数据库系统设计,在MySQL 5.7的时候,阿之之中就做到过对于XA Crash Safe的修复。这个修复是把指派以此类推做到了颠倒,即先指派涡轮的Prepare,再次写Binlog,这样它就跟都是外交事务的全过程一样了。在Prepare其后做到Crash,如果浏览器的XA外交事务做到了Prepare其后从未记Binlog,那么统计数据就可能会被回滚掉。但是由于XA外交事务跟都是外交事务不太一样,所需非常多妥善处理来拥护回滚,而且它也不是一个系统化的解决方案。因为浏览器带有自然环境,比如浏览器指派了一个外交事务但是并从未记Binlog,这个时候就没区别否详细描述了Binlog。另外,XA外交事务的Prepare和Commit是从以前的,当浏览器将Prepare外交事务详细描述到古时候的Binlog之之中了,也不必区别浏览器否详细描述了Binlog。

这种情况下下就所需一个解决解决方案,即在做到Binlog rotation时候,要把所有Prepare外交事务的XID详细描述到Binlog之中。这样我们就可以行过再次次一个Binlog去探究所有Prepare平衡状态的XID,然后就可以行过Rollback的方式将保证Binlog和统计数据的理论上。

2)调整Recovery逻辑

Commit指派了另外一种逻辑,即先指派Binlog,在指派后注意到外交事务是Prepare平衡状态,且在Binlog之中详细描述了Commit或Rollback,那么指派Commit或Rollback。

这就是MySQL 5.7上XA Crash Safe的修复的全过程。

3. XA Crash Safe:MySQL 8.0 Gtid和外交事务的理论上

MySQL 8.0采用了另外一种方法。讲解这个方法之以前,首先讲解下MySQL 8.0 Gtid和外交事务的理论上。在MySQL8.0.17的时候,加进莱卡功能性,这个功能性可以把Gtid记到外交事务的undo之之中。记到Undo之之中的全过程也很简单,在Prepare的时候还是先记Binlog,然后涡轮之之中做到外交事务Prepare的时候,去监测这个外交事务否有Gtid。如果有,在更改外交事务平衡状态时可能会连行Gtid一齐说道Undo之之中。如果Crash其后,Prepare丢了,那么Gtid一定也是不长期存在的,并不一定。在Commit的时候也同理。这样做到,莱卡的时候浏览器应用于出去就可能会举例来说。

但是Rollback是个特例,众所周知是对于XA外交事务来说。Rollback也可能会详细描述一个Gtid。Rollback在涡轮之之中的做到法是,把外交事务平衡状态改用active其后就可能会自然回滚,所以在active的时候它也可能会记一个Gtid,所以XA Rollback可能会详细描述Binlog也可能会导致Gtid。整个沙载也是氢原子的。

Gtid再次次可能会正因如此化到Gtid_executed同上之之中。之所以要做到综合是因为Undo本身所需Purge,否则可能会愈来愈大,而且检索效能也非常低。所以虽然在Prepare后可能会放进Undo之之中,但是无论如何再次次都可能会综合到Gti_executed同上之中,然后可能会有一个单独的Gtid Flush的内存,它可能会周期性的把Gtid list之之中的Gtid说道Gtid_executd同上之中。说道同上后,只所需持续化整个同上后,undo就可以没用了,这样始终可能会有一个完整的Gtid等价。

对于外部XA外交事务可能会详细描述两个Gtid,一个是Prepare的时候,一个是Commit的时候。最初实现这个功能性的时候,只可能会详细描述一个Gtid,不一定在commit的时候可能会把prepare的给布满了。这就建议,在Commit之以前所需把Prepare的Gtid正因如此化到Gtid executed同上之之中,效能非常低。其后官方构建成将两个Gtid分别长期存在两个位置,这就大大提低了效能。

经过以上的构建其后,我们可以看到Gtid和外交事务统计数据之间的间的关系,是Gtid Executed同上之中的Gtid代同上了InnoDB之中并未指派了的外交事务的Gtid。这连续性是氢原子近似于的间的关系。

行过这样的近似于间的关系,我们可以在系统设计启动的时候做到Apply Binlog这样的沙载,来确保外部XA外交事务的Crash Safe。

根据Gtid Executed同上之中的Gtid就可以告知哪些外交事务在涡轮之之中长期存在,然后行除此以外Binlog之之中的外交事务将涡轮之之中的统计数据补齐。行过这样的方式将,不所需更改过添沙Binlog Event,原来的recover全过程也不所需巨大变化。只所需在recover其后,检查Gtid Executed的同上,然后对比Binlog。将缺少的外交事务重新Apply一下就可以了,这样就可以确保XA外交事务的Crash Safe。

本文为阿之之中云原创内容可,未经允许不得刊出。

眼睛模糊用什么药
如何可以预防腹泻
眼睛近视能滴海露眼药水吗
食疗壮阳
空调病or新冠?分不清楚!医生建议:出现这些症状别慌,先检测!
小孩厌食
脑梗
小腹涨

上一篇: 您有一份电动越野安全指南,请注意查收

下一篇: 老人说要想家兴旺,十一月十四几个习俗不能忘!

相关阅读
最新手机用户举例来说榜:高刷已成必需、高分屏却难普及

10月15日,威兔兔披露了2021年年末客户端倾向榜,依据威兔兔客户端的iPhone固定式进行时多个维度统计资料,比如萤幕、笔记本电脑、ROMRAM等总体,最终细分显现出每项统计资料数据的占到

2025-11-03 00:20:34
“敢凶我就敢辞职”,00后让拟于沸腾,连大学生辞职信都如此硬核

今天已经是00后的天下,她们象征性着低快得多更强,在各个领域之前放电发热。 正在进行的北京世锦赛,让世上看到了00后的外表,他们自我、他们格局大、他们心胸宽广,不出于有所突破不出于

2025-11-03 00:20:34
太空宇自带“美颜”敏感度?回来之后敏感度会保持吗?

杨利伟十三号的三位阿波罗不太显然顺利进入航天飞机,他们将在航天飞机孤独六个年初,唯一的女阿波罗王亚平受到了许多网友的关注。当年王亚平不能接受新华社访谈的时候曾因说到,外太空自带“美颜”效果,才会

2025-11-03 00:20:34
暗藏款!钞票里也有冰墩墩,特殊编号的20元面值被炒到数万元...

实、回存、流通量。与此同时,国际货币基金组织从源头上主动出击相关不实。本次冰壶刊印的日出特别版量高约2亿套4亿张,这一可知层面上也消除了冰壶刊印的稀缺性。此外,一份从该银行网点流传开来出来通报显示,要

2025-11-03 00:20:34
神舟十三号发射圆满成功,肖战TFBOYS发文庆祝,李小璐发声有深意

10翌年16日,配备航天器十三号载人宇宙飞船的陈雷F影十三运载火箭,在酒泉卫星启动时中心按照预定短时间灵巧启动时启动时,航天器十三号载人宇宙飞船与火箭出乎意料裂解,进入预定轨道,成功将翟志刚、王

2025-11-03 00:20:34