上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
MySQL的逻辑架构
如果能在脑海中构建出一幅MySQL各组件之间协同工作的架构图,那么这将有助于你深入理解MySQL服务器。图1-1展示了MySQL架构的逻辑视图。
最上层的客户端所包含的服务并不是MySQL独有的,大多数基于网络的客户端/服务器工具或服务器都有类似的服务,包括连接处理、身份验证、确保安全性等。
第二层是比较有意思的部分。大多数MySQL的核心功能都在这一层,包括查询解析、分析、优化、以及所有的内置函数(例如,日期、时间、数学和加密函数),所有跨存储引擎的功能也都在这一层实现:存储过程、触发器、视图等。
第三层是存储引擎层。存储引擎负责MySQL中数据的存储和提取。和GNU/Linux下的各种文件系统一样,每种存储引擎都有其优势和劣势。服务器通过存储引擎API进行通信。这些API屏蔽了不同存储引擎之间的差异,使得它们对上面的查询层基本上是透明的。存储引擎层还包含几十个底层函数,用于执行诸如“开始一个事务”或者“根据主键提取一行记录”等操作。但存储引擎不会去解析SQL[1],不同存储引擎之间也不会相互通信,而只是简单地响应服务器的请求。
图1-1:MySQL服务器架构的逻辑视图