background image

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 实际上是基