MySql体系图大概讲解

MySql体系图如下:

MySql体系图大概讲解
MySql体系同类时于我们的外部开发的三层架构类时,在我们学习外面开发架构时,假设前台给我们发送请求时传入到Controller接收信息,Controller调用Service,Service调用Dao访问数据库,这就时外部开发的三层架构。

MySql体系图大概讲解

但是在MySql架构当中,首先我们看到最上面的这个部分代表的就是客户端,在客户端当中我们久只认识JDBC,在我们程序当中就可以用JDBC操作我们的MySql。Connectors就可以理解就MySql的连接端。

MySql体系图大概讲解

第一层:MySql的Service端,首先可以看到我们Service最上面的Connection Pool。Connection Pool就相当于一个连接池,在这个连接池当中有很多组件模块。假设客户端发起一个连接,这时就会开启一个线程连接到我们的Mysql的连接池当中来执行请求,在MySql连接池当中我们还需要验证,连接最大数,缓存等操作。这就是我们的第一层连接层。

MySql体系图大概讲解

在我们的第二层实际上这一部分,这部分当中有很多组件。

  • 第一模块【Management Services & Utlities 】管理服务以及一些工具,专门负责我们的一些数据的备份于恢复。以及集群安全配置相关东西。
  • 第二模块【SQL Interface 】是SQL的一个接口,在这个里面我们可以去执行或封装对应的一些DML,DDL,以及存储过程触发器,存储函数视图等相关对象。
  • 第三模块【Parser】是一个解析器,这个解析器解析我们客户端发起的一个请求,客户端发过来的请求就是一个SQL语句,SQL语句就是要经过解析器解析并且相关的过来,解析完成后MySql内部还有一个过程。
  • 第四个模块【Optimizer】是一个优化器,解析完我们的SQL语句,MySql内部还要根据自己的优化器对SQL语句进行优化。优化完成后我们要对这块进行缓存的操作。
  • 第五个模块【Caches & Buffers】是一个缓冲池组件,我们要对刚才的语句进行查询一下,查询缓存当中是否有对应的数据,如果有对应的缓存的情况下,我们会直接返回数据回去,如果没有才会执行下面的操作。

MySql体系图大概讲解

第三层:Pluggable Storage Engines这层叫做存储引擎。Pluggable称之为插件式的。MySql当中的存储引擎有很多,比如5.5之前采用的是MyISAM,5.5以后默认的是InnoDB存储引擎。存储引擎我们可以根据需求不同选择不同的存储引擎进行存储。这是我们的第三层存储引擎层。

MySql体系图大概讲解

第四层就是我们的存储层,在我们操作MySql表结构数据的时候,不管是插入查询删除还是增加实际上就是我们操作File System文件系统。最终操作文件系统当中的文件,而这个文件就是落到我们的磁盘上。在文件当中除了操作系统以外,我们还要操作数据,索引信息,二进制,错误日志,慢查询日志等信息。

MySql采用的存储引擎MyISAM和InnoDB