【MySQL】基础架构

MySQL基础架构

MySQL 可以分为「Server 层」和「存储引擎层」两部分。

1、Server层

「Server 层」包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。

1.1 连接层

连接层:第一层连接层,也是最上层,是一些客户端和连接服务。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于 SSL 的安全链接。服务器也会为安全接入的每个客户端验证它所具有的操作权限。

1.2 服务层

服务层:第二层服务层,主要完成大部分的核心服务功能, 包括查询解析、分析、优化、缓存、以及所有的内置函数,所有跨存储引擎的功能也都在这一层实现,包括触发器、存储过程、视图等


2、存储引擎层

而「存储引擎层」负责数据的存储和提取。其架构模式是插件式的,支持 InnoDB、MyISAM、Memory 等多个存储引擎。现在最常用的存储引擎是 InnoDB,它从 MySQL 5.5.5版本开始成为了默认存储引擎。

MySQL 可以在不同的场景中应用并发挥良好的作用,其原因是基于「存储引擎层」采用的是插件式配置,可以根据不同的业务需求和实际需要选择不同的存储引擎,从而提高数据执行效率。

2.1 引擎层

引擎层:第三层存储引擎层,存储引擎真正的负责了MySQL中数据的存储和提取,服务器通过 API 与存储引擎进行通信。不同的存储引擎具有不同的存储机制、索引技巧、锁定水平等,这样我们可以根据自己的实际需要进行选取。一个数据库中多个表可以使用不同引擎以满足各种性能和实际需求。

2.2 存储层

存储层:第四层为数据存储层,主要是将数据存储在运行于该设备的文件系统之上,并完成与存储引擎的交互。

3、问题

说说 MySQL 中 SQL 的执行流程。画出 MySQL 架构图。

image-20210728111930042

Related Posts

【MySQL】SQL简介
© 2019 - 2022 · Home · Theme Simpleness Powered by Hugo ·