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(可重复读原理分析)

总结

整体总结

相关推荐
俞凡1 小时前
[大厂实践] Netflix 时间序列数据抽象层实践
架构
染落林间色2 小时前
达梦数据库(DM Database)角色管理详解|了解DM预定义的各种角色,掌握角色创建、角色的分配和回收
数据库·sql·mysql
老纪的技术唠嗑局2 小时前
走出三大困境,深耕五大场景 | 好未来AI业务探索OceanBase实现降本86%
运维·数据库·架构
张人玉2 小时前
C#分层架构
开发语言·架构·c#
昵称为空C3 小时前
Jdk21优雅处理异步任务
java·后端·架构
喻师傅3 小时前
Spark SQL 数组函数合集:array_agg、array_contains、array_sort…详解
大数据·hadoop·分布式·sql·spark
tangzzzfan3 小时前
使用 Swinject 实现更好的面向协议编程
架构
怀刃3 小时前
数据库锁
sql
zkmall5 小时前
ZKmall开源商城架构工具链:Docker、k8s 部署与管理技巧
docker·架构·开源
DemonAvenger7 小时前
Go 语言 WebSocket 编程详解
网络协议·架构·go