MS SQL Server和Oracle,哪一个在可伸缩性方面更好?
例如,如果数据大小达到500 TB等SQL Server和Oracle,哪一个在可伸缩性方面更好?
回答
oracle人会告诉你oracle比较好,sql server peopele会告诉你sql server比较好。 我说他们的规模几乎相同。使用你所知道的更好。你有那里的数据库,这是在oracle以及SQL服务器上的大小
它也将取决于你的应用程序的意思。如果它只使用插入而只有很少的更新,那么我认为MSSQL在性能方面更具可扩展性和更好性。但是如果有更新的话,那么Oracle会更好地扩展
问题#15 Oracle或MSSQL是否会扩展/更好地运行。无论您是在运行Oracle,MSSQL,Informix还是其他任何软件,数据模型都是第一个make-it或break-it项目。数据模型结构,应用程序的类型,访问数据库的方式等等,您的开发人员所熟悉的平台适用于大型系统等,这是您应该问自己的第一个问题。
Oracle和SQL Server都是共享磁盘数据库,因此它们受限于表扫描大量数据的查询的磁盘带宽。诸如Teradata,Netezza或DB/2 Parallel Edition的产品是'shared nothing'架构,其中数据库在各个节点上存储水平分区。这种体系结构提供了最佳的并行查询性能,因为每个节点上的本地磁盘不会受限于SAN上的中央瓶颈。
共享磁盘系统(如Oracle Real Application Clusters或Clustered 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 views和Query rewrite提供了更成熟的支持来优化关系查询。 SQL2005确实具有一些查询重写功能,但它的记录很差,我没有看到它在生产系统中使用。但是,Microsoft会建议您使用Analysis Services,它确实支持无共享配置。
除非你有真正的圣经的数据量和Oracle和无共享架构,如Teradata的,你可能会看到Oracle和SQL Server之间几乎没有实际差别之间进行选择。特别是自SQL2005推出以来,SQL Server中的分区设施被认为已经足够好了,并且已经成功实现了个multi-terabyte系统的plenty。
我已经在甲骨文公司担任DBA(虽然有些年以前),现在我广泛使用MSSQL,虽然不是一个正式的DBA。我的建议是,在绝大多数情况下,两者都会满足你可以投入的所有内容,并且性能问题将更多地依赖于数据库设计和部署,而不是产品的基本特征,在两种情况下都是完全和完全的坚实(MSSQL是MS在许多人的观点中所做出的最好的产品,所以不要让通常的MS认知会让你失望)。
自己,我会倾向MSSQL,除非你的系统将是非常大的,真正的企业级(用户的庞大的数字,多9的正常运行时间等),只是因为在我的经验甲骨文往往需要DBA知识更高水平和维护比MSSQL更好地利用它。对于初始部署和为其雇用DBA的成本,Oracle也往往更昂贵。 OTOH如果你正在寻找一个企业系统,那么Oracle会有优势,尤其是如果你能负担得起,他们的支持是首屈一指的。
我很怀疑,你会得到一个客观的回答这个特定问题,直到你遇到的人已经实现两个平台上相同的数据库(架构,数据等)。
但是,考虑到你可以找到数以百万计的两个数据库的快乐用户,我敢说没有太多的延伸说任何一个都可以缩放(我已经看到了Sql 2005的快速实现300 TB这似乎相当敏感)
我不得不同意那些说deisgn更重要的人。
我和许多不同口味的超高速和超慢的数据库工作(绝对最差是一个Oracle数据库,但它不是甲骨文的故障)。数据库的设计以及如何决定指数,并对其进行分区和查询它有更多的做的可扩展性比产品是来自MSSQL Server或Oracle。
我想你可以更容易地找到更多具有Terrabyte数据库经验的Oracle数据库(运行大型数据库就像知道特定的SQL风格一样是一项专业),但这可能取决于您的本地区域。
当你到淫秽的数据库大小(其中超过1TB真是够大的,和500TB的海量该死的),则操作支援必须在需求列表上得很高。有了这么多的数据,你就不会吝啬一分钱捏系统规格。
你打算如何备份系统的大小?升级操作系统并修补数据库?关注可扩展性和可靠性?
我有Oracle和MS SQL的经验,并为真正的真正的大系统(用户数据或重要性),那么甲骨文是运营支持和数据管理更好的设计。
每一个试图备份和在多个数据库上的事务日志文件的多个实例恢复1TB + SQL Server数据库拆分被每个数据库到处吐出来,并试图保持它的所有同步?祝你好运。
对于Oracle,您有一个数据库(所以我不同意“无共享”方法更好),一组REDO日志(1)和一组存档日志(2),您可以添加额外的硬件节点不改变(即重新分区)您的应用程序和数据。
(1)重做日志是,当然,镜像。 (2)归档日志当然存储在多个位置。
当你谈论500TB,即(一)大和(b)专业。 我会去咨询公司与适当的专家来看看现有的技能,与现有技术堆栈,预期使用情况,备份/恢复/灾难恢复需求的集成....
总之,它不是根据来自stackoverflow的意见,我将会进入一些项目。没有任何意图,但有太多因素需要考虑,其中很多因素都是商业机密。
甲骨文像高品质的手动胶片相机,它需要最好摄影师采取而MS SQL最佳画面等的自动数码相机。在过去,当然,所有专业摄影师都会使用胶卷相机,现在想想有多少专业摄影师使用自动数码相机。
- 1. SQL Server 2008可伸缩性选项
- 2. Oracle Forms的可伸缩性
- 3. TaskCompletionSource具有更好的可伸缩性?
- 4. 哪种MongoDB方法更适合代码可读性和可伸缩性?
- 5. 面向对象和可伸缩性
- 6. 哪个更适合可伸缩性多个数据库或NoSql?
- 7. 哪个java web框架具有高性能和可伸缩性
- 8. 可伸缩性和可用性
- 9. SQL中哪一个更好?
- 10. 用于优化性能和可伸缩性的SQL Server 2008安装指针
- 11. IIS可伸缩性
- 12. 在性能方面,<c:import>和<jsp:include>中哪一个更好?
- 13. 哪个(下面两个)在ActionScript编程的方法更好/ preferrable /性能更好
- 14. Web API并发性和可伸缩性
- 15. java +提高性能和可伸缩性
- 16. WCF性能,延迟和可伸缩性
- 17. 狮身人面像可伸缩性
- 18. UI:哪一个更好菜单层次更好可用性
- 19. 在性能方面,哪个更好:foo.setVisibility(View.GONE)还是parent.removeView(foo)?
- 20. SQL索引性能,哪个更好?
- 21. 哪一个在SquishIt和Combres2之间有更好的缩小?
- 22. 在查询mongodb时哪种方法在性能方面更好?
- 23. Spring MVC,@SessionAttribute和可伸缩性
- 24. Mysql,SQLite,可伸缩性
- 25. aho corasick的可伸缩性
- 26. SharePoint列表可伸缩性
- 27. Cytoscape.js的可伸缩性
- 28. 用于node.js/Oracle连接的Oracle lib:哪一个更好?
- 29. 哪个SQL语句更好?
- 30. 哪一个有更好的性能?
非常好的总结! – 2008-09-24 13:09:33
我在SAN中看到的主要问题是配置它们的人。他们不了解需要专用主轴和多个控制器等。 如果你看看Oracle优化仓库规格,你会看到几个超过20GBytes /秒。可以办到。 – 2008-09-25 03:37:57
无论SAN多大,SAN仍然是单一资源。在无共享系统上,您可以在每个节点上拥有本地I/O,因此存储和带宽可以随节点数量扩展。 – ConcernedOfTunbridgeWells 2008-10-01 14:24:27