Oracle RDBMS 是否比 MySQL RDBMS 更稳定、安全、健壮等?

发布于 2024-07-06 05:22:09 字数 169 浏览 10 评论 0原文

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

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

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

I've worked on a variety of systems as a programmer, some with Oracle, some with MySQL. I keep hearing people say that Oracle is more stable, more robust, and more secure. Is this the case?

If so in what ways and why?

For the purposes of this question, consider a small-medium sized production DB, perhaps 500,000 records or so.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(11

烟沫凡尘 2024-07-13 05:22:09

是的。 Oracle 是企业级软件。

我不确定它是否真的比mysql更稳定,我没怎么使用mysql,但我不记得mysql在我身上崩溃过。 我曾经遇到过 Oracle 崩溃的情况,但是当它发生时,它会为我提供比我可能想要的更多有关崩溃原因的信息,并且 Oracle 支持始终会提供帮助(收费)。

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

不确定安全性,当然 Oracle 为您提供了很多连接数据库和身份验证的选项。 它提供了很多关于哪些用户可以访问哪些内容等的选项。但与大多数事情一样,如果您想认真对待安全性,那么您需要专家来做到这一点。 如果甲骨文没有做好安全措施,他们肯定会损失更多。 但是,就像所有的事情一样,也有一些漏洞。

如果没有别的事,就考虑一下这个……当 Oracle 陷入困境时,他们的客户为每个 CPU 支付 4 万美元(如果他们是傻瓜并支付标价)许可证 + 每年的维护费。这给了他们一个非常强大的密集型确保客户对产品感到满意。

对于小型数据库,我会在 mysql 之前认真推荐 Oracle XE。 它具有 mysql(免费)的重要功能,安装非常简单,附带漂亮的 Web 界面和应用程序框架(Application Express),如果您的 DB 愿意在单个 cpu、1gb 内存和 4gb 数据上运行,那么 XE恕我直言,这是正确的方法。

Mysql 有它的用途,很多人已经表明你可以用它构建伟大的东西,但它在功能方面远远落后于 oracle(以及 SQL Server 和 DB2)......但是,它也是免费的并且非常容易学习,这对许多人来说是最重要的功能。

Yes. Oracle is enterprise grade software.

I'm not sure if its really any more stable that mysql, I haven't used mysql that much, but I dont ever remember having mysql crash on me. I've had oracle crash, but when it does, it gives me more information about why it crashed than I could possibly want, and Oracle support is always there to help ( for a fee ).

Its very very robust, Oracle DB will do virtually everything it can before breaking your data, I've had mysql servers do really weird things when they run out of disk space, Oracle will just halt all transactions, and eventually shutdown if it can't write the files it needs. I've never lost data in oracle, even when I do stupid things like forget the where clause and update every row rather than a single row, its very easy to get the database back to how it was before screwing up.

Not sure about security, certainly Oracle gives you lots of options for how you are going to connect to the DB and authenticate. It gives lots of options regarding which users have access to what, etc. But as with most things, if you want to take security seriously, then you need an expert to do it. Oracle certainly has a lot more to lose if they don't get security right. But, as with all things there has been exploits.

If nothing else, just consider this... When Oracle stuffs up, they have customers who are paying $40k per CPU (if they are suckers and pay list price) license + yearly maintenance fees.. This gives them a very strong intensive to make sure the customers are happy with the product.

For a small database, I'd seriously recommend Oracle XE well before mysql. It has the important features of mysql (Free), its dead easy to install, comes with a nice web interface and application framework (Application Express), if you DB will happy run on a single cpu, 1gb ram and 4gb data, then XE is the way to go IMHO.

Mysql has its uses, many many people have shown that you can build great things with it, but its far behind oracle (and SQL Server, and DB2) in terms of features... But then, its also free and very easy to learn, which for many people is the most important feature.

热鲨 2024-07-13 05:22:09

Oracle 是一个真正需要 DBA 知识的野兽。 我同意那些说 500k 记录不算什么的说法。 如果只是简单的数字/文本数据,那么 Oracle 的复杂性就不值得了。

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

Oracle is a beast that really needs DBA knowledge. I concur with those who say 500k records are nothing. It's not worth the complexity of Oracle if it's simple numeric/text data.

On the other hand, Oracle is extremely efficient with blobs. If each of your records was a 100MB binary file, you'd need a fortune to run it on Oracle (I'd recommend a 3-node RAC cluster with a good SAN).

