为什么要使用Oracle数据库?[关闭]


97

我出于技术原因感到好奇,为什么选择Oracle数据库而不是以下最新版本:
1)Microsoft SQL Server
2)MySQL
3)PostgreSQL

哪些特性或功能可以证明需要支付额外费用。我对技术争论感兴趣,而不是宗教战争。一个朋友问我这个,我一直使用我列出的3个中的一个。我对Oracle数据库了解不足,无法提出意见。

谢谢。

Answers:


49

似乎没有人谈论开发人员使用Oracle所花费的时间。大多数了解其他任何数据库的开发人员都讨厌Oracle,而那些不认为所有数据库代码和/或ORM工具难以使用的开发人员都对Oracle感到厌恶。

如果我认为自己的业务可以扩展到亚马逊的比例,那么我可能会考虑使用NoSQL解决方案,否则我会每次都选择PostgreSQL,SQL Server(甚至现在甚至是Sybase)而不是Oracle。我说这已经(作为一名开发人员)在Oracle工作了2年-很糟糕!


3
我不同意!Oracle无疑是RDBMS的最佳实现之一。它非常有效地管理内存,并且可以处理复杂的JOIN操作,这些操作容易使MySQL和MsSQL瘫痪。Oracle具有出色的体系结构,因为它非常容易很好地组织不同的应用程序数据,因此使其坚如磐石。我认为对我来说最好的选择是Oracle拥有的SQL引擎,它非常先进,使其成为操作数据仓库的唯一数据库!在Oracle上运行复杂的查询很容易,其他功能(例如物化视图,PL / SQL等)使Oracle物有所值。
Muzaaya约书亚

8
我也同意-在过去的几年中与Oracle 11gR2和SQL Server 2008 R2一起工作,这真是荒谬的,我遇到了Oracle破坏了的安全模型,不直观的性能调整工具和精巧的优化程序。不管您通过获得MS Win Server许可证所节省的多少钱,都会立即被生产力损失所吞噬。
恩吉尔(Engil)2014年

4
作为SQL Server的主要用户,并已使用Oracle开发了数据库:Oracle是一个痛苦的时代。就像@Jasmine提到的那样,它仅限于您可以执行的操作。我特别讨厌变量的工作方式,以及您必须为自动递增ID创建触发器和序列的事实。SQL Server是数据库应如何操作的定义。哎呀,甚至MySQL都比Oracle更好。当然,两个数据库都有其局限性,但是与Oracle相比没有任何限制。
RoyalSwish 2015年

4
此外,PLSQL又笨又烦。
RoyalSwish 2015年

1
Oracle具有有限的分片支持,有限的扩展支持,有限的管理功能,有限的支持帮助,某种程度上有限的集群支持(没有主/主日志传送)以及许多供应商锁定。他们目前正在努力追赶,但我从未见过如此多的错误。我曾处理过许多Alpha版本,Beta版本以及声明不适合且不稳定的系统。我仍然从未见过这么多明显的错误,这些错误在发布之前甚至在编译之前就已经很明显了。
jbo5112

33

只有Oracle和Microsoft的SQLServer是封闭源代码,如果出现问题并且您有问题,答案只是打个电话(如果有的话,则是现金)。无论如何,MySQL和PostGre都提供了几种企业咨询服务,但最终这些顾问并不是真正负责该产品的,因为该产品属于每个人。这很棒,因为如果您对C和相对较低级别的编程很满意,那么可以进入并修复代码,但是如果您找不到解决方案,那么它可能会成为一个疯狂的追赶者。

现在,既然不是每个人都足够熟练,并且那些有钱的企业更喜欢封闭源数据库的安全性(从业务意义上来说),这是这些解决方案除了实现可靠的事实之外还没有停业的原因。如果有的话就值得。

好的,现在终于可以确定,最重要的区别是SQLServer和Oracle之间的区别,而区别是操作系统,您猜对了,大多数使用Windows的人都会坚持使用SQLServer,但是如果您运行的是Unix,则Oracle是您的封闭源解决方案。无论如何,我在Solaris上使用Oracle,但是如果我们的目标是Windows,则我可能会使用SQLServer,因为这两种产品都是坚如磐石,但是我相信Microsoft有一些特殊的技巧可以在Windows上获得最佳性能。


