InnoDB体系结构

简介

  • innodb是基于表的存储引擎
  • 支持事务,行锁设计,mvcc,外键,提供一致性非锁定读 。

1:概览

InnoDB存储引擎主要包含后台线程和内存池,内存池的主要又是缓冲池。

  • 后台线程主要进行内存和磁盘之间双向的数据刷新
  • 内存主要缓存磁盘上的数据

2:后台线程

2.1:Master thread

主要将缓冲池中的数据异步刷新到磁盘,包括脏页的刷新等

2.2:IO thread

2.3:Purge thread

3:内存

内存主要包含缓冲池

3.1:缓冲池

InnoDB存储引擎是基于磁盘的,并将其的记录按照页的方式进行管理。但是由于CPu读取速度和磁盘速度之间的差距,需要使用缓冲池来提升数据库的性能

读取与修改

在数据库中进行读取页的操作时,首先讲从磁盘读取到的页存放到缓冲池中,这个过程称为“FIX”在缓冲池中。下一次再读取相同的页时,首先判断该页是否在缓冲池中。若在缓冲池中,称该页在缓冲池中被命中,直接读取该页。否则,读取磁盘上的页。

要对数据库的数据进行修改时,先要修改缓冲池中页,然后再在合适的时候刷新到磁盘。注意并不是修改后就刷新到磁盘,而是通过一种称为Checkpoint的机制刷新回磁盘。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值