極樂鬼 2024-07-13 05:22:09
  • 对于小型数据库(几百万条记录),Oracle 是多余的
  • 您需要经验丰富的 DBA 来正确安装和管理 Oracle 系统
  • Oracle 具有较大的“基本开销”,即您需要一台更强大的机器来运行
  • Oracle “ Oracle 的体验曾经很糟糕(我已经很多年没有安装 Oracle 系统了;不知道它目前的表现如何),而 mysql 则非常好
  • for smallish DBs (a few million records), Oracle is overkill
  • you need an experienced DBA to properly install and manage an Oracle system
  • Oracle has a larger "base overhead", i.e. you need a beefier machine to run Oracle
  • the "out of the box" experience of Oracle used to be atrocious (i haven't installed an oracle system in years; no idea how it currently behaves), while mysql is very nice
伴随着你 2024-07-13 05:22:09

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

A 500K record database can probably be run on your mobile phone. Seriously, it's so small that both Oracle XE and MySQL will be more than sufficient to manage it.

温暖的光 2024-07-13 05:22:09

当磁盘空间不足时,我让 Oracle 创建了一个损坏的数据库。 它很难调试,需要消耗大量资源,而且如果没有熟练的 DBA 的帮助,也很难使用它。 当我在某个场合安装时,Oracle 甚至替换了 /usr/bin/ 中的系统二进制文件(例如 gcc)。

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

I've had Oracle create a corrupt database when the disk ran out of space. It's hard to debug, uses loads of resources and is difficult to work with without seriously skilled DBA's holding your hand. Oracle even replaced system binaries (e.g. gcc) in /usr/bin/ when I installed in on an occation.

Working with PostgreSQL, on the other hand, has been much more pleasant. It gives readable error messages and acts in a more understandable way if you're used to work with open source *nix systems. It's quite easy to set up replication, thus making your data fairly secure.

魄砕の薆 2024-07-13 05:22:09

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

没有数据库可以在许多不同领域击败 Oracle,但它是最需要深厚管理知识的数据库。

如果您发现 Oracle 存在问题,即使是优秀的 DBA 人员也可能会花费很少的时间来解决它。

你可以使用MySql来处理500K或数百万条记录,它比其他数据库更轻,并且需要零管理工作,并且不会占用你大量的计算机资源,我一直在我的开发PC中使用它,并且从未遇到过任何问题严重的问题。

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

I'm using Oracle/SQL Server/MySql for different applications and site

No Database beat can Oracle in many different area, but it's the most database that require deep knowledge for the administration.

and if you found a problem with oracle, may spend few times to solve it even with good DBAs guys.

You can go with MySql for 500K or millions of records, it's more light than other DB, and require zero administration work, and will not take a lot of your computer resources, I always have it in my development PC, and never had faced any serious problem with it.

I would require you go with MySql or PostgreSQL if you don't need the advanced featuers of Oracle.

岁月静好 2024-07-13 05:22:09

确实,Oracle 是一头野兽。

Oracle 确实被广泛认为是最安全的主要数据库。

问题在于 Oracle 的开发人员似乎没有掌握关键的安全概念。 Oracle 是市场上最不安全的数据库服务器(根据独立安全研究人员的说法)

http://itic-corp.com/blog/2010/09/sql-server-most-secure-database-oracle-least-secure-database -since-2002/

根据这些研究人员的说法,MySQL 实际上相当安全。 我对可用的工具了解不多。 这项研究最有趣的是,那些将 Microsoft SQL Server 称为玩具的人,他们的数据却被 MSSQL 阻止的攻击者窃取,因为他们使用的是一个具有糟糕安全模型的野兽,而不是一个安全模型很差的“玩具”。安全的。

It's true that Oracle is a beast.

It is also true that Oracle is widely considered the most secure major database.

The problem is that Oracle's devs don't appear to grasp critical security consepts. Oracle is the least secure database server on the market (According to independent security researchers)

http://itic-corp.com/blog/2010/09/sql-server-most-secure-database-oracle-least-secure-database-since-2002/

MySQL is actually fairly secure according to these researchers. I don't know much about the tools available for it. What's most amusing about this research is that the same people who would call Microsoft SQL server a toy would have their data stolen by attackers that MSSQL would thwart because they are using a beast that has a terrible security model rather than a "toy" that is secure.

心安伴我暖 2024-07-13 05:22:09

我有一个项目,将数据(约 10M 行,1.2GB 数据)发送到三个不同的数据库:2 个 Oracle 和 1 个 MySQL。 我在使用这两个系统时都没有遇到任何问题,也没有看到任何一方有任何重大优势。 如果您所在的地方已经在其他项目中使用 Oracle,那么添加一个新数据库应该不会有太大问题,但如果您正在考虑设置一个新的数据库服务器并且没有任何内容已经到位了,MySQL 将为您省钱。

I have a project that sends data (~10M rows, 1.2GB of data) to three different databases, 2 Oracle and 1 MySQL. I haven't had problems working with either system, nor have I seen any major advantages on either side. If you're in a place that already uses Oracle for other projects, adding on one new database shouldn't be too much of a problem, but if you're thinking of setting up a new database server and don't have anything in place already, MySQL will save you the money.

一片旧的回忆 2024-07-13 05:22:09

Oracle 更强大。 它的许多功能只能在大型企业或高性能环境中使用。 它们主要是与扩展、复制和负载平衡有关的功能。

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

编辑:阅读其他答案后,我将补充一点,如果您的数据确实非常重要,您将需要复制设置您可能需要向大型数据库提供商之一寻求类似的东西。

如果您可以牺牲潜在的(极其罕见)数据丢失并且希望提高性能,请考虑一些轻量级选项。

Oracle is a lot beefier. Many of its features would only be looked for in a larger enterprise or high-performance setting. They're mainly features to do with scaling, replication and load balancing.

For small DBs, consider SQLite. For small-medium, look at MySQL or PostgreSQL. For the largest, look at MSSQL, Oracle, DB2, etc.

Edit: Having read the other answer, I'll add that if your data is really, really critical, you'll want a replicated setup and you'll probably want to look to one of the big DB providers for something like that.

If you can sacrifice potential (exceedingly rare) data losses and would prefer improved performance, look at some of the lighter-weight options.

万水千山粽是情ミ 2024-07-13 05:22:09

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

The answer depends entirely on how you configure each DBMS.
Both are capable of handling 500,000 records many times over.

余生再见 2024-07-13 05:22:09

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

正如您所描述的这样一个小型数据库可以由大多数东西来处理,所以我认为除非基础设施已经就位,否则 Oracle 是有保证的。 两者都有复制、事务和热备份,因此两者都可以很好地使用。

Oracle Enterprise assumes that there is an Enterprise to support it, ie, a real Oracle DBA. A novice (but competent) DBA should be able to secure MySQL much more easily than Oracle, just because Oracle is inherently more complex. Of course, Oracle has the Enterprise monitoring tools beyond what MySQL currently features (as far as I've seen) but the DBA needs to be able use them to be effective.

Such a small database as you describe could be handled by most anything so I can't see that Oracle would be warranted unless the infrastructure was already in place. Both have replication, transactions and warm-backups so either would serve well.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文