我一直只使用MySQL而没有其他数据库系统。
今天在公司会议上提出了一个问题,我不知道让我尴尬:对于开发人员来说,MS或Oracle提供了MySQL所缺乏的令人震惊的功能,并且允许MS和Oracle为他们的系统收费吗?
我一直只使用MySQL而没有其他数据库系统。
今天在公司会议上提出了一个问题,我不知道让我尴尬:对于开发人员来说,MS或Oracle提供了MySQL所缺乏的令人震惊的功能,并且允许MS和Oracle为他们的系统收费吗?
Answers:
我认为其他评论员非常正确地使用与商业解决方案捆绑在一起的所有其他非核心RDBMS功能。
这是一个Oracle版本和功能的矩阵,值得您浏览以了解“额外”功能,特别是在开发和支持自己的版本时(如果可能的话)在类似MySQL的产品上:http : //www.oracle.com/us/products/database/product-editions-066501.html
例如,如果您有一个要求说:“用户应能够在更改提交后的一周内恢复他们删除/更新的任何以前版本的数据”,那么这意味着我认为一定的开发开销在没有像oracle的Flashback Query这样的内置功能的系统上,性能会更高。
Oracle和MSSQL的纯RDBMS层主要提供比MySQL和InnoDB更成熟的可编程环境。MySQL存储过程和触发器还无法匹配T-SQL和PL / SQL。
其他区别是句法上的区别和轻微的语义上的区别,这使事情变得容易或困难(例如,前500名与限制/偏移)。
但是真正的杀手是,MySQL还没有在MSSQL(报表服务,Analysis Services)和Oracle(数据仓库,RAC)的RDBMS层之上提供大量集成工具和服务。
MySQL不是免费的!
人们普遍认为它是免费的,但是您正在出售或分发包含MySQL的软件包,它具有相当严格的限制。在这些情况下,它仅对开源项目或非营利组织免费。如果您可以设法将数据库和驱动程序与应用程序的其余部分完全分开,并迫使客户自行下载和安装MySQL,那么您可能会没事的。
否则,“标准”版每年的费用为2,000美元,与SQL Server的许可费用大致相当。
两者都是非常好的数据库,但是SQL Server的优点包括:
从思想上讲,许多人反对使用Microsoft工具或被锁定在Windows环境中,我可以理解。但是MySQL并非免费提供给企业使用,这似乎尚未得到广泛理解。
要查看MySQL的许可政策,请在其网站上查看它:http : //www.mysql.com/about/legal/licensing/index.html
oracle通过mysql具有其他功能。
在我管理其他供应商的RDBS之前,甲骨文经常重复说:“读者不会阻止作者,作者不会阻止读者,这对我来说意义不大。作为Oracle DBA,我在8年的时间里确实不了解锁定问题。2多年的Informix和3或SQL Server,请相信我,我对锁定了解更多。
因此,我想说,除了有关支持和非RDBMS功能的注释之外,还要添加锁定行为。
注意:我不能说任何有关Oracle的信息,所以我只回答SQL Server。
好吧,当然,数据库引擎中的细微差别,例如MERGE语句,BULK INSERT,GROUPING SETs等。
但是我认为更大的部分是诸如Integration Services,Analysis Services和Reporting Services之类的东西。这些是重要的技术,我认为绝对物有所值。
MySQL没有提供Oracle和MSSQL提供的更丰富的编程环境,尤其是在早期甚至没有存储过程的情况下。从我的角度来看,我倾向于通过DAO或ORM映射器等将大部分业务逻辑放入应用程序中。因此,下面的数据库引擎不太重要,并且理论上该应用程序是可移植的。从管理的角度来看,MSSQL提供了许多好处(许多已经列出),使拥有数据库的任务变得容易得多。微软还提供了出色的轻量级SQLExpress用于开发,我发现它易于使用,并且可以很好地集成到Visual Studio中。
我认为这个问题有一个隐含的假设,那就是允许SQL Server / Oracle进行收费的开发功能。我怀疑这更多是实施/支持。
热备份是一项值得付费的主要功能,至少对于大多数安装而言,都是如此。
对于Oracle来说,RAC的最大附加价值是RAC-多台服务器可以访问相同的数据(即相同的磁盘),而无需进行任何混乱的复制。(通常)对开发人员而言并不明显。