MySQL存储引擎概述
时间:2014-11-5
MyISAM存储引擎是MySQL默认的存储引擎,也是目前Mysql使用非常广泛的存储引擎之一,它的前身就是我们在MySQL发展历程中所提到的ISAM,是ISAM的升级版本,其实在MySQL最开始发行的时候只有ISAM存储引擎,甚至当时的MySQL可以说还没有存储引擎的这个概念,早期MySQL的架构中没有sql layer和storage engine layer这两个结构清晰的层次,当时不管是理解代码还是系统架构,对于开发者来说都很痛苦的一件事情,到后来,MySQL意识到须要更改架构,将前端的业务逻辑和后端数据存储以清晰的层次结构拆分开,同时对ISAM做了功能上面的扩展和代码的重构,这就是MyISAM存储引擎的由来.
在MySQL5.1之前的版本中,存储引擎必须在MySQL安装的时候和MySQL一起被编译并同时被安装,也就是说,5.1版之前的版本中,虽然存储引擎层和SQL层的偶合已经非常少了,基本上完全是通过接口来实现交互的,但是这两层之间仍然没办法分享,即使在安装的时候也是一样.
但是从MySQL5.1开始,MySQL AB对其结构体系做了较大的改造,并引入了一个新的概念,插件式存储引擎体系结构,MySQL AB在改造架构的时候,让存储引擎层和SQL层各自为独立,偶合更小,甚至可以做到在线加载新的存储引擎,也就是完全可以将一个新的存储引擎加载到一个正在运行的MySQL中,且不影响MySQL的正常运行,插件式存储引擎的架构,使得存储引擎的加载和移出更为灵活方便,也使自行开发存储引擎更为方便简单,在这一点上,目前还没哪个数据库管理系统能够做到.