不使用MySQL数据库的五个给力理由解析

 更新时间:2011年03月06日 15:45:13   作者:  
众所周知,MySQL数据库虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。
在我们实际工作中,往往会能听到很多关于不使用MySQL数据库的理由,当然也有一些是对MySQL(和PHP搭配之最佳组合)的误解,下面我将讲述的是5个不使用MySQL(和PHP搭配之最佳组合)的响亮理由。

首先我们要知道,或许有一项技术存在很多理由让我们可以选择使用它,但是让我们不使用它往往只要有一个理由就足够了。选择一个软件产品同样也是如此。 MySQL数据库虽然应用很广泛,受到大家的青睐,但MySQL数据库也有负面的作用,下面就介绍五个不适用 MySQL数据库的给力理由。

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

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

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

2、产品成熟性

到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搭配之最佳组合)无疑毫无优势。

3、功能设置成熟性

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

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

4、认证的作用

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

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

5、关于可扩展的看法

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

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

不可否认,MySQL(和PHP搭配之最佳组合)也是一个很好的关系型数据库,或许在技术上它与其他领先的关系数据库相差并不大,或不具有劣势。但是,对于一些企业环境来说,MySQL(和PHP搭配之最佳组合)显然不具有优势。 所以不要盲目随大流,也要根据其功能性能的好坏去选择,对MySQL数据库的选用也不是说一定不好,只是在上面这五点上做的不是很好,其他方面还是值得肯定的。

相关文章

  • Mysql使用存储过程快速添加百万数据的示例代码

    Mysql使用存储过程快速添加百万数据的示例代码

    这篇文章主要介绍了Mysql使用存储过程快速添加百万数据,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • MySQL用limit方式实现分页的实例方法

    MySQL用limit方式实现分页的实例方法

    在本篇文章中小编给大家整理了一篇关于MySQL用limit方式实现分页的实例方法,有需要的朋友们可以参考学习下。
    2020-01-01
  • MySQL InnoDB架构的相关总结

    MySQL InnoDB架构的相关总结

    InnoDB存储引擎架构作为MySQL最常用的存储引擎,每个后端程序员都应有所了解,本文将具体讲述MySQL InnoDB架构的相关知识,感兴趣的朋友可以参考下
    2021-05-05
  • Mysql字符集utf8和utf8mb4详解

    Mysql字符集utf8和utf8mb4详解

    文章介绍了MySQL中utf8和utf8mb4两种字符集的区别,包括编码方式、存储空间、索引长度以及支持的Unicode字符范围,同时,通过创建两个表并插入数据进行存储长度的比较,验证了上述理论
    2024-12-12
  • mysql8.0 .ibd文件恢复表结构的实现

    mysql8.0 .ibd文件恢复表结构的实现

    本文主要介绍了mysql8.0 .ibd文件恢复表结构的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-10-10
  • MySQL触发器自动智能化的数据维护

    MySQL触发器自动智能化的数据维护

    这篇文章主要介绍了MySQL触发器自动智能化的数据维护,触发器,就是一种特殊的存储过程。触发器和存储过程一样是一个能够完成特定功能、存储在数据库服务器上的SQL片段
    2022-07-07
  • CentOS7.5 安装 Mysql8.0.19的教程图文详解

    CentOS7.5 安装 Mysql8.0.19的教程图文详解

    这篇文章主要介绍了CentOS7.5 安装 Mysql8.0.19的教程,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • MySQL关联查询Join的实现原理和优化建议

    MySQL关联查询Join的实现原理和优化建议

    在平时的开发过程中,大家应该经常会用到join进行多个表的之间的关联查询,但是如果使用不合理的话,会导致查询性能下降,本文就MySQL中的关联查询的实现原理以及一些优化建议等内容做一个讲解,需要的朋友可以参考下
    2023-07-07
  • 深入理解MySQL公共表表达式

    深入理解MySQL公共表表达式

    公用表达式是MySQL8.0的新特性,它是一个命名的临时结果集,作用范围是当前语句,本文主要介绍了MySQL公共表表达式使用,感兴趣的可以了解一下
    2024-09-09
  • MACOS中忘记MySQL root密码的解决方案

    MACOS中忘记MySQL root密码的解决方案

    这篇文章主要向大家讲述的是在MAC系统中MySQL重设root密码的实际操作步骤,在实际操作中忘记MySQL root密码时常会发生的,下面就是本教程的详细内容介绍。
    2017-03-03

最新评论