InnoDB体系架构

一   体系架构

1.后台线程

Master Thread

将缓冲池中的数据异步刷新到磁盘,保证数据的一致性,包括脏页的刷新,合并插入缓冲,

UODO页的回收等

IO Thread 

负责IO请求的回调处理

Purge Thread

当事务提交后,undolog可能不在需要,因此需要 Purge Thread 来回收已经使用并分配的undo页

Page Cleaner Thread

进行 脏页 的刷新操作

2.共享内存(一大块内存)

1)缓冲池 

2)LRU List    去记录 缓冲池中 页 的使用情况,来管理已经读取的表。最频繁使用的页在最前面,最少使用在尾端。

     Free List     当需要从缓冲池中分页时,首先去Free列表中看一下是否有可用的空闲页。

     Flush List    当LRU列表中的页被修改之后,该页 为脏页。即缓冲池中的页 和磁盘上的页的数据产生了不一致。这时数据库通过CHECKPOIT机制将脏页刷新回磁盘。所以Flush列表即为脏页列表。

3)  重做日志缓冲 redo log buffer

InnoDB 存储引擎首先会将  重做日志信息  放在   重做日志缓存中,而不是直接写入日志(磁盘)。以 一定的频率 将重写日志缓存 的信息刷新到磁盘中。

4) 额外的内存池   ????

========================================================================

二   关键特性(明天写)

以下特性为InnoDB存储引擎带来了更好的性能以及更高的可靠性。

1. 插入缓冲

2. 二次写

3. 自适应哈希索引

4. 异步IO

5. 刷新临近页

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值