草庐IT

被面试官问住了,MySQL两阶段提交是什么鬼?

“MySQL中既存在redolog,又存在binlog,这是因为BinLog是MySQLServer提供的一种归档日志,其本身并不具备Crash-Safe能力。而RedoLog本身不具备归档能力,他是一种循环写的日志。”前言MySQL通过两阶段提交的机制,保证了redolog和binlog的逻辑一致性,进而保证了数据的不丢失以及主从库的数据一致。而说起两阶段提交,就不得不先介绍一下redolog和binlog。技术岗位交流咨询??‍?微信:HRdajisi??‍?letstalk:t395300395??‍?telegram:@HRdajisi??‍?公司邮箱:jsfahai@itcom666

被面试官问住了,MySQL两阶段提交是什么鬼?

前言MySQL通过两阶段提交的机制,保证了redolog和binlog的逻辑一致性,进而保证了数据的不丢失以及主从库的数据一致。而说起两阶段提交,就不得不先介绍一下redolog和binlog。redologredolog即重做日志,是InnoDB引擎特有的一种日志(有的面试官经常问到这一点)。redolog主要做什么呢?以更新数据为例,我们知道,MySQL的数据是存储在磁盘上的,如果每一次更新数据,都去磁盘寻址找到要更新的数据,进行更新操作的话,这个IO成本是非常高的。如果是固态硬盘还好,如果是机械硬盘,那么MySQL的更新性能根本无法满足我们的业务需要。所以,MySQL采用了一种叫做WAL

被面试官问住了,MySQL两阶段提交是什么鬼?

前言MySQL通过两阶段提交的机制,保证了redolog和binlog的逻辑一致性,进而保证了数据的不丢失以及主从库的数据一致。而说起两阶段提交,就不得不先介绍一下redolog和binlog。redologredolog即重做日志,是InnoDB引擎特有的一种日志(有的面试官经常问到这一点)。redolog主要做什么呢?以更新数据为例,我们知道,MySQL的数据是存储在磁盘上的,如果每一次更新数据,都去磁盘寻址找到要更新的数据,进行更新操作的话,这个IO成本是非常高的。如果是固态硬盘还好,如果是机械硬盘,那么MySQL的更新性能根本无法满足我们的业务需要。所以,MySQL采用了一种叫做WAL