设计上采用了类似于Oracle数据库的架构
接下来 详细介绍 InnoDB 存储引擎的 体系架构 及其不同于其他存储引擎的特性
一 概述
InnoDB 存储引擎 是第一个完整支持ACID事物的 MySQL 存储引擎
特点: 1 行锁设计
2 支持MVCC
3 提供一致性非锁定读
4 最有效地利用 以及 使用内存和CPU,内存 体现在鲁棒性LRU、写先写缓存 再刷日志 再写磁盘 CPU?
二MySQL 存储引擎的版本:
版本 | 功能 |
old InnoDB | 支持四种隔离级别ACID、行锁、MVCC |
1.0.X | 继承上一版本功能,增加了compress 以及 dynamic 页格式 |
1.1.X | 继承上一版本功能,增加了Linux AIO、多回滚段 |
1.2.X | 继承上一版本功能,增加全文索引支持、在线索引添加 |
三InnoDB 体系架构
上图位InnoDB存储引擎体系架构,InnoDB 存储引擎有多个内存块,组成了一个大的内存池,提供了以下能力:
1 维护 所有进程/线程 需要访问的 多个内部数据结构
2 缓存 磁盘上的数据,方便快速读取,在对磁盘文件数据进行修改之前先更新缓存
3 重做日志 redo log 缓冲
后台线程作用:
1 刷新内存池中的数据,确保内存中缓存的 是最近的数据
2 将已经修改的数据文件 刷新到磁盘文件
3 确保数据库在发生异常情况下 能恢复到正常运行状态