MySQL的体系结构:
Paste_Image.png ###第一层为客户端。(代表了各种可以通过mysql连接协议连接到mysql的客户端,比如说:PHP,JAVA,C API,.NET以及ODBC,JDBC等。)这一层主要完成连接处理,授权认证,安全等功能。连接成功的客户端会在服务器的进程中有一个线程,连接的查询只会在登陆的线程中进行执行。###第二层为MySQL服务器。大多数的mysql的核心服务都在这一层中,包括:连接管理器,查询缓存,查询解析,查询优化器。所有跨存储引擎的功能,都是在这一层实现的。实现了与存储引擎无关的特性,例如Select语句:如何从文件中获得我们所要查询的数据,这个具体的实现的方式是由下一层存储引擎层来实现的。(这是MySQL的核心部分。通常叫做 SQL Layer。在 MySQL据库系统处理底层数据之前的所有工作都是在这一层完成的,包括权限判断, sql解析,执行计划优化, query cache 的处理以及所有内置的函数(如日期,时间,数学运算,加密)等等。各个存储引擎提供的功能都集中在这一层,如存储过程,触发器,视图等。)###第三层:存储引擎层。通常叫做StorEngine Layer ,也就是底层数据存取操作实现部分,由多种存储引擎共同组成。它们负责存储和获取所有存储在MySQL中的数据。就像Linux众多的文件系统一样。每个存储引擎都有自己的优点和缺陷。服务器是通过存储引擎API来与它们交互的。这个接口隐藏了各个存储引擎不同的地方。对于查询层尽可能的透明。这个API包含了很多底层的操作。如开始一个事物,或者取出有特定主键的行。存储引擎不能解析SQL,互相之间也不能通信。仅仅是简单的响应服务器的请求。注意:存储引擎是针对于表的而不是针对于数据库的(一个库中的不同表可以使用不同的存储引擎)阅读更多:http://www.cnblogs.com/fanxuanhui/p/6189325.html
网友评论