Oracle RDBMS是否比MySQL RDBMS更稳定,安全,可靠等?

时间:2020-03-06 14:25:56  来源:igfitidea点击:

我曾作为程序员在各种系统上工作,有些使用Oracle,有些使用MySQL。我不断听到人们说Oracle更稳定,更强大,更安全。是这样吗

如果是这样,以什么方式?为什么?

出于这个问题的目的,考虑一个中小型生产数据库,可能有500,000条左右的记录。

解决方案

是的。 Oracle是企业级软件。

我不确定它是否真的比mysql更稳定,我还没使用过mysql,但是我从来不记得mysql崩溃了。我曾经遇到过Oracle崩溃,但是当它崩溃时,它比我可能提供的更多有关崩溃原因的信息,并且Oracle支持总是在这里提供帮助(收费)。

它非常强大,Oracle DB几乎可以在破坏数据之前尽其所能。我曾让mysql服务器在磁盘空间用尽时确实做了一些奇怪的事情,Oracle会暂停所有事务,如果可以的话最终将其关闭。编写所需的文件。我从来没有丢失过oracle中的数据,即使我做一些愚蠢的事情,例如忘记where子句并更新每一行而不是更新每一行,也很容易使数据库恢复到搞砸之前的状态。

不确定安全性,Oracle无疑会为我们提供许多有关如何连接到数据库和进行身份验证的选项。它提供了有关哪些用户可以访问什么内容的选项,等等。但是与大多数事情一样,如果我们想认真对待安全性,那么我们需要专家来做到这一点。如果甲骨文没有获得正确的安全性,那么他们无疑会遭受更多损失。但是,与所有事物一样,也存在着漏洞利用。

如果没有别的,那就考虑一下...当Oracle出现问题时,他们的客户要为每个CPU支付4万美元(如果他们是傻瓜,并支付标价)许可证+年度维护费。确保客户对产品满意。

对于小型数据库,我会在mysql之前就强烈推荐Oracle XE。它具有mysql(免费)的重要功能,易于安装,并具有良好的Web界面和应用程序框架(Application Express),如果我们愿意在单个cpu,1gb ram和4gb数据上运行DB,那么可以使用XE是去恕我直言的方法。

Mysql有其用途,许多人已经证明我们可以使用它构建强大的功能,但是就功能而言,它远远落后于oracle(以及SQL Server和DB2)……但是,它也是免费的,而且非常易于学习,这对许多人来说是最重要的功能。

甲骨文更加强大。它的许多功能只能在大型企业或者高性能环境中寻找。它们主要是与扩展,复制和负载平衡有关的功能。

对于小型数据库,请考虑使用SQLite。对于中小型,请查看MySQL或者PostgreSQL。对于最大的数据库,请查看MSSQL,Oracle,DB2等。

编辑:阅读完其他答案,我要补充一点,如果数据确实非常关键,则需要复制设置,并且可能需要向大型数据库提供商之一寻求类似的服务。

如果我们可以牺牲潜在的(极少见的)数据丢失,并且希望获得更好的性能,请查看一些重量较轻的选项。

我有一个项目,可将数据(约1000万行,1.2GB数据)发送到三个不同的数据库,2个Oracle和1个MySQL。我在使用任何一个系统时都没有遇到问题,也没有看到任何一方的主要优势。如果我们已经在使用Oracle进行其他项目的地方,添加一个新数据库应该不是什么大问题,但是如果我们正在考虑建立新的数据库服务器并且其中没有任何内容的地方,MySQL将为我们节省金钱。

答案完全取决于我们如何配置每个DBMS。
两者都能够多次处理500,000条记录。

Oracle Enterprise假定有一个企业来支持它,即一个真正的Oracle DBA。一个新手(但精通)的DBA应该能够比Oracle更轻松地保护MySQL,因为Oracle本质上更加复杂。当然,甲骨文拥有的企业监控工具已经超出了MySQL当前所具有的功能(据我所知),但DBA需要能够使用它们才能有效。

我们所描述的这么小的数据库几乎可以用任何东西处理,因此除非基础架构已经到位,否则我不认为Oracle会得到保证。两者都有复制,事务和热备份,因此两者都可以很好地服务。

当磁盘空间不足时,我已经让Oracle创建了一个损坏的数据库。如果没有非常熟练的DBA牵手,它将很难调试,使用大量资源并且难以使用。当我在某个位置安装Oracle时,Oracle甚至替换了/ usr / bin /中的系统二进制文件(例如gcc)。

另一方面,使用PostgreSQL的工作要愉快得多。如果我们习惯使用开源* nix系统,它会给出可读的错误消息并以更易理解的方式起作用。设置复制非常容易,从而使数据相当安全。

一个500K记录数据库可能可以在手机上运行。严重的是,它是如此之小,以至于Oracle XE和MySQL都足以管理它。

Oracle是真正需要DBA知识的野兽。我同意那些说50万条记录不算什么的人的观点。如果它是简单的数字/文本数据,则不值得使用Oracle的复杂性。

另一方面,Oracle使用blob非常高效。如果每个记录都是100MB二进制文件,那么我们需要一笔巨款才能在Oracle上运行它(我建议使用具有良好SAN的3节点RAC群集)。

一句话:是的!

我正在将Oracle / SQL Server / MySql用于不同的应用程序和站点

在许多不同领域,Oracle都无法与Oracle匹敌,但这是需要管理方面的深入知识的最多的数据库。

并且,如果我们发现oracle有问题,即使有出色的DBA专家,也可能花费数次时间来解决。

我们可以使用MySql获得500K或者数百万条记录,它比其他数据库轻得多,并且需要零管理工作,并且不会占用大量计算机资源,我始终在开发PC中拥有它,而且从未遇到过严重的问题。

如果不需要Oracle的高级功能,我将要求我们使用MySql或者PostgreSQL。

  • 对于较小的数据库(几百万条记录),Oracle是过大了
  • 我们需要经验丰富的DBA来正确安装和管理Oracle系统
  • Oracle具有更大的"基础开销",即我们需要一台功能更强大的计算机来运行Oracle
  • 甲骨文的"开箱即用"经验曾经是残酷的(多年以来我都没有安装过甲骨文系统;不知道它目前的行为),而mysql非常好