MySQL的体系结构

背景:本篇博文,目的是让大家了解一下mysql的内部结构,不谈细节,文章是转载的,看着很不错!

MySQL的体系结构

概述

在这里插入图片描述

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

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

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

在这里插入图片描述

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

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

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

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

在这里插入图片描述

当客户端向服务器端发起请求的时候,它首先会到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 : 文件系统

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值