mysql 重新整理——逻辑架构[二]

InJavaWeTrust 2020-05-30

前言

在此简洁逻辑架构,mysql的基础逻辑架构其实和sql server很像的。

正文

mysql 重新整理——逻辑架构[二]

首先是客户端,发起了连接。

然后呢连接池后那一块,就是有分析器的那一块,那一块是干啥的呢。

其实我们写的语句呢,在mysql 不是这样子的,它要转换成自己的查询语句,通俗的说,我们调用的其实是api,不是真正的mysql 执行语句。

我们查询的数据中,是有块缓存的,基本上查询一条语句基本都有缓存,所以说会先去查询缓存,然后如果没有的话,那么会去查数据。

我们看到怎么有一个优化器呢?这就是mysql 自动会帮我们优化代码。听说阿里就是自己写了优化器提示性能的。

抄一段:

第三层包含了存储引擎。存储引擎负责MySQL中数据的存储和提取。
服务器通过API和存储引擎进行通信。这些接口屏蔽了不同存储引擎之间的差异,使得这些差异对上层的查询过程透明化。
存储引擎API包含十几个底层函数,用于执行“开始一个事务”等操作。但存储引擎一般不会去解析SQL(InnoDB会解析外键定义,因为其本身没有实现该功能),不同存储引擎之间也不会相互通信,而只是简单的响应上层的服务器请求。

也是就说存储引擎才是真正的去执行读写,可见其重要性。

再盗一张图:

mysql 重新整理——逻辑架构[二]

1.Connectors

连接者,其实就是客户端。

怎么说呢,其实mysql 和 客户端之间是有协议的,只有遵守这个协议就可以和mysql沟通,调用mysql的api。

2.Connect Pool

管理缓冲用户连接,线程处理等需要缓存的需求。

3.Management Serveices & Utilities
  系统管理和控制工具。
4. SQL Interface 接受用户的SQL命令,并且返回用户需要查询的结果。

5.Parser
  SQL命令传递到解析器的时候会被解析器验证和解析。

6、 Optimizer

7 、Cache和Buffer
  查询缓存:主要功能是将客户端提交 给MySQL 的 Select 类 query 请求的返回结果集 cache 到内存中,与该 query 的一个 hash 值 做一个对应。
  查询优化器:SQL语句在查询之前会使用查询优化器对查询进行优化。

8 、存储引擎接口
  MySQL区别于其他数据库的最重要的特点就是其插件式的表存储引擎。

工作流程:

依然是盗图。

mysql 重新整理——逻辑架构[二]

相关推荐