SQL-Server-2008性能和可扩展性_第1页
SQL-Server-2008性能和可扩展性_第2页
SQL-Server-2008性能和可扩展性_第3页
SQL-Server-2008性能和可扩展性_第4页
SQL-Server-2008性能和可扩展性_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SQL Server 2008性能和可扩展性SQL Server 技术文档作者:Ann Weber (内容主管)技术审核员:Michael Raheem 和Niraj Nagrani项目编辑:Joanne Hodgins发布日期:2007年8月适用产品:SQL Server 2008概述:Microsoft SQL Server 2008所集成的工具和技术都是实施关系型数据库、报表系统、以及企业级数据仓库所必需的,并且还针对性能做了优化。通过SQL Server 2008,你可以在利用最新硬件技术的同时,对服务器进行整合。SQLServer2008还可以帮助你将复杂的数据解决方案进行扩展。版权

2、该白皮书为初步文档,可能会在所述软件进行最后商业发布之前做完全修改。本文档所包含的信息代表了在发布之日,Microsoft Corporation(微软公司)对所讨论问题的当前看法。因为Microsoft必须顺应不断变化的市场条件,故不应将本文档理解为Microsoft一方的承诺,Microsoft不保证所给出的信息在发布之日以后的准确性。本白皮书仅用于提供信息。Microsoft对本文档中的信息不做任何明示、默示或法定的担保。遵守所有适用的版权法律是用户的责任。在不对版权法所规定的权利加以限制的情况下,未得到Microsoft Corporation明确的书面许可,不得为任何目的、以任何形式

3、或手段(电子的、机械的、影印、录制等等)复制、传播本文的任何部分,也不得将其存储或引入到检索系统中。 本文档可能涉及Microsoft的专利、专利申请、商标、版权或其它知识产权。除非Microsoft通过书面许可协议明确提供,此文档并没有授予您对这些专利、商标、版权或其它知识产权的任何许可。除非特别说明,此处所述作为范例的公司、组织、产品、域名、电子邮件地址、徽标、人员、地点和事件均为虚构,不与任何真实的公司、组织、产品、域名、电子邮件地址、徽标、人员、地点或事件有任何联系,也不应据此进行任何臆测或推断。 2007 Microsoft Corporation. 保留所有权利。Microsoft

4、 SQL Server以及Windows Server是Microsoft Corporation在美国和/或其它国家的注册商标或商标。所有其它商标均是其各自所有者的财产。目录导言1使用SQL Server 2008优化性能1关系型数据库的性能1可测量的实际性能1高性能的查询处理引擎1性能优化工具2Resource Governor2性能套件2数据仓库和分析性能3报表服务性能4集成服务性能4扩展SQL Server 20084硬件支持4热插拔硬件5高级并发特性5使用SQL Server 2008向外扩展5可扩展的共享数据库5数据选择路由5点对点复制6查询通知6扩展分析服务6总结6导言现今的公司

5、需要易访问且可用性好的商业数据,以便他们可以在全球市场中获得一席之地。与易访问数据的这个需求相呼应,关系数据库和分析数据库在规模方面继续发展,内嵌数据库和许多产品一起出现,并且许多公司将服务器合并来减轻管理工作。当公司的数据环境在规模和复杂度方面持续发展的同时,他们必须维护最佳的性能。这篇白皮书描述了SQL Server 2008的性能和扩展能力,并解释了你可以怎样使用这些功能来实现: 使用可用于数据库引擎、分析服务、报表服务和集成服务的工具和功能来优化任何规模的数据库性能。 扩展你的服务器来充分利用新的硬件能力。 扩展你的数据库环境来优化响应速度并使你的数据更易于用户访问。使用SQL Ser

6、ver 2008优化性能由于公司数据在规模和复杂度方面继续发展,你必须采取行动来提供最佳的数据访问时间。SQL Server 2008包括许多特性和增强的功能来优化所有方面的性能,包括关系型联机事务处理(OLTP)数据库;联机分析处理(OLAP)数据库;报表;数据抽取、转换和加载(ETL)处理。关系型数据库的性能在大多数商业环境中,关系型数据库是业务关键应用程序和服务的核心所在。随着数据量的增长,以及依赖于关系数据存储的用户和应用程序数目的增长,公司必须能够确保他们的数据系统具有一致的性能和响应。SQL Server 2008提供了一个强大的数据库引擎,它支持大型关系数据库和复杂的查询处理。

