背景事务的原子性是如何保证的?面试中不少被问到吧,这里涉及到事务以及数据的可恢复性,而数据可恢复性的基础技术就是日志,本文将讨论三种日志:undo、redo和undo/redolog。日志:一种安全的方式记录数据变更的历史说明存储介质:内存和磁盘(仅讨论本文涉及到的),认为内存是易失的,磁盘是非易失的事务:包含多个操作,具体ACID属性,所有操作要么全部成功(指数据持久化到磁盘中),要么完全失败(原子性):一条日志,表示开始事务T:一条日志,表示提交T:一条日志,表示在事务T中,对X进行了修改,X的旧值或新值为v:一条日志,表示在事务T中,对X进行了修改,X的旧值为v,新值为w:一条日志,表示
背景事务的原子性是如何保证的?面试中不少被问到吧,这里涉及到事务以及数据的可恢复性,而数据可恢复性的基础技术就是日志,本文将讨论三种日志:undo、redo和undo/redolog。日志:一种安全的方式记录数据变更的历史说明存储介质:内存和磁盘(仅讨论本文涉及到的),认为内存是易失的,磁盘是非易失的事务:包含多个操作,具体ACID属性,所有操作要么全部成功(指数据持久化到磁盘中),要么完全失败(原子性):一条日志,表示开始事务T:一条日志,表示提交T:一条日志,表示在事务T中,对X进行了修改,X的旧值或新值为v:一条日志,表示在事务T中,对X进行了修改,X的旧值为v,新值为w:一条日志,表示
一生挚友redolog、binlog系列文章前言一、redolog二、如何根据项目情况设置innodb_log_file_size二、binlog三、什么是两阶段提交四、为什么需要两阶段提交五、《孔乙己》让你明白redolog是什么六、redolog参数详解前言上期根据一条查询语句查询流程分析MySQL的整体架构。同样,本期也使用一条查询SQL语句来做引子。可以肯定的是,查询语句执行的流程更新语句同样也会执行。因此本期的着重点就不在MySQL架构图上,文章标题也给出了大家重点,就是要了解redolog、binlog。一、r
一生挚友redolog、binlog系列文章前言一、redolog二、如何根据项目情况设置innodb_log_file_size二、binlog三、什么是两阶段提交四、为什么需要两阶段提交五、《孔乙己》让你明白redolog是什么六、redolog参数详解前言上期根据一条查询语句查询流程分析MySQL的整体架构。同样,本期也使用一条查询SQL语句来做引子。可以肯定的是,查询语句执行的流程更新语句同样也会执行。因此本期的着重点就不在MySQL架构图上,文章标题也给出了大家重点,就是要了解redolog、binlog。一、r
前言说到MySQL,有两块日志一定绕不开,一个是InnoDB存储引擎的redolog(重做日志),另一个是MySQLServce层的 binlog(归档日志)。只要是数据更新操作,就一定会涉及它们,今天就来聊聊redolog(重做日志)。redologredolog(重做日志)是InnoDB存储引擎独有的,它让MySQL拥有了崩溃恢复能力。比如MySQL实例挂了或宕机了,重启时,InnoDB存储引擎会使用redolog恢复数据,保证数据的持久性与完整性。上一篇中阿星讲过,MySQL中数据是以
前言说到MySQL,有两块日志一定绕不开,一个是InnoDB存储引擎的redolog(重做日志),另一个是MySQLServce层的 binlog(归档日志)。只要是数据更新操作,就一定会涉及它们,今天就来聊聊redolog(重做日志)。redologredolog(重做日志)是InnoDB存储引擎独有的,它让MySQL拥有了崩溃恢复能力。比如MySQL实例挂了或宕机了,重启时,InnoDB存储引擎会使用redolog恢复数据,保证数据的持久性与完整性。上一篇中阿星讲过,MySQL中数据是以
MySQL是常用的数据库存储应用,我们利用它存储信息、查询信息、处理事务。特别是为了提高可用性会用到事务一致性、主从复制、数据恢复等功能。我们在使用这些功能的时候,是否想过其背后有哪些原理和机制在支撑?今天我们聚焦redolog和binlog两个MySQL的日志机制,以及它们是如何配合提高MySQL存储可靠性的。今天会学到以下内容:RedologRedolog解决了什么问题?Redolog的执行流程Redolog的写入方式Redolog记录形式BinlogBinlog解决了什么问题?Binlog的日志格式Redolog与Binlog的区别与合作 RedologRedolog解决了什么问题?My