MySQL、MSSql、Oracle:啥时候用哪个? [关闭]

Posted

技术标签:

【中文标题】MySQL、MSSql、Oracle:啥时候用哪个? [关闭]【英文标题】:MySQL, MSSql, Oracle: When to use which? [closed]MySQL、MSSql、Oracle:什么时候用哪个? [关闭] 【发布时间】:2010-11-14 03:30:39 【问题描述】: 有什么限制? 无论磁盘空间大小,是否有特定的数据量可以处理? 什么时候使用假设许可没有问题?

【问题讨论】:

一个更重要的问题:你有多少钱? 如果你没有现金,mysql 可能就是答案。如果您确实有现金,并且您使用的是 Linux(或任何其他 Unix 平台),那么 MySQL 仍然很可能是答案。 【参考方案1】:

如果你想比较苹果和苹果,那就是 MySQL vs SQL Express, vs Oracle Express。

或者,如果您有 $,那么它是 MySQL 支持许可证、MS-SQL 标准,而不是 Oracle 最便宜的产品。

根据我的经验,一旦您选择了一种语言,例如php 最适合 MySQL,然后你选择了你的数据库。 Java 与 Oracle 配合得很好。 C# 与 MSSQL 配合得很好。

同样,如果您选择操作系统,则 unix 版本运行 MySQL 或 Oracle,但 MSSQL 仅适用于 Windows。 MySQL 和 Oracle 当然可以在 unix 和 windows 上运行。

If you need to buy many machines, then not having to pay OS licenses for the server helps in scaling.

【讨论】:

Java 适用于任何类型的数据库,而不仅仅是 Oracle。你是如何得到分析的? 例如 MS-SQL JDBC 驱动程序是事后才想到的,因为 MS 的 C# 与 Java 竞争。同样,甲骨文现在拥有 Java,将更有动力确保 JDBC 驱动程序与甲骨文一起工作。公司只是不支持与拥有您期望的员工和资源的竞争公司进行整合。 MySQL JDBC 库怎么样? MySQL 自己创建了 JDBC 库,它与 Java 配合得很好。即使您不想使用 MS-SQL JDBC 驱动程序,JTDS 库也适用于 Java。【参考方案2】:

应用程序是购买还是构建?

如果购买,是否支持所有三个和 与应用程序供应商讨论 区别? 如果是 Build,那么它是内部的吗? 建造或外包。如果承包 出来,提出你的要求和 让供应商把他们的 论据。 如果在内部构建,则首先查看 为什么你不外包。 通常是因为你已经 有内部能力,所以看看 拥有该专业知识。

您首先需要一些尺码信息。 你说的是兆字节、千兆字节还是太字节的数据量? 您的正常运行时间要求是什么,备份(恢复时间/恢复点)? 多少并发活动?是高峰吗?

通常任何数据库系统都可以用于数据存储和检索。高端分析、负载平衡、复制、管理、备份/恢复、可审计性、安全性都是您可能需要考虑的领域。

【讨论】:

【参考方案3】:

在这些情况下,人们可能忽略的一个变量是专家支持的可用性。好的,所以目前可以帮助您解决数据库问题、效率问题、灾难恢复等问题的人供过于求。但是,将来可能并非总是如此,您使用它的应用程序可能是决定性问题.您的组织中是否有人在一个或多个相关数据库方面有经验? (碰巧我相信精通 Oracle 的人可以在相当短的时间内变得相当胜任 Sql*Server 或 Mysql)您声明它将用于您的财务系统 - 也许您真的需要输入来自一位致力于实施和/或支持金融系统的顾问 - 例如,我知道 Sybase 在城市类型的公司中很受欢迎。或者也许有一个使用首选数据库的现成包?尝试并准确定义您的系统首先需要做什么。

【讨论】:

【参考方案4】:

如果您提供详细信息,例如您是否打算将数据库与您的软件一起分发,这将大大有助于缩小范围;您的系统将被托管;有多少数据;等等。

不要对许可做任何假设。找一位律师,甚至可以是专门从事开源法律的律师。

“...无论磁盘空间如何...” - 容量始终取决于此。你认为数据去哪儿了?最好考虑分片数据、RAID、集群、复制等。

我会担心任何系统的开发人员必须来到这样的论坛才能提出这类问题。你应该让员工拥有足够的技能和知识,以便对这类事情有强烈的看法。

【讨论】:

【参考方案5】:

这是一个非常微妙的问题,确实不容易回答,因为每种情况都可以提供许多优点和缺点。此外,MySQL 现在归 Oracle 所有,主要功能的几个分支意味着 MySQL != MySQL 不再存在。

如果您正在寻找真正真正的大数据集,那么您将不得不打破 RDBMS 集并开始研究诸如 MapReduce 和其他大数据集处理技术之类的东西。

在过去十年左右的时间里,从应用程序的角度来看,我亲自与这三个人一起工作过。它们都有自己的优势,例如 MSSQL 将与其他 Microsoft 技术(如 LINQ)一起使用,其中 MySQL 拥有大型开放社区支持,而 Oracle 是商业部门的主力军,具有将应用程序逻辑嵌入数据库的大量能力。

同样,这真的取决于应用程序、情况、开发后维护它的人员的技能、商业考虑、硬件和平台考虑等等等等。

【讨论】:

这也取决于您所在的商店已经在使用什么。如果他们已经投资于特定的 DBMS,在大多数情况下,如果您为他们工作,那应该是您的选择。【参考方案6】:

这取决于你想要做什么,显然它与成本有关。

MySQL 和 Postgres 被大量初创公司广泛使用,因为它是开源的,并且为使用它的人们提供了很多支持 如果您使用 MS 编程语言,MSSQL 是很好的选择,因为它易于连接和使用。 我从未使用过 oracle,但我知道人们经常将它用于数据仓库,所以不能有那么坏的名字

所有这些在扩展时都会遇到类似的问题,因为它们是 RDBMS 数据库。他们也确实有很好的方法来绕过它,并且在你的代码中使用了一个不错的 ORM,那么你使用什么就无关紧要了。

选择所有开发人员都喜欢的那个

【讨论】:

我同意这一点,“选择所有开发人员都满意的那个”..!!【参考方案7】:

至于 skaffman 的观点,如果 mysql 不适合你,你可能想看看 postgres。它比 mysql 更成熟、更强大,并且是开源的。进行切换的时间很大程度上取决于您的应用程序环境,但是,如果您需要集群和复制以 100% 的时间正常工作,那么 postgres 不会让您失望(就像 mysql 过去对我一样)

【讨论】:

彼得卖家头像ftw 我们正在尝试决定将哪一个用于我们的金融系统。数据库系统有限制吗? @Joel,@Steve - 在我的个人资料中添加了头像的简短说明。我最喜欢的台词之一:“Animals can be bred and Slaughtered” “slaughtered”的变形是纯粹的天才! @Saj - 您应该再次考虑影响数据的所有标准和因素。没有硬性规定。如果 mysql 不适合您,我只是想指出一个合理的开源替代方案。如果是这种情况,不要在 Oracle 许可证上花一大笔钱,而是考虑使用 postgres。

以上是关于MySQL、MSSql、Oracle:啥时候用哪个? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

为啥MYSQL很少人用视图,MYSQL的视图和MSSQL的视图有啥本质区别。

mssql关于文件操作的问题

mssql如何实现多表快速like查询

php+mssql 和 php+mysql 优点缺点

mssql 如何初始 id

mssql查询问题