InnoDB架构,一幅图秒懂!
InnoDB架构,一幅图秒懂! 原文作者: 58沈剑 网上写MySQL架构的文章比较多,写InnoDB架构的文章比较少,今天简单说说InnoDB架构。 画外音: 一分钟,一幅图,秒懂。 MySQL简要架构是怎么样的? MySQL整体分为三层: (1) 客户端 ,是各种编程语言的connector; (2) MySQL服务 ,内部包含各种组件,实现各种功能; (3) 文件系统 ,数据存储与日志; 其中,MySQL服务内,可以以插件的形式,实现各种存储引擎。 在InnoDB,MyISAM,Memory…等各种存储引擎中, InnoDB是使用范围最广的 。 画外音: 事务,行锁,聚集索引,MVCC…众多特性让InnoDB备受青睐。 InnoDB简要架构是怎么样的? InnoDB整体也分为三层: (1) 内存结构 (In-Memory Structure),这一层在MySQL服务进程内; (2) OS Cache ,这一层属于内核态内存; (3) 磁盘结构 (On-Disk Structure),这一层在文件系统上; 这三层的交互有两类: (1)通过OS Cache落地数据(上图中,两个短箭头); (2)直接O_Direct落地数据(长途中,长箭头); 画外音: 这是一个性能与一致性折衷的设计。 InnoDB内存结构包含哪些核心组件? InnoDB内存结构包含四大核心组件,分别是: (1)