代码之家  ›  专栏  ›  技术社区  ›  KJ Saxena

MySQL与SQL Server与Oracle[关闭]

  •  78
  • KJ Saxena  · 技术社区  · 16 年前

    我一直只使用MySQL,没有其他数据库系统。

    今天公司会议上有个问题,我很尴尬,我不知道: 对于开发人员来说,MS或Oracle提供了MySQL所缺少的哪些惊天动地的功能,并允许MS和Oracle为其系统收费?

    12 回复  |  直到 10 年前
        1
  •  36
  •   David Aldridge    14 年前

    我认为其他评论员非常正确地强调了与商业解决方案捆绑在一起的所有额外的非核心RDBMS能力。

    下面是一个Oracle版本和功能的列表,只要了解“额外”功能就值得浏览,尤其是在开发和支持MySQL等产品的自己版本(如果可能的话)时: http://www.oracle.com/us/products/database/product-editions-066501.html

    例如,如果您有一个要求说:“用户应该能够恢复他们在提交更改后一周内删除/更新的任何以前版本的数据”,那么这意味着在没有像Oracle的flashbac这样的内置功能的系统上,一定的开发开销会更高。k查询。

        2
  •  23
  •   Community Mohan Dere    12 年前

    Oracle和MSSQL的纯RDBMS层主要提供比MySQL和InnoDB更成熟的可编程环境。T-SQL和PL/SQL还不能与MySQL存储过程和触发器匹配。

    其他的差异是句法和轻微的语义差异,这使得事情变得更容易或更难(比如前500名和限制/偏移)。

    但真正的杀手是在MSSQL(Reporting Services,Analysis Services)和Oracle(Data Warehousing,RAC)的RDBMS层之上有大量的集成工具和服务,而MySQL还没有。

        3
  •  12
  •   Curt    10 年前

    MySQL不是免费的!

    人们普遍认为它是免费的,但是您正在销售或分发包含MySQL的软件包,它有相当严格的限制。在这些情况下,它只对开源项目或非营利组织是免费的。如果你能设法将数据库和驱动程序与应用程序的其余部分完全分离,并强迫你的客户自己下载和安装MySQL,你可能会没事的。

    否则,“标准”版本的成本为2000美元/年,与许可SQL Server的成本大致相当。

    两者都是非常好的数据库,但SQL Server的优势之一是:

    • 丰富而富有表现力的过程语言(T-SQL)
    • 更好的查询优化器,以及在写密集型环境中更好的性能
    • 强大的辅助工具和功能集,包括编程环境、ETL工具(SSIS)、维度建模(SSAS)、报告环境(SSRS)和相当复杂的作业调度程序。
    • 存储过程和UDF的交互式调试。
    • 一个相对容易使用的基于窗口的管理工具,允许您以“点击”的方式执行大多数管理任务。

    许多人在思想上反对使用微软工具,或者被锁定在Windows环境中,我可以理解这一点。但MySQL并不能免费用于业务,这似乎没有被广泛理解。

    要查看MySQL的许可策略,请访问其网站: http://www.mysql.com/about/legal/licensing/index.html

        4
  •  9
  •   Matthew Watson    16 年前

    其他一些Oracle已经结束的事情 MySQL。

    • 队列
    • 内部作业调度
    • 成熟的存储过程语言
    • 有空间的桌子
    • 细粒度访问控制和审计
    • 强大的恢复功能(如Flashback、RMAN、DataGuard)
    • 远程数据库链接
    • 应用程序Express
        5
  •  8
  •   Karl    16 年前

    在我管理其他供应商的RDBSE之前,Oracle经常重复说“读者不会阻止作者,作家不会阻止读者”,这对我来说意义不大。作为一名Oracle DBA,我在8年的时间里对处理锁定问题的知识真的不多。2年的Informix和3或SQL Server,相信我,我对锁定有更多的了解。

    所以我想说,除了关于支持和非RDBMS特性的评论之外,还添加了锁定行为。

        6
  •  5
  •   ThinkJet    16 年前

    功能太多,无法列出。 请参阅nullptr消息中的维基百科参考。 但我认为会议上真正提出的问题是,“对于开发人员来说,MS或Oracle提供的MySQL滞后的令人震惊的功能是什么,允许MS和Oracle为其系统收费。” 能被我公司有效利用

    如果符合你的需求,所有的优势都是真正的优势…

        7
  •  5
  •   Nils Weinander    16 年前

    甲骨文公司 table clusters single table hash clusters (在SQL Server中也找不到)。

        8
  •  4
  •   Maximilian Mayerl    16 年前

    注意:我对Oracle没什么好说的,所以我只回答SQL Server。

    当然,数据库引擎中的细微差别,如合并语句、大容量插入、分组集等。

    但我认为更重要的部分是集成服务、分析服务和报告服务。在我看来,这些都是非常重要的技术,绝对值得花这么多钱。

        9
  •  4
  •   Andy Monis    16 年前

    MySQL没有提供Oracle和MSSQL所提供的更丰富的编程环境,尤其是在早期,它甚至没有存储过程。 从我的角度来看,我倾向于通过DAO或ORM映射器等将大部分业务逻辑放到应用程序中,因此下面的数据库引擎不那么重要,理论上,应用程序是可移植的。 从管理的角度来看,MSSQL提供了许多好处(许多已经列出),使拥有数据库的任务变得更加容易。 微软还提供了优秀的、轻量级的sqlexpress用于开发,我发现它很容易使用,并且很好地集成到了Visual Studio中。

        10
  •  3
  •   David Aldridge    16 年前

    受到thinkjet答案的启发,我认为另一个因素是,“为了提供更快、更便宜的高性能应用程序开发,我们在多大程度上愿意放弃数据库独立性?”如果公司的重点是所有代码必须在数据库之间可移植,那么除了使用最简单的RDBMS之外,几乎没有其他用途,而且Oracle和Microsoft提供的改进和优势毫无意义。

    几乎不需要破坏真正的数据库独立性,我的理念是,您应该全心全意地利用您所购买的每一项功能——SQL增强、PL/SQL等。

    当然,其他人可能会有所不同。

        11
  •  3
  •   Gary Myers    16 年前

    我认为这个问题隐含的假设是,正是开发特性允许SQL Server/Oracle收费。我怀疑更多的是实现/支持。

    热备份是一个值得付费的主要功能,至少对大多数安装来说是这样。

    对于Oracle,一个巨大的附加值是rac—多个服务器访问相同的数据(即相同的磁盘),而不涉及任何混乱的复制。它(通常)对开发人员来说并不明显。

        12
  •  1
  •   Karl Bartel    16 年前

    我真正喜欢的一些Oracle功能是

    • 真正的应用程序集群,一种非常强大的数据库集群创建方法
    • 快速刷新物化视图,一种存储和更新查询结果的非常有效的方法
    • 分析函数(又称窗口函数),它允许以有效的方式对查询结果的子集进行分组。在大多数情况下,这可以避免自连接。

    据我所知,MySQL中没有这些功能。还有许多更有用的特性,特别是在企业版及其选项中。