mysql存储引擎概述
作者:佚名 时间:2014-11-05
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的正常运行,插件式存储引擎的架构,使得存储引擎的加载和移出更为灵活方便,也使自行开发存储引擎更为方便简单,在这一点上,目前还没哪个数据库管理系统能够做到.