6
+1。好答案。我一直以“我喜欢最好的品种,但自由很酷”为座右铭。选择解决方案时,我总是尽力保持平衡。对于我的日常工作,我使用SQL Server。现在就用我自己的东西MySQL。
BuddyJoe

3

真正的问题是,将使用哪种应用程序来使用RDMS。对于wordpress博客或Twitter克隆,您当然不需要oracle。但是,如果您想做一些繁重的商业智能,那么Oracle可能具有某些功能,这些功能可以比其他功能更有效地帮助您完成。

sql server女士也很好,它具有大量功能。如果您对Linux有所了解,并且需要具有ms sql提供的功能的数据库,那么oracle将是一个不错的选择。


3

仅举几个:

  • Oracle Real Application Cluster-提供高级集群功能
  • Oracle Data Guard-简而言之提供了物理和逻辑备用功能。
  • Oracle Exadata-实现数据库感知存储(可以执行谓词过滤,列投影过滤,联接处理,加速表空间创建)。该解决方案随附HP服务器,全天候24/7保修和其他优点。对于需要大量数据加载的应用程序(例如,由于创建了独立的表空间),这非常好。
  • Oracle虚拟化

当然还有品牌的魔力;)

至于选择RDBMS呢?通常,选择非常明显-Oracle或世界其他地方。之后,您可以通过以下方式缩小选择范围:

  • 平台(仅限Windows)
  • 重量(sqlite,MySQL,PostgreSQL等)
  • 预算(初始许可成本,维护+支持成本)
  • 演化观点,例如:
    • Oracle Express-> Oracle
    • SQL Server Express-> MSSQL
  • 商业前景-“安全,知名的产品”或开源产品(请记住第一个词的引号)。其他职位倾向于对此方面进行更深入的研究。

14
如果您可以对这些功能的功能做些补充,那就太好了……对于我们这些不知道的人来说,这听起来像是流行语宾果游戏。;)
Nik Reiman

6
不仅如此,对于中小型企业来说,其中很多东西不是必需的,而且对于他们来说,当然并不能证明这笔巨额成本是合理的。
戴夫·马克尔

1
您为使用的东西付费……我举的例子对于相当大的组织来说很有趣。正如我所说,首选通常是决定是否使用Oracle或其他产品。
匿名

Oracle RAC不是高级集群(并且不是在2009年),而是交钥匙集群。由于它需要共享存储,因此无法扩展IO。它不会在2009年扩展到云级别,并且在最近十年中,对于Oracle来说情况只会变得更糟。
jbo5112

3

我认为这是因为Oracle是第一个支持“ 分片 ”的RDMS。


2
-1这甚至意味着什么?*需要引文。*有多种实现分片的方法,包括但不限于在应用程序层中实现分片。
Jeeyoung Kim

Oracle直到12.2(2016/2017)才具有本机分片。IIRC,MySQL击败了他们十多年(不同的存储引擎)。
jbo5112

1

您知道,SQL Server和Oracle的成本相差不远。

实际上,对于小型系统,Oracle vs您最喜欢的免费数据库的成本在零(Oracle Express Edition)和不太高的价格(标准版One永久为5,800美元的处理器)之间。

以下是11g中各个版本功能的链接:http : //www.oracle.com/database/product_editions.html

可以在http://store.oracle.com上获得所有地区的清单价格-当然,通常大公司不支付零售价;)


2
尽管Postgres / MySQL和Oracle的成本是...(不是我特别支持其中的任何一种)
annakata

+1大卫,您能否扩大答案以包括Express Edition的某些限制?
BuddyJoe

@ annakata-XE是免费的。SE1非常便宜。
David Aldridge

2
Express(XE)的主要限制是4 GB数据,1 GB RAM和1个CPU。
加里·迈尔斯

4
与MSSQL或其其他竞争对手相比,这并不意味着维护Oracle DB安装的成本要高得多。
蒙蒂·怀尔德
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.