技术开发 频道

PSQL VS MySQL 如何选择开源数据库

  MySQL特性和功能

  MySQL被誉为是最流行的开源数据库,从一开始,MySQL就被设计为适合网站快速顺序索引方法(ISAM)的数据存储引擎,这种工作负载的一大特点就是有许多小型查询,于是催生了查询缓存,MySQL集群等提高MySQL性能的技术,MySQL集群允许数据库跨多台物理服务器部署,实现负载均衡。

  PostgreSQL不是唯一允许通过外部扩展增加数据库功能的开源数据库,MySQL最大的优势之一就是它的可插入式存储引擎,MySQL默认采用的是MyISAM存储引擎,为读操作频繁的环境提供更好的性能,而InnoDB存储引擎更适合写密集型事务环境。

  此外,还有许多第三方存储引擎,如Brighthouse和DB2,这种灵活性允许管理员根据每个表的需求调整MySQL实例,例如,对一个读操作频繁的表,如国家代码表,使用MyISAM存储引擎,对于事务型表,如销售订单表,则使用InnoDB存储引擎。

  PostgreSQL和MySQL在各种应用场合都得到了广泛的使用,例如,PostgreSQL一向以强力支撑事务密集型企业应用而著名,但许多网站也用它来支撑Web应用程序,相反,MySQL一直都是Web应用程序的首选数据库,但它在事务型企业应用系统中也得到了大量使用。

  社区为王

  PostgreSQL和MySQL最大的不同可能不在技术,而是在社区上,开源项目从本质上来讲,要由社区开发人员参与和贡献,项目才能保持活力,开源社区有两种不同的类型。

  首先,有独立自主社区型纯开源数据库项目,PostgreSQL是这种最古老,最大的独立开源数据库社区,这种社区的好处是真正独立于厂商,不受厂商控制。

  第二种开源社区是由厂商控制的,这种开源项目往往同时有社区免费版和商业付费版,MySQL就是一个例子,MySQL项目最初是由MySQL AB资助和控制的,所有MySQL核心开发人员和架构师都由MySQL AB出资雇佣,被Sun收购后,MySQL社区就被Sun控制,现在又被Oracle控制。

  共享许可

  许可,或源代码允许如何修改和共享,这可能是真正影响开源数据库选择的决定性因素,PostgreSQL许可是仿照BSD许可模式的,它允许修改代码,并根据修改者自愿是否以开源形式再发布,这种开放式许可对想使用PostgreSQL作为他们解决方案一部分的软件厂商来说是最理想的,因为PostgreSQL许可不强制衍生解决方案也开源,软件厂商可以选择开放他们的源码,也可以不开放。

  MySQL是通过GNU GPL共享,并由Oracle控制,GNU GPL更加开放,它鼓励免费共享代码,它防止了采用GNU GPL共享的代码后,也被迫采用源作者GNU GPL许可共享的缺陷。

  小结

  虽然PostgreSQL和MySQL同属开源数据库,但相同点也可能仅限于此,重叠的地方很少,它们都有自己鲜明的特性,相对于昂贵的专有数据库产品,它们都是高品质的开源数据库,尤其是在当今经济不景气的环境下,选择优秀的开源数据库不失为为企业节省成本的一种好方法。

  原文出处:http://www.eweek.com/c/a/Linux-and-Open-Source/PostgreSQL-vs-MySQL-How-to-Select-the-Right-OpenSource-Database/

0
相关文章