- MySQL 拥有分层的架构
- 上层:服务器层的服务和查询执行引擎
- 下层:存储引擎。
- 有用很多不同作者的插件 API,但存储引擎 API 是最重要的。
- MySQL 最初基于 ISAM 构建(后被 MyISAM 取代),后续陆续增加更多的存储引擎和事务支持。
- 历史遗留的怪异行为,如:执行
ALTER TABLE
时,MySQL 提交事务的方式是由于存储引擎的架构直接导致的。并且数据字典也保存在 .frm 文件中 - 这并不是说 InnoDB 会导致
ALTER
会变成非事务。对于 InnoDB 来说,所有操作都是事务。
- 历史遗留的怪异行为,如:执行
- 存储引擎的 API 架构也存在一些缺点:
- 在 MySQL 5.6 和 5.1 版本有太多的存储引擎可选择,InnoDB 对于 95% 以上的用户来说是最佳选择,其他的存储引擎只是让事情变得更加复杂。
- Oracle 收购 InnoDB ,之后收购 MySQL,在同屋檐下,两者都是有利的。
- InnoDB 和 MySQL 直接可更快的协同发展;
- MySQL 依然依靠基于 GPL 协议开放全部源代码,社区和客户可获得坚固、稳定的数据库。