对
MySQL 和一些流行数据库的介绍
尽管 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 实际上是基