MySQL,MSSql,Oracle:何时使用哪个?

时间:2009-07-26 12:56:14

标签: mysql sql-server database oracle

  • 有什么限制?
  • 无论磁盘空间如何,每个都可以处理特定数量的数据吗?
  • 何时使用假设许可不是问题?

7 个答案:

答案 0 :(得分:9)

这是一个非常微妙的问题,实际上无法轻易回答,因为每种情况都可以提供许多优点和缺点。此外,MySQL现在由Oracle拥有,而主要功能的几个分支意味着MySQL!= MySQL。

如果您正在寻找非常大的数据集,那么您将不得不打破RDBMS集并开始研究MapReduce和其他大型数据集处理技术。

在过去的十年左右,我从应用程序的角度亲自与这三个人合作过。他们都有自己的优势,比如MSSQL与LINQ等其他微软技术一起工作,因为MySQL拥有大量的开放社区支持,而Oracle是商业领域的主力,有很多将应用程序逻辑嵌入数据库的能力。

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

答案 1 :(得分:3)

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

  • MySQL和Postgres被大量初创公司广泛使用,因为它的开源并且有很多人支持使用它
  • 如果您使用MS编程语言,MSSQL很好,因为它易于连接和使用。
  • 我从来没有使用过oracle但是知道人们在数据仓库中使用它很多,所以不能有那么多糟糕的名字

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

选择所有开发人员都熟悉的

答案 2 :(得分:2)

我想说如果你想比较苹果和苹果,那么它是MySQL vs SQL Express,而不是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

答案 3 :(得分:1)

至于skaffman的观点,如果mysql没有为你缩放,你可能想看看postgres。它比mysql更成熟,更健壮,是开源的。进行切换的时间高度依赖于您的应用程序环境,但是,如果您需要群集和复制在100%的时间内正常工作,那么postgres将不会让您失望(正如mysql过去对我一样)

答案 4 :(得分:0)

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

不要假设有关许可的任何事情。找一个律师,甚至可能是一个专门研究开源法的人。

“......无论磁盘空间如何......” - 容量总是取决于此。您认为数据在哪里?最好考虑分享数据,RAID,群集,复制等内容。

我担心任何系统的开发者必须来这样的论坛才能提出这样的问题。你应该让具有足够技能和知识的人员对这类事情有强烈的意见。

答案 5 :(得分:0)

在这些情况下,人们忽略的一个变量可能是专家支持的可用性。好吧,所以目前有一个供过于求的人可以帮助你解决数据库问题,效率问题,灾难恢复等问题。但是未来可能并非总是这样,而且你使用它的应用程序可能是定义问题。您组织中是否有人在一个或多个相关数据库中拥有经验? (事实上​​,我相信那些熟练掌握Oracle的人,可以在相当短的时间内在Sql * Server或Mysql中变得相当称职)你说它将用于你的金融系统 - 也许你真的需要输入来自一位致力于实施和/或支持财务系统的顾问 - 例如,我了解Sybase在City类型公司中很受欢迎。或许有一个现成的包使用首选数据库?尝试并准确定义您的系统首先需要做什么。

答案 6 :(得分:0)

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

  • 如果购买,它是否支持所有三个和 与应用程序供应商讨论 差异?
  • 如果是Build,那么它是内部的 建立或外包。如果签约 出来,提出你的要求和 让供应商放他们的 参数。
  • 如果在室内建造,那么先看看 为什么你没有外包。 通常是因为你已经 有内部能力,所以看 在那种专业知识上。

您首先需要一些尺寸信息。 您是在谈论以兆字节,千兆字节还是太字节为单位的数据量? 您的正常运行时间要求是什么,备份(恢复时间/恢复点)? 并发活动多少钱?那是高峰吗?

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