从整体上来说,MySQL的体系结构可以分为三层。最上层的负责处理客户端的连接请求。包括连接处理、授权认证、安全等;第二层是MySQL的核心层,作为一个数据库,最基本,最核心的功能都在这一层。这一层的主要功能有,查询、分析优化和缓存;第三层则包含了存储引擎。一般来说,存储引擎负责数据的存放和提取。存储引擎更加面向底层,负责和底层的文件系统的交互。
MySQL的特色主要体现在第三层,MySQL的存储引擎为插件式存储引擎,可以按需选择合适自己业务的存储引擎。
下面简要介绍一下MySQL体系结果各个部分的主要功能:
l 连接器:负责响应用户请求,验证用户的合法性。每个客户端的连接都会在服务器进程中拥有一个线程,这个连接的查询只会在这个单独的线程中执行,该线程只能轮流在某个CPU核心或者CPU中运行。服务器的线程池负责缓存线程,因此不需要为每个新建立的连接建立或者销毁线程。
l 表管理器:负责创建、读取或修改表定义文件。
l 表定义模块:负责表的创建、删除、重命名、更新或插入之类的操作。
l 表维护模块:负责表的检查、修改、备份、恢复、优化及解析。