网上写MySQL架构的文章比较多,写InnoDB架构的文章比较少,今天简单说说InnoDB架构。

(1)客户端,是各种编程语言的connector;(2)MySQL服务,内部包含各种组件,实现各种功能;其中,MySQL服务内,可以以插件的形式,实现各种存储引擎。在InnoDB,MyISAM,Memory…等各种存储引擎中,InnoDB是使用范围最广的。画外音:事务,行锁,聚集索引,MVCC…众多特性让InnoDB备受青睐。
(1)内存结构(In-Memory Structure),这一层在MySQL服务进程内;(3)磁盘结构(On-Disk Structure),这一层在文件系统上;(1)通过OS Cache落地数据(上图中,两个短箭头);(2)直接O_Direct落地数据(长途中,长箭头);(3)自适应哈希索引(Adaptive Hash Index);目的是提升InnoDB性能,加速读请求,避免每次数据访问都进行磁盘IO。画外音:和系统架构设计中缓存的功能有点像,避免每次访问数据库。目的是提升InnoDB性能,加速写请求,避免每次写入都进行磁盘IO。画外音:我C,这个牛逼,写入居然都可以不进行磁盘IO?自适应哈希索引(Adaptive Hash Index)目的是提升InnoDB性能,加速读请求,减少索引查询的寻路路径。目的是提升InnoDB性能,极大优化redo日志性能,并提供了高并发与强一致性的折衷方案。主要包括日志与表空间,其结构与原理比InnoDB内存结构更加复杂,如果大家感兴趣,未来再撰文详述。
一分钟系列,希望大家对InnoDB架构,以及InnoDB内存结构的四大组件有了更系统性的了解。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31556838/viewspace-3146895/
,如需转载,请注明出处,否则将追究法律责任。