本文讨论了MySQL许可(是的,它有一个商业版本)以及免费的替代方案是如何堆积起来的。
MySQL的商业许可
在Oracle收购MySQL之前,就有一个面向商业市场的企业版本。无论是由于对术语的不正确理解,还是由于虚假宣传,这有时意味着,如果您正在运行一个以盈利为目的的应用程序,例如基于订阅的服务或向使用平台的用户收费,那么您需要获得企业版本。
遗憾的是,这不是真的。但要注意的是,如果你有任何疑问,需要咨询律师,这里有一份关于何时适用广告、何时不适用的简短401条款
用例的商业?
您正在创建一个使用MySQL作为嵌入式安装的闭源应用程序
您正在开发一个闭源商业应用程序,它连接到MySQL来存储数据
您正在开发一个商业应用程序,并将与您的应用程序一起发布MySQL。但是,商业应用程序代码也随二进制代码号一起发布
您正在开发一个免费的开源应用程序,并将包括接口代码/驱动程序为MySQL与您的应用程序编号
关键在于如何使用MySQL。如果您只是在MySQL中存储信息并与数据库系统交互,那么违反GPL许可并不算数。
叉
大约在MySQL 5.0/5.1发布时,引入了Percona服务器。在此之后,MySQL的一些原始作者和顶级开发人员(他们公开对Oracle收购Sun Microsystems表示不满,因为Sun之前收购了MySQL)也发布了MariaDB 5.1。
Percona服务器和MariaDB都是MySQL的“完全替代”。这意味着在几乎所有的用例中,如果安装手册要求安装MySQL,那么您可以部署MySQL/MariaDB/Percona而不会遇到任何问题。
你知道吗?
MySQL和MariaDB是根据RDBMS的主要作者——Ulf Michael Widenius?
让我们来谈谈这些叉,当你可能需要选择一个在另一个。
MariaDB
据它的创建者说,MariaDB是MySQL的一个开源替代品,可以与社区一起开发,而且永远是免费的。开发人员打算让MariaDB来代替他们。这意味着您可以卸载MySQL并安装MariaDB,而无需更改任何代码。为了简化这一点,他们甚至将MariaDB版本命名为MySQL版本。MySQL 5.1可以被MariaDB 5.1等所取代。
然而,自从MariaDB 5.5之后,情况发生了变化。MariaDB 10.0是基于MySQL 5.6的,但并不是所有的MySQL 5.6特性都是导入的,导致主要的版本号改变。MariaDB的最新版本(撰写本文时)于2018年5月25日发布,第10.3版。
MariaDB每月向上游贡献一部分,这使得MySQL能够获得MariaDB工程师编写的任何新开发。
MariaDB支持和使用的存储引擎包括InnoDB (MySQL使用)、XtraDB (Percona创建)和ColumnStore(用于处理pb级数据)
著名机构使用MariaDB
Wikimedia/Wikipedia(第一个迁移并报告性能更好的大型站点之一)
谷歌
Mozilla
Percona
Percona服务器是MySQL最早的分支之一,它试图尽可能接近MySQL版本,同时添加了一些特性,比如XtraDB存储引擎,它的性能优于InnoDB。当Oracle获得Percona的一个特性时,Percona团队删除了他们的实现,代之以MySQL的实现,使Percona与MySQL 100%兼容
Percona的重点是提高服务器的性能和可用性。我已经提到了XtraDB引擎,另一个突出的特性是可以进行在线备份并执行在线表导入/导出,而不需要对应用程序进行任何停机。Percona还导入了仅在MySQL企业中可用的特性,如PAM身份验证。
正如我前面提到的,Percona代码接近于MySQL,这意味着他们发布基于MySQL的新版本的速度要比MySQL快
MySQL 5.7在2015年10月21日发布,Percona 5.7在2016年2月23日发布。基于MySQL 5.7的MariaDB版本是10.2,于2017年3月23日发布,比Percona晚了13个月。最新版本(本文发布时)是5.7版,于2018年4月24日发布。
著名的机构使用Percona
Groupon
Yelp
英国广播公司
选择合适的数据库
我希望我能告诉你那是最好的,但是没有。你是否选择其中之一取决于你需要什么。
去找MariaDB吧
您正在寻找DB技术领域的最新发展,并希望在MySQL发布之前升级特性
您需要安全补丁来更快地推出
您需要支持各种存储引擎的开箱即用
去找Percona if
你想要更快的查询响应时间(MariaDB 10.2默认返回到InnoDB而不是XtraDB存储引擎)
您希望减少维护时间和诸如在线备份之类的功能
你希望你的数据库尽可能接近MySQL
他们也尝试过…
Drizzle来自MySQL的6.0开发分支。创建它是为了构建一个更精简和(希望如此)更快的MySQL版本。这项工作始于2008年年中,得到了Canonical、谷歌、Red Hat甚至Percona等公司的支持。最后一个稳定的分支是2012年9月的7.2.4版本。
WebScaleSQL是由Facebook、谷歌、LinkedIn和Twitter等公司组成的一个联盟创建的,目的是构建一个可以很好地扩展和轻松处理来自多个服务器的tb级数据的数据库。WebScaleSQL的卖点是提供一个集中式的开发结构,用于在大规模部署时扩展MySQL。
WebScaleSQL网站在2016年12月表示,由于原始投稿公司之间的差异,他们将不再投稿。GitHub项目的最后提交日期是2015年7月。
OurDelta是作为MySQL 5.0的增强而开发的,它的基本原则是,实际的生产环境需要比MySQL推出时更快地添加特性。通过更好地将二进制打包到不同的Linux版本,它允许在更多的环境中进行测试。然而,所有这些增强都被整合到Maria DB 5.1中
总结
MariaDB旨在提供可伸缩性、多服务器复制和优化查询。另一方面,Percona专注于高可用性和比普通MySQL更快地获得数据。它们都是MySQL的很好的替代品,并且拥有一个优秀而活跃的开发人员和支持社区。
(转载:www.idcew.com)