逻辑架构简介 - 图1
逻辑架构流程

1 当存在(缓存)的时候 Connectors(结构层)-> connectors Pool(连接层/池) -> cache & Buffers(缓存层) ->Connectors(结构层)
逻辑架构简介 - 图2
2 当不存在缓存时 Connectors(结构层)-> connectors Pool(连接层/池) -> SQL interface(SQL接口组件层)-> Parser(查询分析组件) -> Optimizer (优化器组件) ->Pluggable Storage Engines (插件式存储引擎)【真正干活的层】->同时返回给Connectors(结构层) 和 写入缓冲给Caches & Buffers(缓存层)
逻辑架构简介 - 图3

1 MySQL向外提供的交互接口(Connectors)

2 连接层 Connection Pool (连接池)

3 管理服务组件和工具组件 management service and Utilities库 (主要负责数据的备份,数据库的集群,认证,权限,查询索引等)

  1. 2.1backup & recovery 备份&容灾恢复)
  2. 2.2mgration & metadata
  3. 2.3Cluster 集群)
  4. 2.4Adminstration管理)
  5. 2.5Configuation 配置)
  6. 2.5secutrity 安全复制)
  7. 2.6Replication 复制)
  8. .....等等

4.SQL接口组件(SQL Interface)(负责接收SQL命令,判断SQL的类型是DML还是DDL还是视图等)

5.查询分析组件(Parser)

5.1 负责语法解析,就是我们的SQL语句,在这里进行语法的检查,语法检查失败直接返回语法错误。
5.2 语义解析,比如查询的某张的表不存在直接返回xx表不存在。

6.优化器组件(Optimizer)

6.1 对SQL命令进行优化,SQL的优化主要就是针对这块
6.2 MySQLServer会对发送过来的SQL语句进行优化,根据sql语句,生成一系列的执行计划,然后从执行计划选出最优的一条计划执行
6.3 在这里判断是否使用索引,如何使用索引

7.缓存文件(Caches & Buffers)

7.1 查询缓存:主要对SQL语句缓存,把经常使用的SQL语句缓存起来
7.2 数据缓存:从磁盘中加载数据到内容中,然后对内存中的数据进行过滤
7.3 日志缓存:通过日志缓存恢复记录 这里就是undo和redo

8.插件式存储引擎(Pluggable Storage Engines)

9.物理文件(File System)