1、Mysql体系结构

在深入了解Mysql的技术之前,先看一下Mysql的体系结构,在网上找了一幅图,没找到具体的出处:
mysql体系结构图.png

由图可知,Mysql体系分为4层:连接层、Mysql服务、存储引擎、具体的文件系统。

1.1、连接层

包括了各种语言的驱动代码,用来和mysql进行交互。

1.2、Mysql服务

包括6个模块:连接池、管理服务和工具组件、SQL接口、解析器、优化器、缓存。

  • 1、连接池
    管理用户的连接,池化技术都是为了节省资源。
  • 2、管理服务和工具组件
    一些工具,比如备份恢复、Mysql复制、集群。
  • 3、SQL接口
    接受用户的SQL命令,并返回用户需要的结果。
  • 4、解析器
    解析SQL,做一些权限校验,语法结构检测解析。
  • 5、优化器
    对查询进行优化,将SQL语句改成机器最喜欢的样子。
  • 6、缓存
    如果查询命中缓存,则直接返回,不再进行后续的物理查找。

1.3、存储引擎

管理数据的引擎,数据在关系型数据库中是以表的形式存储,所以存储引擎也是以表来定义,一个库中,
每个表的类型可以不同。插件式存储引擎也成为表类型,常用的如InnoDB、MyISAM等。

1.4、底层文件系统

底层物理文件包括了日志文件、数据文件、配置文件、pid、socket文件等。

通过上面的介绍,对Mysql有了一个大概的印象,下一篇简单的看看常用的存储引擎。

tencent.jpg