• 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 协议开放全部源代码,社区和客户可获得坚固、稳定的数据库。