给你汇总了MySQL各个版本的体系结构图

点击上方蓝字关注我

896703a80f78190e63de16ae6d01f1e4.png

InnoDB是MySQL中最重要的存储引擎之一,它的架构设计旨在提供高可靠性和高性能。以下是InnoDB架构的简要介绍:

InnoDB架构主要包括两种结构:内存中结构和磁盘上结构。

1. 内存中结构

• 缓冲池(Buffer Pool):缓存频繁访问的数据,减少磁盘I/O操作,提高查询性能。

• 变更缓冲区(Change Buffer):缓存对二级索引页的更改,当这些页不在缓冲池中时,以避免耗时的I/O操作。

• 自适应哈希索引(Adaptive Hash Index):为某些读操作提供快速的内存中查找机制,加速对频繁查询索引页的访问。

• 日志缓冲区(Log Buffer):保存要写入事务日志的更改,通过先写入内存再定期刷新到磁盘上的重做日志,来提高性能。

2. 磁盘上结构

•系统表空间(System Tablespace):存储变更缓冲区,InnoDB使用一个或多个数据文件来存储系统表空间。

• 各个表的独立表空间(File-per-table Tablespaces):每个InnoDB表都可以有自己的表空间。

• 通用表空间(General Tablespaces):可以容纳多个表的表空间。

• 撤销表空间(Undo Tablespaces):存储撤销日志,这些日志记录了事务进行中必须保留的旧数据版本。

• 临时表空间(Temporary Tablespaces):存储临时数据,如排序操作或哈希索引创建过程中的数据。

• 双写缓冲区(Doublewrite Buffer):保护数据不因崩溃而损坏,通过先写入双写缓冲区再写入表空间文件。

• 重做日志(Redo Log):记录数据变更,以便在系统崩溃后恢复数据。

• 撤销日志(Undo Logs):记录了事务进行中必须保留的旧数据版本,以支持事务回滚和MVCC。

3. 各个版本的体系架构图

MySQL5.5

e4b7d9cb7c6668ab8501d60e4f349a82.png

MySQL5.6

1c6a1570cf7e60fd85a43021e7d62ee3.png

MySQL5.7

252948c734a85880afba5b7b4c50039d.png

MySQL8.0

bbe0a67b1bc3aaa3067b7544f7e9b4a1.png

5fbe598f799347e712c169d503cdecba.png

往期精彩回顾

1.  MySQL高可用之MHA集群部署

2.  mysql8.0新增用户及加密规则修改的那些事

3.  比hive快10倍的大数据查询利器-- presto

4.  监控利器出鞘:Prometheus+Grafana监控MySQL、Redis数据库

5.  PostgreSQL主从复制--物理复制

6.  MySQL传统点位复制在线转为GTID模式复制

7.  MySQL敏感数据加密及解密

8.  MySQL数据备份及还原(一)

9.  MySQL数据备份及还原(二)

b032945c7433adab82c0242f3057c7b9.png

扫码关注     

6909dc8cf57147ed8a9f03b74c7ddcd7.jpeg

abb586b2449ba23fd4e6c45f2711a2ef.png

c54efbd786068bcb08b780f7994b7aa9.png

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值