MySQL服务器采用了模块化风格。

图16.1:MySQL体系结构

MySQL architecture

存储引擎负责管理数据存储,以及MySQL的索引管理。通过定义的APIMySQL服务器能够与存储引擎进行通信。

每个存储引擎均是1个继承类,每个类实例作为处理程序而被引用。

针对需要与特殊表一起工作的每个线程,处理程序是在1个处理程序的基础上实例化的。例如,如果3个连接全都在相同的表上工作,需要创建3个处理程序实例。

一旦创建了处理程序实例,MySQL服务器将向处理程序发送命令,以便执行数据存储和检索任务,如打开表、操纵行和管理索引等。

能够以累进方式创建定制存储引擎:开发人员能够以只读存储引擎启动,随后添加对INSERTUPDATEDELETE操作的支持,甚至能够增加对索引功能、事务和其他高级操作的支持。