关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » MySQL »八条不使用MySQL的理由

    八条不使用MySQL的理由

    2011-05-18 15:40:00 出处:ITJS
    分享

    MySQL数据库不使用的理由,虽然很多理由都是出于误解的,但是的确存在着一部分很充分的不使用MySQL的理由。当然,现实的情况会根据环境有所不同,但是在每个情况下,我觉得拒绝任何数据库技术应该基于合理的理由,而不是根据某些疲惫不堪的数据库管理员(DBA)的意见。为了达到这样的目的,我在该文中列出了八条不使用MySQL的理由。

    首先,不使用某种技术的理由和使用这个技术的理由在本质上不同。常常,反对某些东西的理由会更加让人注意。我们可能需要几条理由才会真正的使用这个技术,但是只要一个理由就会让我们止步。软件的选择就是这样的决定,仅有一个理由是决不足够促使我们做出肯定的决定,但是一个充分的负面理由会否定很多积极的因素。

    虽然有一长串关系数据库管理系统(RDBMS)可以供我们选择,但是我将对比限制在几个最常用的产品上。虽然全面的对比很少,还是存在着很多技术上的比较。在这里,我们只关心“正规”理由。

    MySQL使用GPL

    最重要的理由优先。在这里并不适合GNU General Public License,并且也不应该是数据库技术的选择。很明显,GPL许可证对很多环境是积极的,但是对于其他一些环境,GPL的软件是没有希望的。在这些情况下,连PostgreSQL的BSD许可证仍然太“开放”,那么一个商业的许可证会更加适合。

    MySQL不使用GPL

    在一些情况下,MySQL是收费的,这样GPL可能不能很好的服务于这些情况。如果你想要将这个数据库的许可证和你自己的项目一起销售,你的项目一定要采用相似的许可证,或者你需要购买商业许可证。如果这个因素改变了你的软件的销售方式,你需要处理由于必须支持MySQL的多个版本或者配置而引起的额外的负担(这会增加终端用户的成本),或者存在由于MySQL的使用造成的不合理的影响。在这些情况下,一些软件分销商可能倾向于采用其他的产品,比如BSD许可证的PostgreSQL。

    和现有环境的集成

    我知道大型的IT公司会有Oracle和Sybase的单位软件使用权(Site License),以及很多MS-SQL Server的专有许可证(specific license)。在这些公司中,这种MS-SQL的实例主要是各部门的无知职员造成的,他们不知道他们已经花钱购买了其他数据库的site license。在这种环境下,再加入MySQL(或者其他的数据库)是不明智的想法,如果DBA已经有太多环境需要处理。在存在已有数据库的情况下,如果维护的是一个通用的平台,那么很明显维护的负担会降低。进一步,如果这个公司已经有了使用某个私有系统的许可证,那么使用MySQL的主要理由就不存在了。

    产品的成熟度

    通过比较,在2009年Oracle将庆祝它的第一个产品发布了30周年,那时MySQL第一个产品的发布时间还不到Oracle的一半。单就自身而言,Microsoft SQL Server仅仅比MySQL早了几年,但是它的第一次发布的产品是基于Sybase的,该产品的比SQL Server早了6年。至于其他著名的开源数据库,在2009年PostgreSQL距离第一次发布已经20年。虽然MySQL并不是市场上最新的数据库,但是还有很多更老、更稳定的可选产品——并且对很多人来说,这个理由已经足够了。公平的讲,以我的观点这个理由并不是反对使用MySQL的特别充分的理由,但是同时,我被逼着告诉一位将为关键任务的应用选择平台的保守IT经理基于这个理由作决定将是错误的。

    功能集的成熟度

    有些人被吸引去编辑MySQL和其他系统的全面的功能比较,以此作为权威的决策工具,但是在很多情况下,这根本就不可能成功。随着各个厂商新版本或者补丁的的发布,这个功能列表很快变得过时。进一步,对某些应用很重要的功能和其他的应用一点关系都没有,这样“10%更多的功能”将是没有结果的度量。真正发挥作用的是在发布的时候功能集是否和需求一致,或者足够一致。

    有时候,你可以绕过一些缺少的功能,比如MySQL 4.1版本中使用join替代子查询。RDBMS中大部分的必要的功能都在MySQL 5.0中实现,但是我们仍然有理由认为这些功能的成熟是避开MySQL的一个可能的理由。比如,缺乏视图、触发器和存储过程是对MySQL由来已久的批评。这些都被MySQL支持超过一年时间了,但是相比之下,在其他的RDBMS中这些功能已经存在超过10年了。

    当然,MySQL团队的开发周期在很多方面都给人留下了深刻的印象。然而,如果用户的性格是排斥新技术,那么长期支持的功能获胜的概率会更大。在这种情况下,上面提到的三个主要的功能就是日前才加入的。即使在MySQL 5.0中,ACID(Atomicity, Consistency, Isolation, Durability)的一致性在当一些存储过程或者函数被用于修改数据库而造成死机的情况下还是无法保证的。

    认证的可用性

    有一些IT公司喜欢认证。虽然MySQL的确有一个认证培训计划,它的培训可用性还是没有Oracle或者MS-SQL Server那样广泛。广义上讲,即使MySQL的IT人员相对容易找到,但是认证或者培训仍然很少,也没有很多第三方的培训可用。对于大的IT公司而言,遵循商业数据库系统的实际的公司经验也是需要的,但是一些具有MySQL经验的人可能没有足够的深度。

    另外一个相关的问题是合格的第三方的支持的可用性。虽然直接从厂商得到的支持服务能够在一定程度上解决这个问题,但是如果强烈的需要第三方的本地的现场支持,那么这个问题还是存在。

    公司因素的考虑

    Oracle、Sybase和Microsoft都是上市公司。关于MySQL公司后台的实力的无论怎么说,事实是这家公司不是上市公司,意味着按照法律财政数据不需要公开。冒着被指控传播FUD(惧、惑、疑,Fear, Uncertainty and Doubt)的风险,上市公司相对透明(无论正确与否)能够为一些IT经理和他们报告的上级提供些许的确定性、可靠性和安全。如同一句老话说的,没有人因为购买了IBM的产品而被解雇,这句话同样适用于这里(即使IBM日前决定销售MySQL);使用著名大公司的产品的确帮助一些人在晚上睡的着,他们是投资者、PHB (Dilbert reference: Pointy-Haired Bosses)和经验丰富的IT经理。

    可扩展性的领悟

    我很小心的命名这最后一个理由。很多业内的专家对于MySQL不能很好的扩展都有一致的感知。这个问题被很多人都讨论过,虽然大部分的讨论趋于消除水平扩展和垂直扩展之间区别。MySQL谈到水平扩展比垂直扩展的次数更多,但是将可扩展性列为使用MySQL的主要理由之一。

    同时、我注意到存在着一个趋势,但是我还没有可靠的数据支持这个趋势,那就是受过正规培训的DBA往往会选择私有的RDBMS,比如Oracle。我怀疑那些有正规培训和经验的DBA(而不是软件工程师)往往对私有的系统有一种偏爱。在那些为DBA分配了固定角色的大环境中(相对于兼职的咨询师或者兼具程序员身份的人),MySQL可能由于这个原因而失宠。在这个层次上,MySQL的扩展性是否是个真实或者想象出来的批评就变的无关紧要了。如果没有一个充分的理由颠覆这个因素,当你负责安排资源的时候,你想要给他们那些他们最喜欢、带来好处的工具。如果你的那些具有15年经验的DBA想要Oracle,并且Oracle也在预算之内,那么从长远来看这个方法会有回报的。

    进行到了这里,当比较几种稳定的、成熟的、功能丰富的产品的时候,人们就可以不再于哪一个才是绝对意义上“更好的”产品这个问题。取代这个问题的应该是一个需要更多洞察力的问题:哪一个产品才是最适合于给定环境的。我认为主要的RDBMS产品都会遇到这个问题,包括MySQL。这个情况何时发生的问题对一些产品可能是公开的,而这几个产品也欢迎在这个问题上展开讨论。我能够这么说,每个产品都会有不适用的特殊时刻,这就是今天的格局,对任何主要的系统都是一样的。在MySQL的例子中,我相信我们已经提到了几个最充分的理由——这些理由不会是一锤子买卖,也不会很快变的过期的。

    八条不使用MySQL数据库的理由已经为大家罗列出来,上文中的内容仅供大家参考,大家在选购数据库时可以根据自身的情况而定,最胡选择一款适合自身发展的数据库。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    帝国CMS7.5编辑器上传图片取消宽高的三种方法

    帝国cms如何自动生成缩略图的实现方法

    Windows 12即将到来,将彻底改变人机交互

    帝国CMS 7.5忘记登陆账号密码怎么办?可以phpmyadmin中重置管理员密码

    帝国CMS 7.5 后台编辑器换行,修改回车键br换行为p标签

    Windows 11 版本与 Windows 10比较,新功能一览

    Windows 11激活产品密钥收集及专业版激活方法

    IT头条

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    严重缩水!NVIDIA将推中国特供RTX 5090 DD:只剩24GB显存

    00:17

    无线路由大厂 TP-Link突然大裁员:补偿N+3

    02:39

    Meta 千万美金招募AI高级人才

    00:22

    技术热点

    windows 7系统中下载保存文件时不显示桌面选项的解决方法图解

    一起来说 Vim 语

    MySQL DriverCS来连接MySQL的代码示例

    windows 7系统下触控笔连按数位板出现水波纹该怎么解决?

    windows 7系统的电脑发出嘟嘟嘟的声音该怎么解决?

    MySQL访问限制的实际设置的2种方法

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。