MySQL的逻辑架构

总体分层

连接层

是用来与客户端进行连接的一个服务,主要完成一些类似连接的处理,授权认证及相关的安全方案的处理,在该层上还引入了连接池的概念

服务层

提供核心的服务功能,如 SQL 接口,完成缓存的查询,SQL 的分析和 SQL 的优化部分及内置函数的执行,所有跨存储引擎的功能都在这一层实现,服务器会解析查询 SQL 并创建相应的内部解析器,并对其完成相应的优化,生成相应的执行操作,服务器还会查询内部的缓存,如果缓存的空间足够大,这样可以解决在大量读的操作环境中,能够很好的提升系统的性能

引擎层

存储引擎才是真正负责 MySQL 中数据的存储和提取,服务器通过 API 与存储引擎进行通信,不同的存储引擎提供的功能不同,可以根据自己的实际需求来进行选取

存储层

主要是将数据存储在运行的计算机文件系统之上,并完成与存储引擎的交互

逻辑架构图

逻辑架构组成

connect 连接层

  • Connection Pool:连接池

业务层

  • Mangement Service:备份、安全、复制、集群
  • SQL interface:存储过程、视图、触发器
  • Parser(解析器):查询事务、对象权限
  • Optimizer(优化器):自带的优化器,MySQL 自认为最优的形式去优化你的 SQL
  • Cache Buffers:缓存

可插拔式的存储引擎

常用的如 MyISAM,InnoDB,不同的存储引擎擅长的操作不同,也就是功能不同

File System 文件存储

MySQL 分层的好处

哪层出问题,就去找哪层,插件式的存储引擎,将查询处理和其它的系统任务以及数据的提取分离开来,可以根据业务的需求和业务的需要选择合适的存储引擎

posted @ 2020-10-29 10:45  BNTang  阅读(94)  评论(0编辑  收藏  举报