InnoDB引擎(架构,事务原理,MVCC详细解读)

目录

架构分析

逻辑存储结构​

内存结构​

[Buffer Pool​](#Buffer Pool)

ChaneBuffer

自适应哈希​

LogBuffer​

磁盘结构​

后台线程​

事务原理​

redolog日志

undolog日志​

MVCC​

三个隐藏字段​

undolog版本链

readview​

RC(读已提交原理分析)​

RR(可重复读原理分析)​

总结


架构分析

逻辑存储结构

内存结构

Buffer Pool

ChaneBuffer

主要针对非唯一的二级索引

自适应哈希

LogBuffer

磁盘结构

后台线程

事务原理


redolog日志

流程:读取要修改的数据页,放在缓冲区中,修改缓冲区数据,每隔一段时间同步到磁盘中,未同步的缓冲区数据页,也叫脏页。如果出现突发情况,导致未能同步成功,破坏了持久性。redolog主要作用是,在脏页数据刷新到磁盘发生错误时,进行数据恢复。

如果不通过redolog,直接刷新脏页到磁盘中,存在严重的性能问题, 会存在大量的随机磁盘IO,日志文件是追加的,顺序磁盘io,可大大优化性能。

undolog日志

MVCC

三个隐藏字段

undolog版本链

readview

RC(读已提交原理分析)


RR(可重复读原理分析)

总结

整体总结

相关推荐
radient14 分钟前
Golang-GMP 万字洗髓经
后端·架构
Code季风15 分钟前
Gin Web 层集成 Viper 配置文件和 Zap 日志文件指南(下)
前端·微服务·架构·go·gin
鹏程十八少16 分钟前
9.Android 设计模式 模板方法 在项目中的实战
架构
Code季风1 小时前
SQL关键字快速入门:CASE 实现条件逻辑
javascript·数据库·sql
kk在加油2 小时前
Mysql锁机制与优化实践以及MVCC底层原理剖析
数据库·sql·mysql
程序员JerrySUN3 小时前
RK3588 Android SDK 实战全解析 —— 架构、原理与开发关键点
android·架构
满昕欢喜11 小时前
SQL Server从入门到项目实践(超值版)读书笔记 20
数据库·sql·sqlserver
ai小鬼头13 小时前
AIStarter如何助力用户与创作者?Stable Diffusion一键管理教程!
后端·架构·github
JAVA学习通14 小时前
Mybatis--动态SQL
sql·tomcat·mybatis
掘金-我是哪吒15 小时前
分布式微服务系统架构第156集:JavaPlus技术文档平台日更-Java线程池使用指南
java·分布式·微服务·云原生·架构