Mysql中InnoDB的体系结构:三大核心组件与存储结构

Mysql体系结构图

三大核心架构

双写缓存(double write buffer)

  • 一种特殊文件flush技术,带给InnoDB存储引擎的是数据页的可靠性。
  • d数据库系统的核心是oublewrite buffer是数据文件的扩展名InnoDB在表空间上的mysql索引128个页(2个区,extend1和extend2),大小是2MB。
  • 在把页写到数据文件之前,Innomysql面试题DB先把它们写到一个叫doublewrite buffer(双写缓冲区)mysql的连续区域内,在写doublewrite buffer完成后,InnoDB才会把页写到数据文件的适当的位置。
  • 如果在写页的过程数据文件的自动增长方式有那两种中发生意外崩溃,InnoDB在稍后的恢复过程中在doublewrite buffer中找到完好的page副本用于恢复。
  • 数据库系统的核心是入的原因:页的大小16K,每次可以写入4K,断电等意外情况,mysql不能保证这个刷新磁database怎么读盘的原databasename子性。
  • 使用双写缓冲区数据漫游功能,InnoDB / XtraDB首先将页面写入双写缓冲区,然后写入数据文件。
  • 如果在数据文件中发生部分页面写入,InnoDB / XtraDB将检查mysql面试题恢复是否数据文件中页面的校验和与doublewrite缓冲区中页面的校验和不同,因此将知道页面是否已损坏或不。如果它已损坏,恢复过程将使用存储在doublewrite缓冲区中的页面来恢复正确的数据。
  • 如果在doublewrite缓冲区中发生部分写入,则原始页面不受影响,可以与重做日志一起使用以恢复数据。

自适应哈希索引(adaptive hash index)

  • Innodb存储引擎会监控对表上二级索引的查找,如果发现某二级索引被频繁访数据文件的自动增长方式有那两种问,二级索引成为热数据,数据文件建立哈希数据分析师索引可以带来速度的提升。
  • 简单说就是把经常使用的数据进行缓存。

Buffer Po数据库原理及应用ol

  • 之前文章有详细介绍,这里只做简单的介绍
  • 是一块内存区域,当数据库操作数据的时候,把硬盘上的数据废土数据加载到buffer pool,不直接和硬盘打交道,操作的是buffer pool里面的数据
  • 数据库的增删改查都是在buffer pool上进行,和undatabasefile怎么打开do log/redo log/re数据库do log buffer/binlog一起使用,后续会把数据库管理系统数据刷到硬盘上

MySQL的存储体系


                                            Mysql中InnoDB的体系结构:三大核心组件与存储结构

  • 页中包含很多行记录,通常页为16k数据文件夹b
  • 64个页组成一个区
  • 一个索引会生成2个段,一个叶子节点段(存储叶子节点),一个非叶database数据库子节点段(存储非叶子节点)。
  • 表空间(多个数据库管理系统页的池子):每一个页都对应着一个页号,这个页号由4个字节组成,也就是32个比特位,所以一个表空间最多可以拥有2的32次方databasename个页,如果按照页的默认大小16KB来算,一个表空数据库系统工程师间最多支持64TB的数据。

结束语

  • 获取更多有价值的文章,让我们一起成为架构师!
  • 关注公众号,可以让你逐步对MySQL以及并database是什么意思发编程有更深入数据库系统概论第五版课后答案的理解!
  • 这个公众号,无广告!!!每日更新!!!
    
                                            Mysql中InnoDB的体系结构:三大核心组件与存储结构