7、可测量的实际性能SQL Server 2008建立在之前SQL Server 版本的行业领先的性能之上,给你的公司提供了最高级的标准数据库性能。使用事务处理性能委员会的TPC-C基准示范了SQL Server 的高性能,Microsoft是第一个发布更新的TCP-E基准结果的数据库销售商,这更精确地表现了现在公司里普遍存在的OLTP工作负载的种类。此外,SQL Server 通过一个创记录的3GB的TPC-H结果显示了它对大范围的数据仓库工作量的执行能力,这表明了SQL Server 2008基础的扩展能力和性能。高性能的查询处理引擎SQL Server 的高性能查询处理引擎帮助用户将他们的应

8、用程序性能提高到最大。这个查询处理引擎评估查询,并产生基于动态维护的、关于索引和密钥选择及数据量统计的最佳查询执行计划。你可以在SQL Server 2008中锁定查询计划以确保普通查询执行时的稳定性能。查询处理引擎还可以利用多核或多处理器系统,并生成能够利用并行性进一步提高性能的执行计划。一般情况下,在查询性能方面最大的瓶颈是磁盘I/O。SQL Server的动态缓存能力降低了对物理磁盘的访问次数,并且查询处理引擎使用预读取扫描来预测一个给定的计划所需的数据页面,并预先将它们读取到缓存里,这可以显著地提高整个性能。另外,SQL Server 2008支持本地数据压缩,从而可以降低必须读取的数

9、据页面的数量,并提高了I/O 工作负载的性能。SQL Server 2008支持表和索引的分割,这使得管理员可以将同一个表或索引分配到单独的物理存储设备上,从而通过多个文件组来控制数据的物理存放位置。在SQL Server 2008中针对查询处理引擎的优化使得它可以并行地访问分区数据,并显著提高了性能。性能优化工具SQL Server 2008包含SQL Server Profiler 和Database Engine Tuning Advisor。通过使用SQL Server Profiler,你可以捕捉应用程序典型负载中所发生的事件,然后在Database Engine Tuning Ad

10、visor 中将这些事件重现,从而针对数据的索引和分区生成相应建议,这样你就可以优化应用程序的性能了。在创建了最适合你的应用程序的工作负载的索引和分区之后,你可以使用SQL Server Agent来制定一个自动的数据库维护计划。这个自动的维护会定期的重新组织或重建索引,并更新索引和选择统计,以确保当数据插入和修改你的数据库的物理数据页面片段时一直提供最佳的性能。Resource Governor通常,一个单独的服务器用来提供多个数据服务。在一些情况下,许多应用程序和工作负载依赖于同一个数据源。在目前所流行的服务器合并的趋势下,要为一个给定的工作负载提供可预测的性能是很困难的,因为同台服务器上

11、的其它工作负载会竞争系统资源。在一个单独的服务器上有多个工作负载,管理员必须避免出现某些问题,例如使其它工作负载一直等待系统资源的失效查询,或者低优先级的工作负载反过来影响高优先级的工作负载。SQL Server 2008提供了Resource Governor,它使得管理员可以对运行在一个SQL Server实例上的各个工作负载定义和分配优先级。工作负载基于如用户、应用程序和数据库等因素,通过对资源定义限制,管理员可以将失效查询的可能性降至最低,还可以限制独占资源的工作负载。通过设置优先级,管理员可以优化一个关键任务的处理性能,同时维护服务器上其它工作负载的可预测性。性能套件SQL Serv

12、er 2008提供了性能套件,它是一套用来收集、分析、排除故障和存储SQL Server 2008诊断信息的集成框架。性能套件为性能监控提供了一个端对端的解决方案,其中包括针对性能数据的低开销收集、集中化存储、以及分析报表。你可以使用SQL Server 2008管理套件来管理收集工作,例如可以使用数据收集器、启动一个收集集合并查看作为性能状态面板的系统收集集合报表。你还可以使用系统存储结构和性能套件应用程序编程接口(API)来建立你自己的基于性能套件的性能管理工具。性能套件提供了一个统一的数据收集基础架构,它在每一个你想监控的SQL Server实例中都有一个数据收集器。这个数据收集器非常灵

13、活,它可以管理数据收集范围以适应开发、测试和生产环境。你使用这个数据收集框架就可以轻松地收集性能数据和一般的诊断数据。该数据收集器基础设施推出了以下新的概念和定义: 数据提供商。性能或诊断信息的来源可以包括SQL Trace 、性能计数器和Transact-SQL查询(例如,从分布式的管理视图中获得数据)。 收集器类型。一个逻辑封装,它提供了从数据提供商处收集数据的机制。 收集项目。一个收集器类型的实例。当创建一个收集项目时为这个项目定义输入属性和收集频率。一个收集项目不能单独存在。 收集集合。数据收集的基本单位。一个收集集合是一组收集项目的集合,它们在一个SQL Server 实例上定义和部

