答案 0 :(得分:9)
这是一个非常微妙的问题,实际上无法轻易回答,因为每种情况都可以提供许多优点和缺点。此外,MySQL现在由Oracle拥有,而主要功能的几个分支意味着MySQL!= MySQL。
如果您正在寻找非常大的数据集,那么您将不得不打破RDBMS集并开始研究MapReduce和其他大型数据集处理技术。
在过去的十年左右,我从应用程序的角度亲自与这三个人合作过。他们都有自己的优势,比如MSSQL与LINQ等其他微软技术一起工作,因为MySQL拥有大量的开放社区支持,而Oracle是商业领域的主力,有很多将应用程序逻辑嵌入数据库的能力。
同样,它实际上取决于应用程序,情况,开发后维护它的人员的技能,商业考虑,硬件和平台考虑等等。
答案 1 :(得分:3)
这取决于你想要做什么,显然它与成本有关。
所有这些在扩展时都会遇到类似的问题,因为它们是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)
应用程序是购买还是构建?
您首先需要一些尺寸信息。 您是在谈论以兆字节,千兆字节还是太字节为单位的数据量? 您的正常运行时间要求是什么,备份(恢复时间/恢复点)? 并发活动多少钱?那是高峰吗?
通常,任何数据库系统都适用于数据存储和检索。您可能需要考虑高端分析,负载平衡,复制,管理,备份/恢复,可审计性,安全性。