IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:Undo Log

共 1 篇相关文章

IT 累计浏览 2,282

InnoDB Log 漫游(1)

这篇讲的是数据库里一个沉默但至关重要的角色:InnoDB的重做日志(redo log)。它不像查询优化那样引人注目,却是InnoDB实现事务持久性(ACID中的D)和崩溃恢复能力的核心引擎。文章带着读者进行了一次从概念到实现的“漫游”,详细拆解了这个日志系统是如何工作的。 作者从一个根本问题出发:当数据库突然断电或崩溃时,那些已经提交但还没来得及完整写入数据文件的事务,是如何被“原样恢复”的?文章将redo log比作一个不断增长的、只记录“如何重新应用更改”的指令清单。它清晰地解释了redo log的写入、刷盘(fsync)机制,以及它如何与checkpoint协作,确保在保证性能的前提下,数据永不丢失。 读下来,你能建立起一个清晰的框架:redo log不是用来“回滚”事务的(那是undo log的工作),而是专门用于在系统重启后,将数据库恢复到崩溃前一致状态的“前滚”日志。文章通过剖析这个核心机制,让读者理解了InnoDB设计中最精妙的权衡之一。