数据库技术   

不使用MySQL数据库的5个客观理由

时间:2012-03-07 10:55:00

        在我们实际工作中,往往会能听到很多关于不使用MySQL数据库的理由,当然也有一些是对MySQL(和PHP搭配之最佳组合)的误解,下面我将描述的是5个不使用MySQL(和PHP搭配之最佳组合)的响亮理由。

  首先我们要知道,或许有一项技术存在很多理由让我们可以选择使用它,但是让我们不使用它往往只要有一个理由就足够了。选择一个软件产品同样也是如此。

  一、MySQL(和PHP搭配之最佳组合)的授权方式

  MySQL(和PHP搭配之最佳组合)采用双重授权(Dual Licensed),它们是GPL和MySQL(和PHP搭配之最佳组合) AB制定的商业许可协议。

  如果你在一个遵循GPL的自由(开源)项目中使用MySQL(和PHP搭配之最佳组合),那么你可以遵循GPL协议使用MySQL(和PHP搭配之最佳组合)。然而,如果你的项目不是在GPL协议下的话,你必须为使用MySQL(和PHP搭配之最佳组合)来支付许可费用,或者你可能因为这个因素而将你的项目改为遵循GPL,那么你需要处理因此带来的更多的支持工作,这有可能会带来成本上的提高。在这种情况下,一些软件发行商可能倾向于选择别的开源数据库,例如遵循BSD授权的PostgreSQL。

  二、产品成熟性

  到2009年,甲骨文的数据库Oracle(大型网站数据库平台)已经诞生了30周年,而MySQL(和PHP搭配之最佳组合)却连它的一半时间都没有。微软的sql server(WINDOWS平台上强大的数据库平台)仅仅比MySQL(和PHP搭配之最佳组合)大两年,但是sql server(WINDOWS平台上强大的数据库平台)的发布是建立在Sybase的基础上,那时候Sybase已经诞生了6年的时间。至于其他值得关注的开源数据库,PostgreSQL将在2009年达到20岁的生日。虽然MySQL(和PHP搭配之最佳组合)并不是市场上最年轻的数据库,但是却有更多成熟的数据库可供我们选择。

  当然,或许这并不是我们拒绝MySQL(和PHP搭配之最佳组合)的一个有说服力的理由,但是对于一些比较守旧的IT经理来说,在为一些关键业务选择平台的时候,平台的成熟性却是必须要考虑的一个因素,在这一点上,MySQL(和PHP搭配之最佳组合)无疑毫无优势。

  三、功能设置成熟性

  要想在MySQL(和PHP搭配之最佳组合)与其他数据库之间进行一个面面俱到的功能设置对比,并不是一件容易的事情。随着新软件版本的发布或一些补丁的推出,曾经的功能列表可能会迅速变得过时了。而且,有些功能对有的应用程序非常重要,但是对别的应用程序则不一定。

  有的时候,一些缺失的功能可以通过别的办法来实现,例如,在MySQL(和PHP搭配之最佳组合) 4.1以前,你可以通过使用join方法来替代子查询的功能。在MySQL(和PHP搭配之最佳组合) 5.0中,大多数关系型数据库所要求的功能已经都具备,但是我们却有理由怀疑这些功能在MySQL(和PHP搭配之最佳组合) 5.0中的成熟性。充其量它们在MySQL(和PHP搭配之最佳组合)中被支持的时间也就一年左右,而在其他关系型数据库中则已经存在了近10年的时间。

  四、认证的作用

  尽管MySQL(和PHP搭配之最佳组合)也有一个认证培训项目,但是它的培训却要比Oracle(大型网站数据库平台)或MS-SQL相差很远。尽管有的使用MySQL(和PHP搭配之最佳组合)的用户表示,MySQL(和PHP搭配之最佳组合)很容易上手,但是对于具有企业级数据库需求的用户来说,无疑希望员工得到系统、有深度的培训,显然MySQL(和PHP搭配之最佳组合)在这一点上还做得很不够。

  一个相关的问题是第三方支持的资格问题,尽管直接来自厂商的支持和服务可以一定程度上减缓这个问题,但是,对于有的企业来说,通过强有力的本地化支持显然更有吸引力。

  五、关于可扩展的看法

  关于这个理由我把它放在最后一位。在很多业界专家中有一个相当一致的观点:MySQL(和PHP搭配之最佳组合)不能很好的扩展。关于这点可能有很大的分歧,争论的焦点主要集中于水平可扩展性和垂直可扩展性上。MySQL(和PHP搭配之最佳组合)则更倾向于垂直可扩展性。

  据我的观察,现在有一个趋势,那些经过正式培训的数据库管理员DBA更倾向于选择一个专有关系数据库,例如Oracle(大型网站数据库平台)。对于一些具有专门数据库管理员的比较大的环境来说,MySQL(和PHP搭配之最佳组合)很难得到宠爱,这时候,关于MySQL(和PHP搭配之最佳组合)是否真的具有良好的可扩展性的争论已经没有意义。

  不可否认,MySQL(和PHP搭配之最佳组合)也是一个很好的关系型数据库,或许在技术上它与其他领先的关系数据库相差并不大,或不具有劣势。但是,对于一些企业环境来说,MySQL(和PHP搭配之最佳组合)显然不具有优势。

 

来源:PHPchina

Notice: Constant RUNTIME already defined in /srv/html/srccn/news/config.php on line 15 Notice: Constant ROOTDIR already defined in /srv/html/srccn/news/config.php on line 16 Notice: Constant SITEDIR already defined in /srv/html/srccn/news/config.php on line 17 Notice: Constant DATAURL already defined in /srv/html/srccn/news/config.php on line 20 Notice: Constant VERSION already defined in /srv/html/srccn/news/system/kernel.php on line 17 Notice: Constant COREDIR already defined in /srv/html/srccn/news/system/kernel.php on line 18 Fatal error: require(): Cannot redeclare class mysql in /srv/html/srccn/news/system/kernel.php on line 22