14、署。收集集合可以各自独立运行。 收集模式。一个收集集合中数据收集和存储的方式。这个收集模式可以设置为缓存或不缓存。收集模式将影响用于该收集集合的工作和时间表的类型。数据收集器是可扩展的,它可以添加新的数据提供者。当配置数据收集器时,会创建一个默认名称为MDW的关系数据库作为管理数据仓库,其中将存储收集来的数据。这个数据库可以和数据收集器放在同一个系统上,或者放在一个单独的服务器上。管理数据仓库中的对象包括以下三种预配置的模式,其作用各不相同: Core 模式 - 包括用于组织和标识收集到的数据的表和存储过程。 Snapshot 模式 - 包括数据表、视图和其它对象,用于支持标准的收集器类型的数

15、据。 Custom_Snapshot 模式 - 可以创建新的数据表来支持用户定义的、按标准的、以及扩展的收集器类型所创建的收集集合。性能套件提供了一组强大的预先配置的系统收集集合,包括Server Activity、 Query Statistics 和Disk Usage,来帮助你快速分析所收集的数据。通常使用Server Activity 系统收集集合来开始监控和故障排除。在SQL Server管理套件中发布了一组与每一个系统收集集合相关的报表,你可以将这些报表作为性能状态面板来帮助你分析数据库系统的性能,如图1所示。图 1:一个性能套件报表数据仓库和分析性能数据仓库环境必须能够满足数量不

16、断发展的数据和用户需求,并维护最佳的性能。随着数据仓库查询变得越来越复杂,查询的每一部分都必须进行优化以维护可以接受的性能。在SQL Server 2008中,查询优化器可以动态地导入一个最佳的位图过滤器来加强星型模式(star schema)的查询性能。此外,SQL Server 2008支持数据分割、高级索引功能和索引视图来支持更大型的数据存储,还有稀疏列和有效的数据类型,例如VARDECIMAL,对于包含大量 NULL 值的大型表,它可以降低相关开销(数据仓库的一个普通特性)。分析服务应用程序需要大型且复杂的计算。宝贵的处理器时间浪费在计算解决 NULL 或零数据的聚合上。在SQL Se

17、rver 2008分析服务中的块计算使用默认的值,将要计算的表达式的数目降至最低,并将单元导航限制为整个空间只有一次,而不是每个单元一次,从而显著提高了计算性能。尽管多维度OLAP(MOLAP)分区提供了更好的查询性能,但是需要用到回写功能的公司之前都需要使用关系型OLAP (ROLAP)分区来维护回写表。SQL Server 2008增加了对MOLAP分区执行回写操作的能力,这消除了由维护ROLAP回写表所引起的性能下降的问题。报表服务性能SQL Server 2008报表服务引擎被重新开发,以便通过按需处理过程对报表服务添加更好的性能和可扩展性。报表不再局限于内存,因为现在报表处理使用一个

18、文件系统缓存来缓解内存的压力。报表处理还可以适应其它消耗内存的处理。一个新的渲染架构解决了之前的渲染器版本中存在的内存利用问题。这些新的渲染器还提供了一些改进,例如对CSV渲染器添加了一个真实数据渲染器,并支持在Excel渲染器中内置数据块和内置子报表。 集成服务性能ETL处理常常用来在企业数据库源中添加业务数据和更新数据仓库中的数据。过去,许多公司只需要将历史数据和不常使用的数据恢复到数据仓库中。现在,许多公司想要从数据仓库中获得接近于实时的数据。随着数据量的增加和要求数据仓库刷新频率的增加,ETL处理时间和灵活性就变得更加重要了。数据刷新要求SQL Server集成服务使用查找来比较源记录

19、和数据仓库中的数据。集成服务实现了显著改进的查找性能,它降低了包运行时间并优化了ETL操作。传统ETL处理的另一个问题是确定源数据库中的什么数据被修改了。管理员不得不非常谨慎地避免重复已有的数据。一些管理员选择删除所有的数据值重新加载数据仓库,而不是管理已被修改的数据,这使得ETL 处理的开销更大。SQL Server 2008具有变更数据捕获(Change Data Capture, CDC) 功能来记录对变更表的更新,当数据刷新按计划进行时,可以实现对数据变更的跟踪并确保数据仓库的一致性。扩展SQL Server 2008服务器合并、大型数据存储、以及复杂的查询都要求物理资源能够支持很多工

