MySQL-体系构架

MySQL Sever 构架自顶向下可以分为网络连接层,服务层,存储引擎层和系统文件层。

网络连接层

客户端连接器(Client Connectors):提供与MySQL服务器建立的支持。

服务层

服务层是MySQL Sever的核心,主要包含系统管理和控制工具,连接池,SQL接口,解析器,查询优化器和缓存六个部分。

连接池

负责存储和管理客户端与数据库的连接,一个线程负责管理一个连接。

系统管理和控制工具

例如备份恢复、安全管理、集群管理等。

SQL接口

用于接受客户端发送的各种 SQL 命令,并且返回用户需要查询的结果。

解析器

负责将请求的 SQL 解析生成一个”解析树”。然后根据一些 MySQL 规则进一步检查解析树是否合法。

查询优化器

当“解析树”通过解析器语法检查后,将交由优化器将其转化成执行计划,然后与存储引擎交互。

缓存

缓存机制是由一系列小缓存组成的。比如表缓存,记录缓存,权限缓存,引擎缓存等。如果查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中取数据。

存储引擎层

存储引擎负责 MySQL 中数据的存储与提取,与底层系统文件进行交互。MySQL 存储引擎是插件式的,服务器中的查询执行引擎通过接口与存储引擎进行通信,接口屏蔽了不同存储引擎之间的差异。

系统文件层

该层负责将数据库的数据和日志存储在文件系统之上,并完成与存储引擎的交互,是文件的物理存储层。