会员登录 | 会员注册 | 意见建议 | 网站地图

站长资源综合门户

当前位置:首页 > 站长学院 > 数据库 > 超越MySQL 对流行数据库进行分支

超越MySQL 对流行数据库进行分支

时间:2012-02-27 09:51:51   作者:   来源:   点击:

尽管MySQL是最受欢迎的程序之一,但是许多开发人员认为有必要将其拆分成其他项目,并且每个分支项目都有自己的专长。该需求,以及 Oracle 对核心产品增长缓慢的担忧,导致出现了许多开发人员感兴趣的子项目和分支。

简 介

MySQL 是历史上最受欢迎的免费开源程序之一。它是成千上万个网站的数据库骨干,并且可以将它(和 Linux®)作为过去 10 年里 Internet 呈指数级增长的一个有力证明。

那么,如果 MySQL 真的这么重要,为什么还会出现越来越多的核心 MySQL 产品的高端衍生产品?这是因为 MySQL 是免费的开源应用程序,所以开发人员总是可以获得其代码,并按照自己的想法修改代码,然后再自行分发代码。在很长的一段时间里,在开发人员自己的生产环境 中,没有任何值得信任的 MySQL 分支。但是,这种情况很快就发生了改变。有几个分支引起了许多人的关注。

本文将讨论受人们关注的三个流行 MySQL 分支:Drizzle、MariaDB 和 Percona Server(包括 XtraDB 引擎)。本文将简要介绍每个分支出现的原因及其目标,以及是否可在您自己的生产环境中使用它们。在本文结束时,您应该能够回答 “对我的环境来说,这些 MySQL 分支产品是否是一个好的解决方案?” 这样的问题。

为什么要进行分支?

为什么需要对 MySQL 进行分支?这是一个非常合理的问题。成千上万的网站依赖于 MySQL,并且对许多人来说,它似乎是一个很好的解决方案。但是,通常就是这样,适合许多人并不一定适合所有 人。这促使一些开发人员想要根据自己的需要开发出更好的解决方案。还有什么能比将良好的解决方案转换为完美的解决方案更好的呢?。

下面我们将介绍这些分支寻求改变的更多细节。一些分支认为 MySQL 变得太臃肿 了,提供了许多用户永远不会感兴趣的功能,牺牲了性能的简单性。如果人们对更精简的 MySQL 4 特别满意,那么为什么还要在 MySQL 5 中添加额外的复杂性呢?对于此分支来说,更好的 MySQL 分支应该更简单、更快捷,因此提供的功能也较少,但这样会使这些功能极其迅速地发挥作用,并且牢记目标受众,在本例中,目标受众是高可用性网站。

对于其他分支来说,MySQL 并没有提供足够多的 新功能,或者是添加新功能的速度太慢了。他们可能认为 MySQL 没有跟上高可用性网站的目标市场的发展形势,这些网站运行于具有大量内存的多核处理器之上。正如熟悉 MySQL 的人所知道的那样,MySQL 提供了两种存储引擎:MyISAM 和 InnoDB。这一分支认为这两种存储引擎都没有提供他们所需的内容,因此他们创建了一种非常适合其目标的新存储引擎。

此外,一些分支的最高目标是成为 MySQL 的替代产品,在这些产品中,您可以轻松地访问它们的分支,无需更改任何代码。该分支使用与 MySQL 相同的代码和界面,因此使过渡变得非常容易。但是,另一个分支声称它与 MySQL 不兼容,需要更改代码。每个分支的成熟度各不相同,一些分支声称已经准备就绪可以投入生产,而另外一些则声称目前自己还远达不到这一最高目标。

最后,关于 MySQL 在 Oracle 下将如何发展仍不太确定。Oracle 收购了 Sun,也收购了 MySQL,现在 Oracle 控制 MySQL 产品本身,并领导开发社区开发新的成品。由于 Oracle 已经有了一个商业数据库,因此人们担心他们可能没有足够的资源来使 MySQL 保持其领先地位。因此,许多分支也是这些潜在担心所产生的结果,他们担心 MySQL 作为领先的免费开源数据库提供的功能可能太少、发布周期太慢并且支持费用更昂贵。

XtraDB

XtraDB 是一款独立的产品,但它仍被认为是 MySQL 的一个分支。XtraDB 实际上是基于 MySQL 的数据库的一个存储引擎。XtraDB 被认为是已成为 MySQL 一部分的标准 MyISAM 和 InnoDB 的一个额外存储引擎。MySQL 4 和 5 使用默认的 MyISAM 存储引擎安装每个表。InnoDB 也是一个相对较新的存储引擎选择,在建立数据库时,数据库管理员和开发人员可以基于每个表选择存储引擎类型。两个存储引擎的主要区别是:MyISAM 没有提供事务支持,而 InnoDB 提供了事务支持。其他差别是许多细微的性能差别,与 MyISAM 相比,InnoDB 提供了许多细微的性能改进,并且在处理潜在的数据丢失时提供了更高的可靠性和安全性。似乎 InnoDB 是用于未来改进的更适合的存储引擎,因此从版本 5.5 开始,MySQL 已将默认存储引擎从 MyISAM 更改为 InnoDB。

分享到:

网友评论

推荐数据库

热门数据库