=================
== Time Stream ==
=================
一个小学生

MySQL体系架构简介

MySQL

MySQL逻辑架构可以分为三层:应用层、MySQL服务层、存储引擎层。

MySQL架构体系如图:

MySQL-Architecture

  • 连接池组件
  • 管理服务和工具组件
  • SQL接口
  • SQL解析器
  • 查询优化器
  • 缓存组件
  • 存储引擎,插件式表存储引擎
  • 物理文件

应用层

应用层也就是连接池组件,主要分为:

  • 连接处理,使用线程池
  • 用户鉴权,校验用户名密码
  • 安全管理,判断用户的权限,看用户有哪些可执行的操作

MySQL服务层

  • 管理服务和工具组件,提供数据库管理功能:备份和恢复、安全管理、复制管理、集群管理、分区分库分表管理、元数据管理
  • SQL接口,接收用户的SQL命令并处理:DML、DDL、存储过程、视图、触发器
  • SQL解析器,解析查询语句,生成语法树。
  • 查询优化器,对查询语句进行优化,选择合适的索引等。
  • 缓存,提高查询效率。

存储引擎层

  • 存储引擎,与文件打交道的子系统,是插件式的表存储引擎。
  • 物理文件,包括:redolog、undolog、binlog、errorlog、querylog、slowlog、data、index等。