Mysql高级性能优化之逻辑架构(一)
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。
*MySQL逻辑架构:
*
总体分层:
1、连接层:
与客户端进行连接服务,主要完成了一些类似连接处理、授权认证及相关的安全方案。(在该层上引入了连接池的概念)。
2、服务器层:
提供核心的服务功能,所有跨存储引擎的功能都在这一层实现;(完成缓存的查询、sql的分析和优化部分及内置函数的执行)
服务器会解析查询并创建相应的内部解析权,并完成相对应的优化,生成相应的执行操作;
服务器还会查询内部缓存,如果缓存空间够大,可以解决大量读操作,能够很好的提升系统性能。
3、引擎层:
真正的负责mysql中数据的存储与提取,服务器通API与存储引擎(不同的存储引擎提供的功能不同,根据自己的需求选择,存储引擎后续会进行记录)进行通讯。
4、存储层:主要将数据存储在运行的计算机文件系统上,并完成与存储引擎进行交互。
逻辑架构图:
逻辑架构组成:
1、连接层:Connection Pool连接词
2、业务层:
(1)Mangement Service:备份、安全、复制、集群
(2)SQL interface:存储过程、试图、触发器
(3)Parse:查询事务、对象权限
(4)Optimizer优化器:自带优化器(mysql自认为最优的形式去优化)
(5)Cache Buffer:缓存
3、可拔插组件式存储引擎
常用的MylSAM,InnoDB,不同的引擎擅长的操作不同
4、File system文件存储
MYSQL分层的好处:
当某处发生问题的时候,我们能够快速的知道应该找哪一层;
插件式存储引擎,将查询处理和其他的系统任务以及数据的提取相分离;
可以根据业务需求选择合适的存储引擎。