MySQL与SQL Server与Oracle的对比

Ksh*_*KJ- 78 mysql sql-server oracle

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

在今天的公司会议上提出了一个问题,我很尴尬,我不知道:对于开发人员来说,MS或Oracle提供的功能是什么,MySQL缺少哪些功能,哪些允许MS和Oracle为他们的系统收费?

Dav*_*dge 36

我认为其他评论员高度重视与商业解决方案捆绑在一起的所有额外的非核心RDBMS能力.

这是一个Oracle版本和功能的矩阵,值得浏览,只是为了理解"额外"功能,特别是在开发和支持您自己的版本所需的成本的背景下(如果可能的话)在像MySQL这样的产品上:http://www.oracle.com/us/products/database/product-editions-066501.html

例如,如果您有一个要求说:"用户应该能够恢复他们在提交更改后一周内已删除/更新的任何先前版本的数据",那么这意味着我认为某种开发开销在没有像oracle的闪回查询这样的内置功能的系统上会更高.


Vin*_*vic 23

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

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

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


Cur*_*urt 12

MySQL不是免费的!

它被广泛理解为免费的,但是您销售或分发包含MySQL的软件包,它带有相当严格的限制.在这些情况下,它仅对开源项目或非营利组织免费.如果您可以设法将数据库和驱动程序与应用程序的其余部分完全分开,并强制您的客户自行下载并安装MySQL,那么您可能还可以.

否则,"标准"版本的成本为每年2,000美元,与SQL Server的许可成本大致相当.

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

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

许多人在意识形态上反对使用Microsoft工具,或被锁定在Windows环境中,我可以理解这一点.但是MySQL并不是免费的商业用途,而且似乎并没有被广泛理解.

要查看MySQL的许可政策,请在他们的网站上查看:http: //www.mysql.com/about/legal/licensing/index.html

  • 假.MySQL的社区版本是根据GNU GPL v2许可证授权的,这意味着您可以出于任何目的免费使用该软件.(如果您想修改和重新分配软件,那么修改后的产品必须在相同的GPL v2开源许可下提供;但仅仅是USAGE,甚至修改(只要您不重新分发修改后的产品)是免费的出于任何目的无条件.) (34认同)
  • Curt,(1)我们不是在谈论将MySQL合并到另一个程序中,而是将其用作单独的软件(在客户端 - 服务器架构中); 在你的常见问题中:"如果这两个程序保持良好分离[...]那么你就可以将它们视为两个独立的程序"(2)即使你真的将MySQL纳入专有软件(即你将它用作库) ,只要您不重新分发,就不必在GPL下重新许可您的专有软件.在您的常见问题解答中:"GPL表示,任何扩展版本的程序必须在GPL下发布,如果它全部发布的话" (9认同)
  • 哈,我其实就是其中一个人.我真的认为MySQL是免费的,无论如何都完全免费.只是一个简单的问题,你有一些统计/链接,我可以看到"更好的查询优化器,以及在写密集型环境中更好的性能". (3认同)

Mat*_*son 9

oracle对mysql有一些其他的东西.

  • 队列
  • 内部工作安排
  • 成熟的存储过程语言
  • 表格
  • 细粒度的访问控制和审计
  • 强大的恢复功能(例如闪回,rman,dataguard)
  • 远程数据库链接
  • 申请表达

  • 自5.1以来,MySql支持分区表(显式).http://dev.mysql.com/doc/refman/5.1/en/partitioning-overview.html (5认同)

Kar*_*arl 8

在我管理来自其他供应商的RDBS之前,甲骨文经常重复"读者不会阻止作者,编写者不会阻止读者"对我来说意义不大.作为Oracle DBA,我对8年来处理锁定问题的了解并不多.多年的Informix和3或SQL Server并相信我,我对锁定知之甚多.

所以我想说,除了关于支持和非RDBMS功能的评论之外,还要添加锁定行为.


Thi*_*Jet 5

列出的功能太多了.请参阅nullptr消息中的Wikipedia参考.但我认为在会议上提出的问题实际上是"对于开发人员来说,MS或Oracle提供了哪些令人震惊的功能,而MySQL所处的功能可以让MS和Oracle为他们的系统收费,哪些可以被我们公司有效利用?"

如果符合您的需求,所有优势都是非常有利的...


Nil*_*der 5

Oracle 表簇单表哈希簇(在SQL Server中也找不到).