- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
卸载智能扫描-Error.PDF
第2 章
卸载/智能扫描
卸载(Offloading )是Exadata 的独门武器,正是它让Exadata 不同于其他任何一种运行Oracle
的平台。卸载指的是将处理能力从数据库服务器转移到存储层,它也正是Exadata 平台提供的主要
卖点,它不仅仅转移了CPU 的使用,更主要的好处是减少了那些必须要返回给数据库服务器的数
据量,而这正是大多数大型数据库的主要瓶颈所在。
卸载这个词在某些方面可以跟智能扫描(Smart Scan )互通,我们认为卸载是更好的描述方式,
因为它指出了一部分传统上由数据库处理的SQL 流程现在可以从数据库层面 “卸载(offloaded )”
到存储层面。这是一个更普适的措辞,它可以被用在那些甚至与SQL 处理并无关系的优化上,比
如用于提高备份和恢复操作的效率。
而另一方面,智能扫描,是一个更狭义的词汇,仅仅是指 Exadata 对 SQL 语句的优化方式,
当进行扫描操作(通常是全表扫描)的时候,这些优化就会起作用。对于智能扫描更明确的定义也
体现在 Oracle 核心代码中对于智能扫描相关等待事件的命名上,实际上有两个等待事件在名称中
包含了 “Smart Scan ”字样,即“Cell Smart Table Scan ”和 “Cell Smart Index Scan ”。我们将在后
续的第10 章里更详细地探讨这两个等待事件。好吧,我承认 “智能扫描”这个词确实带有一些市
场推广的成分,但是在代码上也确实有等待事件以此命名。无论如何,虽然这两个词在某些程度上
可以互通,但是请记住 “卸载”指的可不仅仅是加速SQL 语句的执行。
本章我们将主要讲述“智能扫描”这种优化方式。我们会提到跟智能扫描相关的多种优化手段,
它们是如何工作的,以及如果想使用智能扫描,那么有哪些前提条件必须满足。我们也会讲述一些
技术,用以帮助你确认对于给定的 SQL 语句,智能扫描有否被使用到。至于在本书别的章节会提
到的其他卸载优化,本章仅仅会做简要描述。
2.1 为何卸载如此重要
我们无法更加强调这个概念是何等重要,将数据库的处理能力转移到存储层这样的理念绝对是
一个巨大的飞跃。这种概念已经存在了一段时间,实际上在几年前就有传言说 Oracle 带着这种想
法跟至少一家最大的SAN 制造厂商进行过密谈。显然那时候存储制造商对此想法并无兴趣,于是
Oracle 决定靠一己之力来推进这个理念。随后Oracle 与惠普(HP )合作推出了最开始的Exadata V1 ,
集成了卸载的概念。没过几年,Oracle 就出手收购了太阳微系统公司(Sun Microsystems),这使得
21
深入理解Oracle Exadata
Oracle 一举成为可以全面提供软硬件整合解决方案的公司,这也让 Oracle 可以完全控制到底想将
哪些功能整合到产品里去。
卸载的重要性在于,当前大型数据库中一大主要瓶颈就是在磁盘系统和数据库服务器之间传输
必要的能够满足数据仓库类型的查询所消耗的大量时间(因为带宽所限)。这一方面是硬件架构的
问题,但是更大的问题在于传统Oracle 数据库所传输的大量数据。Oracle 数据库处理数据非常快
也非常聪明,但是对于那些要读取大量数据的查询,将这些数据取到数据库来仍然会消耗很长时间。
所以就跟任何优秀的性能调整专家一样,Oracle 开始致力于减少最消耗时间的那些操作所花的时
间。在分析中他们意识到每个需要磁盘读的查询会因为有大量数据要返回并由数据库服务器来处理
而显得特别低效。Oracle 研发了最好的缓存管理机制,但是对于那些确实庞大的数据集,将所有数
据都保留在数据库服务器的内存中实在是不切实际的。
Kevin 说 :作者们很好地解读了 Oracle 查询处理的发展历程。不过我还是想提醒各位,当今商
用的 x64 服务器已经不再在架构上限制内存配置了。比如基于具有 QuickPath 互联功能的 Intel
Xeon 7500 处理器的服务器就支持在多DIMM 插槽上的大量内存通道,商用服务器具有数TB 内存
已然非常普遍。实际上,X2-8 Exadata 就支持在数据库网格上拥有2TB 内存,并且此能力随着时
间推移必然会不断增强。走向极大内存的 x64 系统的潮流方兴
文档评论(0)