美文网首页MySQL
MySQL InnoDB 概述

MySQL InnoDB 概述

作者: 黄金矿工00七 | 来源:发表于2018-07-31 03:05 被阅读0次
MySQL InnoDB 存储引擎
概述
  • 支持事务
    • 行锁设计
    • 支持MVVC
    • 支持外键
    • 提供一致性非锁定读
体系架构
image.png
  • 后台线程(多线程模型)
    • Master Thread
      负责将缓冲池中的数据异步刷新到磁盘,保证数据的一致性,包括脏页的刷新、合并插入缓存、UNDO页的回收。
    • IO Thread
      使用AIO处理写请求,IO Thread负责IO请求的回调处理
    • Purge Thread
      事务提交后,回收已经使用并且分配的undo页。
  • 内存
    • 缓冲池
      InnoDB是基于磁盘存储的,并将其中的记录按照页的方式进行管理,使用缓冲池技术来提高数据库的整体性能。(读取页的时候,将页放到缓冲池中(FIX操作),下次读缓冲池中的即可;修改页时,先修改缓冲池中的页,再以一定的频率刷新到磁盘(CheckPoint机制))
      • 缓冲池管理
        数据库中的缓冲池通过LRU算法进行管理(LRU List),使用最频繁的页在LRU List的前端,当缓冲池中不能存放新读取到的页时,首先释放LRU列表尾端的页。
    • 重做日志缓冲
      InnoDB将重做日志信息放入该缓冲区,然后按照一定的频率将其刷新到重做日志文件。
    • CheckPoint机制
      • 缩短数据库恢复时间:
        数据库宕机时,数据库不需要重做所有的日志因为CheckPoint之前的页都已经刷新回磁盘。
      • 缓冲池不够用时,将脏页刷新到磁盘(Fuzzy CheckPoint 部分刷新)
        当缓冲池不够用时,根据LRU算法,释放list尾端的页,若该页为脏页,则强制执行CheckPoint,刷新回磁盘。
      • 重做日志不可用时,刷新脏页
        因为重做日志不是无限增大的,当到达一定数量时,由第一条所述,数据库恢复不需要这部分重做日志,这部分就可以被覆盖重用,若此时重做日志还有用,那么强制产生CheckPoint,将缓冲池中的页至少刷新到当前重做日志的位置。
        总结一下:缓冲池不够用时,将最少使用的脏页刷新回磁盘,释放该页;当重做日志不够用时,将缓冲池刷新到当前重做日志的位置,放弃一部分重做日志,用于新的重做日志;数据库关闭时,发生Sharp CheckPoint,全部刷新
  • InnoDB 关键特性
    • 插入缓冲
    • 两次写
    • 自适应哈希索引
    • 异步IO
    • 刷新邻接页

相关文章

  • MySQL InnoDB 概述

    MySQL InnoDB 存储引擎 概述 支持事务行锁设计支持MVVC支持外键提供一致性非锁定读 体系架构 后台线...

  • mysql存储引擎

    MySQL 存储引擎概述 MySQL 5.0 支持的存储引擎包括 MyISAM、 InnoDB、 BDB、 MEM...

  • MySQL-InnerDB为什么使用B+

    概述 为什么 MySQL 默认的存储引擎 InnoDB 会使用 MySQL 来存储数据,相信对 MySQL 稍微有...

  • InnoDB 事务

    本文摘自《MYSQL技术内幕(InnoDB存储引擎)》 1.认识事务 1.1 概述 InnoDB在事务完全符合AC...

  • 细看INNODB数据落盘[转]

    概述 前面很多大侠都分享过MySQL的InnoDB存储引擎将数据刷新的各种情况。我们这篇文章从InnoDB往下,看...

  • InnoDB存储引擎

    1、InnoDB概述 InnoDB是一个高性能、高可用、高可扩展,是MySQL 第一个完整支持ACID事务的存...

  • 2-InnoDB存储引擎

    1.InnoDB的版本 MySQL 5.1 → InnoDB 1.0X MySQL 5.5 → InnoDB 1....

  • Mysql体系——整体架构

    内容 Mysql 体系结构 Innodb 体系结构 Innodb 文件 Innodb 特性 一 Mysql 体系结...

  • (005)mysql常用存储引擎

    概述 mysql5.5之前默认存储引擎是MyISAM,5.5之后改为InnoDB。若要修改默认引擎,可以修改配置文...

  • 第 2 章 InnoDB 存储引擎

    2.1 InnoDB 概述 2.2 InnoDB 存储引擎的版本 2.3 InnoDB 体系架构 InnoDB 存...

网友评论

    本文标题:MySQL InnoDB 概述

    本文链接:https://www.haomeiwen.com/subject/pffcvftx.html