频道栏目
读书频道 > 数据库 > Mysql > 深入理解MariaDB与MySQL
1.2.3 不同点
2015-12-10 13:40:12     我来说两句
收藏   我要投稿

本文所属图书 > 深入理解MariaDB与MySQL

本书讲解了MariaDB的诞生背景及设计目的,并通过与MySQL的比较使读者轻松理解MariaDB。本书内容涉及MariaDB 5 1~10 0的各个方面,讲解重点在于MariaDB 10 0的各种实用功能。此外,MariaDB与MySQL有着紧密的联  立即去当当网订购

MariaDB 与MySQL 目前在功能与性能上还没有什么太大不同,它们之间具有很好的兼容性,MySQL 服务器中的数据文件可以正常用于MariaDB。现在,二者最大的不同是看谁能够引领各自开源项目的发展。虽然当前差异并不大,但是随着Monty Program AB 与Oracle 不同的取向发展,相信未来会出现更多变化。

1. 许可证

我认为MariaDB 与MySQL 最大的不同可能在于,两者开源政策的方向以及软件许可证政策。从MySQL 社区版看,MariaDB 与MySQL 许可证没什么差别;但是从MySQL 的双许可政策(社区版与企业版)看,二者又表现出明显的差异。

MariaDB 的发布遵循GPL许可协议,客户端程序及库(Connector/J 与C Client API)遵循LGPL许可协议。

MySQL社区版与客户端程序及库(Connector/J 与C Client API)都遵循GPL许可协议,MySQL企业版遵循商业许可协议。

遵循GPL 与LGPL 协议的源码、库、可执行文件等都是开源共享的,但LGPL 许可协议的限制要比GPL 许可协议宽松一些。使用MySQL 服务器的源代码时要遵循GPL 许可协议,将MariaDB 或MySQL 源代码打包到商业软件并发布时,会受到很大影响。进行软件打包时,MySQL 客户端库文件是必需的部分。由于MariaDB 的客户端库文件遵循LGPL 许可协议,所以使用时更加自由、方便。

此外,MariaDB 的发布遵循GNU GPLv2 许可协议,且无单独的商业版本。由于MariaDB的源代码建立在Oracle MySQL 的源代码基础之上,这就限制了Monty Program AB 推出MariaDB 商业版。但对于使用MariaDB 的用户而言,这恰恰是MariaDB 的优点。

2. 存储引擎

从功能上说,MariaDB 与MySQL 最大的不同可能是存储引擎。从编写SQL 语句角度看,它们没有什么不同,但是MariaDB 与MySQL 存储引擎本身拥有不同用途。


 

像这样,由于MariaDB 与MySQL 内部使用不同存储引擎,所以两者的性能调优选项彼此不同。每个存储引擎都有各自的特点,它们也有不同的优缺点。

3. 功能

MariaDB 5.5 与MySQL 5.5 在功能上没有什么不同。MySQL 服务器中新增的功能用不了多久就会出现在MariaDB 中。MariaDB 从MySQL 分离出来的时间并不长,它们添加功能的先后顺序几乎是一样的。MariaDB 与MySQL 各自拥有的独立功能没有多少,如表1-3 所示。大多数时候,它们的区别只是同一功能被添加到哪个版本的MariaDB 与MySQL 而已。当然,也有些功能是MySQL 支持而MariaDB 社区版不使用的。



 

4. 优化器

MariaDB 与MySQL 服务器的优化级别是不可见但又不可忽视的部分。优化部分在MariaDB 5.3 中发生了很大变化,它的优化选项被应用于MySQL 5.6、5.7 版本。由于MySQL5.7 尚未发布A,下面仅比较MySQL 5.6 与之前几个版本的主要优化选项与功能。



 

A 原书出版于2014 年4 月。——编者注

前面讲解MariaDB 与MySQL 优化器的不同时,并未涉及代码内部,仅对易觉察的部分进行了简单的介绍。从介绍可知,MariaDB 5.5 中的优化选项被应用于MySQL 5.6,增强了对于子查询与派生表创建查询的优化。以上内容将在后面通过示例逐一讲解。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.2.2 相同点
下一篇:1.2.4 各版本间的兼容性
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站