大多数数据库管理员都希望MariaDB只是作为MySQL的一个branch,这样就可以轻松地在两者之间进行迁移。但从最新发布的几个版本来看,这种想法是不现实的。MariaDB实际上是MySQL的一个fork,这意味着在它们之间进行迁移需要考虑很多东西。
存储引擎MariaDB比MySQL支持更多的存储引擎类型。但话说回来,数据库可以支持多少个存储引擎并不重要,重要的是哪个数据库可以支持适合你需求的存储引擎。
MariaDB支持的存储引擎包括:XtraDB、InnoDB、MariaDB ColumnStore、Aria、Archive、Blackhole、Cassandra Storage Engine、Connect、CSV、FederatedX、Memory、Merge、Mroonga、MyISAM、MyRocks、QQGraph、Sequence Storage Engine、SphinxSE、Spider、TokuDB。
MySQL支持的存储引擎包括:InnoDB、MyISAM、Memory、CSV、Archive、Blackhole、Merge、Federated、Example。
在Linux上安装当你在某些Linux发行版上安装MySQL时,最后可能安装的是MariaDB,因为它是很多(不是全部)Linux发行版的默认设置。
Red Hat Enterprise/CentOS/Fedora/Debian发行版默认会安装MariaDB,而其他发行版(如Ubuntu)默认安装MySQL。
云平台上的可用性MariaDB可作为运行在Amazon Web Services(AWS)、微软Azure和Rackspace Cloud上的服务。
MySQL在上面提到的三个平台上也是可用的,同时还可以作为托管服务在谷歌云服务平台上运行。
因此,如果你正在使用谷歌云平台,并希望云提供商为你管理服务,那么可以考虑使用MySQL,除非你希望自己安装和管理MariaDB实例。
许可MariaDB采用了GPL v2许可,而MySQL提供了两个许可选项——GPL v2(用于社区版)和企业许可。
MySQL的两个许可之间的主要区别在于可用的功能和支持服务。用户可以使用MariaDB的所有功能,但对于MySQL来说并非如此。MySQL的社区版不包含线程池等功能,而这些功能会对数据库和查询性能产生重大影响。
发布频率和更新通常,MariaDB的发布频率比MySQL更频繁。太高的发布频率既有利也有弊。从好的方面来说,用户可以更及时地收到功能和错误修复。从不好的方面来说,为了让MariaDB保持最新的状态,需要更多的工作量。
技术支持MySQL的支持团队(包括MySQL开发人员和支持工程师)为客户提供全天候服务。甲骨文提供了多种支持选项,包括扩展支持、持续支持和高级支持,具体取决于客户的要求。MariaDB支持团队的支持工程师包括了MariaDB和MySQL数据库专家(因为很多功能最初是由MySQL团队开发的),他们为生产系统提供全天候的企业级支持。
正在进行中的开发MySQL的开发者主要是甲骨文的MySQL团队,而MariaDB开发通过公开投票和邮件列表讨论的方式进行。此外,任何人都可以向MariaDB提交补丁,MariaDB开发团队会考虑将这些补丁添加到主代码库中。因此,从某种程度上说,MariaDB是由社区开发的,而MySQL主要由甲骨文开发。
结论好吧,我们无法为你做出决定。我们能做的就是有针对性地问你一些问题,然后你自己做出决定:
你是否分别基于这两个数据库对你的产品性能做过测试?哪一个表现更好,为什么?
你是否打算使用其中一个数据库专门提供的功能?
你是否打算使用其中一个数据库专门提供的数据库引擎?
能够对数据库的开发过程产生影响对你来说有多重要?能够参与下一个功能变更投票对你来说有多重要?
你是要为企业版本付费还是使用社区版?社区版的功能是否能够满足你的需求?
你的操作系统是否默认支持你所选的数据库?要部署它需不需要很多工作量?
你使用的是哪个云提供商?他们是否提供托管服务,其中包括你选择的数据库?
你是否计划将来从一种数据库类型迁移到另一种数据库类型?如果是这样,你是否考虑过兼容性和复制方面的问题?
如果你能回答好这些问��,可能就很清楚哪个数据库更适合你。
英文原文:https://www.eversql.com/mariadb-vs-mysql/
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx