2008-09-24 76 views

回答

1

oracle人会告诉你oracle比较好,sql server peopele会告诉你sql server比较好。 我说他们的规模几乎相同。使用你所知道的更好。你有那里的数据库,这是在oracle以及SQL服务器上的大小

0

它也将取决于你的应用程序的意思。如果它只使用插入而只有很少的更新,那么我认为MSSQL在性能方面更具可扩展性和更好性。但是如果有更新的话,那么Oracle会更好地扩展

4

问题#15 Oracle或MSSQL是否会扩展/更好地运行。无论您是在运行Oracle,MSSQL,Informix还是其他任何软件,数据模型都是第一个make-it或break-it项目。数据模型结构,应用程序的类型,访问数据库的方式等等,您的开发人员所熟悉的平台适用于大型系统等,这是您应该问自己的第一个问题。

21

Oracle和SQL Server都是共享磁盘数据库,因此它们受限于表扫描大量数据的查询的磁盘带宽。诸如Teradata,NetezzaDB/2 Parallel Edition的产品是'shared nothing'架构,其中数据库在各个节点上存储水平分区。这种体系结构提供了最佳的并行查询性能,因为每个节点上的本地磁盘不会受限于SAN上的中央瓶颈。

共享磁盘系统(如Oracle Real Application ClustersClustered SQL Server安装仍然需要一个共享的SAN,这受限带宽用于流。在一个VLDB这可以严重地限制了表扫描性能这是可能实现的。大多数数据仓库查询运行表或范围扫描跨越大块数据,如果查询的命中率超过百分之几,则单个表扫描通常是最佳查询计划

节点上的多个本地直接连接磁盘阵列可提供更多磁盘带宽

说到我知道Oracle DW店(专业欧洲电信公司),该公司拥有基于Oracle的数据仓库,每天加载600 GB的数据,因此共享磁盘体系结构似乎不会带来无法克服的限制。

在MS-SQL和Oracle之间有一些差异。 IMHO Oracle有更好VLDB支持比的原因如下SQL服务器:

  • Oracle有用于bitmap indexes,其适合于高速数据仓库查询索引结构的本地支持。他们基本上是为CPU进行I/O折衷,因为它们是运行长度编码的并且使用相对较少的空间。另一方面,微软声称Index Intersection没有明显的慢。

  • Oracle比SQL Server拥有更好的表分区功能。 IIRC SQL Server 2005中的表分区只能在单个列上完成。

  • Oracle可以在somewhatlargerhardware比SQL Server运行,但一个可以运行在一些quiterespectablylarge系统SQL服务器。

  • Oracle对Materialized viewsQuery rewrite提供了更成熟的支持来优化关系查询。 SQL2005确实具有一些查询重写功能,但它的记录很差,我没有看到它在生产系统中使用。但是,Microsoft会建议您使用Analysis Services,它确实支持无共享配置。

除非你有真正的圣经的数据量和Oracle和无共享架构,如Teradata的,你可能会看到Oracle和SQL Server之间几乎没有实际差别之间进行选择。特别是自SQL2005推出以来,SQL Server中的分区设施被认为已经足够好了,并且已经成功实现了个multi-terabyte系统的plenty

+0

非常好的总结! – 2008-09-24 13:09:33

+0

我在SAN中看到的主要问题是配置它们的人。他们不了解需要专用主轴和多个控制器等。 如果你看看Oracle优化仓库规格,你会看到几个超过20GBytes /秒。可以办到。 – 2008-09-25 03:37:57

+0

无论SAN多大,SAN仍然是单一资源。在无共享系统上,您可以在每个节点上拥有本地I/O,因此存储和带宽可以随节点数量扩展。 – ConcernedOfTunbridgeWells 2008-10-01 14:24:27

3

我已经在甲骨文公司担任DBA(虽然有些年以前),现在我广泛使用MSSQL,虽然不是一个正式的DBA。我的建议是,在绝大多数情况下,两者都会满足你可以投入的所有内容,并且性能问题将更多地依赖于数据库设计和部署,而不是产品的基本特征,在两种情况下都是完全和完全的坚实(MSSQL是MS在许多人的观点中所做出的最好的产品,所以不要让通常的MS认知会让你失望)。

自己,我会倾向MSSQL,除非你的系统将是非常大的,真正的企业级(用户的庞大的数字,多9的正常运行时间等),只是因为在我的经验甲骨文往往需要DBA知识更高水平和维护比MSSQL更好地利用它。对于初始部署和为其雇用DBA的成本,Oracle也往往更昂贵。 OTOH如果你正在寻找一个企业系统,那么Oracle会有优势,尤其是如果你能负担得起,他们的支持是首屈一指的。

0

我很怀疑,你会得到一个客观的回答这个特定问题,直到你遇到的人已经实现两个平台上相同的数据库(架构,数据等)。

但是,考虑到你可以找到数以百万计的两个数据库的快乐用户,我敢说没有太多的延伸说任何一个都可以缩放(我已经看到了Sql 2005的快速实现300 TB这似乎相当敏感)

3

我不得不同意那些说deisgn更重要的人。

我和许多不同口味的超高速和超慢的数据库工作(绝对最差是一个Oracle数据库,但它不是甲骨文的故障)。数据库的设计以及如何决定指数,并对其进行分区和查询它有更多的做的可扩展性比产品是来自MSSQL Server或Oracle。

我想你可以更容易地找到更多具有Terrabyte数据库经验的Oracle数据库(运行大型数据库就像知道特定的SQL风格一样是一项专业),但这可能取决于您的本地区域。

2

当你到淫秽的数据库大小(其中超过1TB真是够大的,和500TB的海量该死的),则操作支援必须在需求列表上得很高。有了这么多的数据,你就不会吝啬一分钱捏系统规格。

你打算如何备份系统的大小?升级操作系统并修补数据库?关注可扩展性和可靠性?

我有Oracle和MS SQL的经验,并为真正的真正的大系统(用户数据或重要性),那么甲骨文是运营支持和数据管理更好的设计。

每一个试图备份和在多个数据库上的事务日志文件的多个实例恢复1TB + SQL Server数据库拆分被每个数据库到处吐出来,并试图保持它的所有同步?祝你好运。

对于Oracle,您有一个数据库(所以我不同意“无共享”方法更好),一组REDO日志(1)和一组存档日志(2),您可以添加额外的硬件节点不改变(即重新分区)您的应用程序和数据。

(1)重做日志是,当然,镜像。 (2)归档日志当然存储在多个位置。

5

当你谈论500TB,即(一)大和(b)专业。 我会去咨询公司与适当的专家来看看现有的技能,与现有技术堆栈,预期使用情况,备份/恢复/灾难恢复需求的集成....

总之,它不是根据来自stackoverflow的意见,我将会进入一些项目。没有任何意图,但有太多因素需要考虑,其中很多因素都是商业机密。

0

甲骨文像高品质的手动胶片相机,它需要最好摄影师采取而MS SQL最佳画面等的自动数码相机。在过去,当然,所有专业摄影师都会使用胶卷相机,现在想想有多少专业摄影师使用自动数码相机。