20、作负载运行在一个服务器上。SQL Server 2008具有充分利用最新硬件技术的能力。多个数据库引擎实例和多个分析服务实例可以安装在一个单独的服务器上,从而实现硬件合并。在一个单独的服务器上可以安装最多50个实例,而不必牺牲性能或响应时间。硬件支持SQL Server 2008充分利用现代化的硬件,包括64位、多核和多处理器系统。为了支持不断增长的报表、分析和数据访问负载,SQL Server可以支持最多64GB的内存并支持32位硬件上的动态AWE映射内存的分配,并且可以在64位的硬件上最多支持8TB的内存。当多个处理器添加到一个服务器上时,如果处理器必须访问对于处理器来说不在本地的内存,那

21、么内存访问可能会慢下来。建立非一致性内存访问(non- uniform memory access,NUMA)架构的硬件,通过使处理器访问本地内存解决了这些内存访问限制。SQL Server可识别NUMA硬件,进而为公司提供更好的可扩展性和更多的性能选项。你可以利用基于NUMA的计算机而不必修改应用程序配置。SQL Server 2008支持硬件NUMA和软件NUMA。热插拔硬件尽管通过增加内存或CPU可以轻松扩展一个SQL Server 实例,但规划停机时间来添加硬件以扩展关键任务应用程序,以及7x24小时不间断运行可能是比较困难的。有了SQL Server 2008,你就可以添加CPU和内

22、存到兼容的机器上来扩展你的服务器,且不必停止数据库服务。实现热插拔内存必须满足如下要求: SQL Server 2008企业版 Windows Server 2003企业版或 Windows Server 2003 数据中心版 64位SQL Server 或支持AWE的32位SQL Server 从你的硬件供应商那里获得的支持内存添加的硬件,或虚拟软件 使用h 参数启动的SQL Server实现热插拔CPU 必须满足如下要求: SQL Server 2008企业版 用于Itanium 系统的Windows Server 2008企业版或用于x64位系统的Windows Server 2008

23、数据中心版 64位SQL Server 支持CPU添加的硬件,或者是虚拟软件高级并发特性扩展数据库服务器的目的是支持用户或应用程序数目的增长。随着用户数目的增长,当多个事务试图访问同一个数据时,响应时间可能受到并发问题的影响。 SQL Server 2008提供了许多隔离级别来支持均衡并发和读取完整性的众多解决方案。对于低级别版本,SQL Server 2008提供只读隔离级别,它使用READ_COMMITTED_SNAPSHOT 数据库选项,此外还有一个使用ALLOW_SNAPSHOT_ISOLATION数据库选项的快照隔离级别。此外,对于表的Lock Escalation设置使得你可以改进

24、性能和维护并发,特别是在查询分区表的时候。扩展SQL Server 2008除了扩展单个服务器以支持不断发展的数据环境,SQL Server 2008还提供了工具和功能来扩展数据库以增加巨型数据库的性能并缩短数据和用户的距离。可扩展的共享数据库数据仓库是由多个只读数据的消费者(例如分析和报表解决方案)使用,并且可以超载数据请求,从而降低了响应时间。为了克服这个问题,SQL Server 2008支持可扩展的共享数据库,它提供了一个扩展多个数据库服务器实例中的只读报表数据库的方法,以分配查询引擎工作负载和隔离资源密集的查询。这个可扩展的共享数据库特性使得管理员可以通过在多个报表服务器上布置一个只

25、读数据库的拷贝来创建一个只用于只读的数据源。应用程序访问一个一致的数据拷贝,独立于它们所连接的报表服务器。数据选择路由当一个公司决定要扩展其数据库结构到一个联合的数据库中时,必须决定怎样在服务器间从逻辑上划分数据和怎样将请求路由到适当的服务器上。有了SQL Server 2008,你可以使用Service Broker 将数据选择路由作为一个服务来执行,路由请求到适当的位置。 点对点复制点对点复制可以提供一个有效的向外扩展的解决方案,其中一个数据库的相同拷贝会分发到企业中的各个位置,以便对数据本地拷贝的修改会自动发布到其它的副本所在地。SQL Server 2008使用新的点对点拓扑向导和可视化的设计器帮助你降低执行和管理一个点对点复制解决方案所需的时间。SQL Server之前的版本需要管理员在附加一个新节点到已有节点上时,停止所有节点上发布的表的活动,而SQL Server 2008使得新的节点即使在复制活动过程中也可以进行添加和连接等操作。查询通知大多数企业应用程序是基于三层架构的,其中数据从数据库服务器上通过一个或多个应用程序服务器(通常是一个Web群)获得,它反过来被客户端计算机访问。为了提高性能,许多应用程序服务器通过缓存数据来为用户提供更快的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论