企业宣传,产品推广,广告招商,广告投放联系seowdb

你知道MySQL如何赶上PostgreSQL

Percona最近宣布了一篇文章,替MySQL出策动策,等候赶上PostgreSQL,不过Percona自身就存在利益关系,所以大家批评性了解,我依据自己的了解做了点改变。

MySQL相比PostgreSQL不是开源社区驱动的,早期MySQL还是很注重社区并取得了信赖,所以大公司也并不并不将其视为要挟。但到了Oracle收买MySQL后,状况就变动了,大公司特意是云服务提供商,将Oracle视为竞争对手,他们无法能给MySQL奉献代码。

而PostgreSQL由社区运营,PostgreSQL基金会是一个非营利组织,一切公司在PostgreSQL生态系统中都是对等的,奉献给PostgreSQL不会为竞争对手发明价值,社区在PostgreSQL名目方向上有更大的影响力,数百家小公司使PostgreSQL在世界范围内无处不在。

MySQL是经过GPLv2和商业容许证启动双重容许的,用户可以选用在GPLv2下经常使用MySQL,这要求一切基于MySQL的修正和衍生作品也必需放开源代码。不过,用户也可以购置Oracle提供的商业容许证,这样就可以在不地下源代码的状况下启动商业化。

以AWS Aurora来说,作为一个兼容MySQL的成功衍生版本,AWS可以基于MySQL的源代码创立自己的版本并启动商业化,但这通常是在云服务的方式下启动的,并不须要放开源代码给客户,而是将其作为服务提供。

而PostgreSQL则经过十分宽松的PostgreSQL容许证启动容许,一切人可以轻松地创立商业容许的PostgreSQL衍生版本或将其嵌入到商业容许的名目中,关于推行PostgreSQL十分有益。

关于Oracle必需还会坚持双重容许,只管市面上也有“Cloud Only”和“Open Core”这样的商业形式取得了成功,但关于Oracle来说,双重容许的形式更为间接。

社辨别三方面,比如关于我来说,就是用户社区的一份子,专一于经常使用,这方面MySQL的基数还是很不错的,但越来越多的新运行选用经常使用PostgreSQL。

奉献者社区,这方面PostgreSQL的奉献者社区愈增弱小,由于它有很多组织介入,而不是仅仅依托一家公司,他们会活期举行各类的优惠启动奉献,另外PostgreSQL的扩展属性也更容易繁难开发者对其启动奉献。

供应商社区,这方面MySQL就比拟单薄了,由于协助推行MySQL或者最终只是在为Oracle发明价值。

关于MySQL来说,Oracle可以被动与潜在的奉献者交换,举行一些优惠,让外部奉献者介入,分享他们的方案,并允许与MySQL社区开展方向分歧的奉献上班。

PostgreSQL被设计为可扩展的,领有少量弱小的扩展,而MySQL的扩展才干则相对有限,这种可扩展性使得PostgreSQL的翻新变得愈加容易。

但关于MySQL来说,选用了不一样的形式,可扩展或者并不是他的有些选项。

选用数据库是一项常年的赌注,由于改换数据库并不容易,选用数据库的时刻比如思索未来,思索随着期间的推移,你选用的数据库会满足未来的需求吗。

关于Oracle来说,曾经将许多开发重点转向专有和云专属的MySQL版本,不会太思索MySQL社区,这就是他的形式。

这里重点提到了,Percona Server for MySQL,他是一个齐全兼容MySQL的开源代替方案来代替MySQL,直白点就是fork版本,**是兼容性,为了防止与抢先(Oracle)的兼并老本过高。

那MariaDB怎样样呢?他走的路是齐全和Oracle MySQL宰割,提倡翻新,每个新版本和MySQL的偏离水平也越来越大。

MariaDB则做出了不同的掂量;有限度的翻新使其与MySQL的兼容性降落,每个新版本的偏离水平也越来越大。

MariaDB开局也是由MariaDB基金会控制,但他是有毛病的,尤其是在常识产权(IP)方面,特意是商标方面,它没有领有一切的常识产权,还是由一家公司(MariaDB公司)控制,存在存在商标垄断的疑问,和PostgreSQL的社区形式齐全不一样,并非“人人对等”。

目前MariaDB被K1公司收买,这为MariaDB的控制和商标一切权的变卦提供了时机,使其愈加凑近PostgreSQL的形式,但预计不会成为理想。

只管MariaDB基金会可以给MariaDB启动更名失掉齐全的控制,但失去了MariaDB的品牌,就等于失去了出名度。

既然说了那么多,percona为什么不走MariaDB早期想象的那条路呢?我团体感觉发不了大财,那就发点小财?

© 版权声明
评论 抢沙发
加载中~
每日一言
不怕万人阻挡,只怕自己投降
Not afraid of people blocking, I'm afraid their surrender