MySql的基础架构

MySql的基础架构_第1张图片

转载:https://zhuanlan.zhihu.com/p/19965157

MySql的基础架构如上图所示,以下是对架构中基础各个模块进行讲解

一、Connectors

可以理解为各种客户端

二、ConnectionPool

与客户端建立连接,我们经常使用MyBatis、Hibnate进行mysql数据库连接的时候需要数据库的信息,mysql驱动等

三、Management Service

系统管理和控制工具

四、SqlInterface 

这是对外暴露接收用户请求Sql命令接口,如查询,插入,更新,建表(DML,DDL),以及存储过程的执行等

五、Parser解析器

这是对用户请求过来的sql命令进行解析,解析的过程主要是分为2步

   一是词法解析(用户的sql语句进行拆分,词法分析和语法规则模块有两个较成熟的开源工具Flex和Bison)

   二是根据mysql语法规则进行语法解析

最终结果都是返回解析数,供优化器使用

解析器解析转载:https://blog.51cto.com/wangwei007/2300959

六、优化器

对解析器解析到的解析树进行处理,找出耗时最短的执行计划

优化器转载:https://blog.csdn.net/eric_sunah/article/details/17126017

七、缓存

mysql将要缓存的数据放在一张引用表中,然后根据查询的sql语句,数据库名称,客户端协议等生成一个hash值,此hash值对应引用表中的一条缓存记录

缓存转载:https://blog.csdn.net/eric_sunah/article/details/17510939

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