很多人都用过MySQL,可能有些人对MySQL的结构和底层比较模糊。这里简单介绍下。
MySQL架构
首先看下一个随处可见的架构图,也是大家对MySQL可插拔式存储引擎吹捧的原因
从图中可以看出大致分八个组件,这里简单说明下:
组件 | 功能 | 说明 |
---|---|---|
Connectors | 连接客户端 | |
Management Service & Utilities | 系统管理控制工具、备份、灾难恢复、分区管理、集群等 | |
Connection Pool | 连接池:权限管理、安全、连接管理、缓存等 | |
SQL Interface | 接受来自客户的命令,DML、DDL、存储过程、视图、触发器等 | |
Parser | 解析器:对SQL语句进行语法分析、词法分析,生成语法树 | |
Optimizer | 优化器:在执行前对SQL进行优化,并生成执行计划 | |
Cache & Buffer | 查询缓存:默认关闭,8.0版本已经移除 | |
Pluggalbe Storage Engines | 插件式存储引擎:管理内存、索引,与文件系统打 |