mysql 架构

2019-11-08  本文已影响0人  任嘉平生愿

MySQL架构图解

MySQL物理架构

MySQL逻辑架构


mysqld:

MySQL服务器守护程序,在后台运行。它管理着客户端请求。mysqld是一个多线程的进程,允许多个会话连接,端口监听连接,管理MySQL实例

Parser

检测SQL语句语法,为每条SQL语句生成SQL_ID,用户认证也发生在这个阶段

Optimizer

创造一个有效率的执行计划(根据具体的存储引擎)。它将会重写查询语句。

key cache

缓存表索引。MySQL keys是索引。

SQL执行过程

InnoDB存储引擎架构

TABLESPACE

InnoDB存储空间被切分成tablespace,tablespace是一个与多个数据文件相关联的逻辑结构。

Pages

InnoDB最小的数据存储单元被也称作块。默认的页框是16KB,一个页包含多行。

可用页大小: 4kb,8kb,16kb,32kb,64kb

配置变量名 : innodb_page_size,在初始化mysqld时配置

Extents

一组页组成一个区,InnoDB为了更好的I/O吞吐率,每次读写都是按照区为单位。

一组16KB的页,一个区可以1MB,双写缓冲区(Doublewrite buffer )每次分配/读/写都是以区为单位。

Segments

4个区构成一个Segments

InnoDB存储引擎特性

ACID事务支持

行锁模式

事务REDO&UNDO支持

多数据文件

逻辑对象结构(InnoDB数据和日志缓冲区)

InnoDB数据是百分百的具备逻辑结构,数据物理存储。

InnoDB读取物理数据,创建逻辑结构[Blocks and Rows]

逻辑存储称为TABLESPACE

事务的隔离性由锁机制实现,原子性、一致性和持久性由事务的redo 日志和undo 日志来保证

浅析MySQL事务中的redo与undo - 简书

上一篇下一篇

猜你喜欢

热点阅读