MySQL的体系结构

MySQL的体系结构

概述

MySQL的体系结构_第1张图片

猛眼一看这个结构体系图好像很繁琐,其实这个体系和我们在做web开发时的三层架构是有些类似的。

用户发起一个请求到控制处理层,控制处理层调用service服务进行服务处理,service服务再调用dao层为service提供数据层的支持返回对应的数据(内容),最终响应给用户。

类似这样,详细的来分析这个结构图。先讲这个结构图分成两部分,如下图所示:

MySQL的体系结构_第2张图片

1、Connectors:连接层。可以把它看成一个客户端

2、MySQL Server:服务层。可以把它看成MySQL服务端

在连接层有很多发起或建立连接的工具,像我们熟悉JDBC等。

我们以JDBC为例,操作者在客户端(Connectors 连接层)通过JDBC访问与服务器端建立连接,此时我们将服务器端(MySQL Service 服务层)细分为4部分,详细如下图:

MySQL的体系结构_第3张图片

当客户端向服务器端发起请求的时候,它首先会到1中(Connection Poll:连接池)来获取一个连接,在连接池中会对连接进行校验、获取连接最大数以及缓存等操作。

连接建立成功之后,接着到了2中。2中主要完成大多数的核心服务功能,如:
Management Service & Utilities:管理服务及工具,这个模块主要可以完成数据的备份和恢复、集群、安全及系统配置相关

SQL Interface:SQL接口,在这个模块中支持执行我们封装的DML,DDL语句、存储过程,存储函数、视图、触发器等

Parser:SQL解析器,它用来解析将要被执行SQL语句,进行先关的过滤

Optimizer:优化器,在SQL语句解析完成后,MySQL内部会对SQL语句进行优化处理

Cache & Buffers:缓存层,SQL语句优化完成后,如果是select语句的话可能还会来到这里进行缓存查询,如果有缓存记录的话就直接返回数据。


2中的操作完成后,继续往下走,来到3Pluggable Storage Rngines:插件式的存储引擎,我们可以根据我们的需要去选择对应的存储引擎作为MySQL数据的启动器),3中加载存储引擎(引擎=>驱动),最终将操作落到4上(存储层 File System:文件系统),这时候就要操作文件系统了,文件系统就落在电脑的磁盘中,在文件系统中处理存储的表结构和数据之外,还存储了索引、二进制日志、错误日志、查询日志、慢查询日志等

整个MySQL Server的组成:

1、Connection Pool : 连接池组件

2、Management Services & Utilities: 管理服务和工具组件

3、SQL Interface : SQL接口组件

4、Parser: 查询分析器组件

5、Optimizer : 优化器组件

6、Caches & Buffers : 缓冲池组件

7、Pluggable Storage Engines : 存储引擎

8、File System : 文件系统

你可能感兴趣的:(mysql,数据库,mysql)