文本版|topic 高级搜索
   名人堂 帮助 论坛制度 意见反馈 | 首页 博客 周新贴 招聘 专题 新闻
RSS 底部
 
社区导航: 专家门诊   网络技术   操作系统   数据库   程序设计   系统应用   考试认证   CIO及信息化   站长交流   综合交流   下载基地  51CTO产品服务 设为首页 | 收藏本站
51CTO技术论坛» 微软SQL Server专区 » 微软商务智能 » SQL Server 2005: 决策支持可扩展性改进       [ 打印]  [ 订阅]  [ 收藏]  [ 推荐给朋友]   [ 本帖文本页]

论坛跳转:
     
标题: SQL Server 2005: 决策支持可扩展性改进  ( 查看:543  回复:3 )   
 
xiaoxinlucky
助理工程师  点击可查看详细


十二生肖之鼠   双子座   行业勋章   技术勋章   诚信兄弟  
帖子 604
精华 12
无忧币 2017
积分 1392
阅读权限 40
来自 (保密)
注册日期 2007-12-12
最后登录 2008-6-21 离线

[查看资料]  [发短消息]  [Blog
  QQ       
发表于:2008-1-30 13:42   标题:SQL Server 2005: 决策支持可扩展性改进
上一帖 |


QUOTE:
摘要
新发布的Microsoft SQL Server 2005包括了大量增强的设计,从而在整体性能和有效扩展的能力比如在配置中添加更多的存储系统上都有所改进。本文详细描述了两个由Microsoft和 Network Appliance共同进行的系列的性能测试,是设计用来确定在SQL Server 2005中的决策支持系统(DSS)增强功能的效力的。测试展现了SQL Server 2005与SQL Server 2000相比在性能方面的显著改进,以及在更多的CPU资源被添加到配置当中时在扩展能力上的引人注目的增长。

内容列表
感谢
介绍
SQL Server 2005 数据库引擎改进
内存管理
查询处理
测试环境
服务器
存储
测试配置
Network Appliance 增值
性能
数据库设计
DSS 测试查询
测试结果
SQL Server 2000 和 SQL Server 2005 性能对比
执行时间比较
磁盘读性能
处理器使用率
SQL Server 2005 扩展测试
执行时间比较
磁盘读性能
处理器使用率
总结
附录
存储系统配置
相关链接




最全面的资料《SQL Server数据管理》
2008-1-30 13:421楼
[ 顶部 ]
 
xiaoxinlucky
助理工程师  点击可查看详细


十二生肖之鼠   双子座   行业勋章   技术勋章   诚信兄弟  
帖子 604
精华 12
无忧币 2017
积分 1392
阅读权限 40
来自 (保密)
注册日期 2007-12-12
最后登录 2008-6-21 离线

[查看资料]  [发短消息]  [Blog
  QQ       
发表于:2008-1-30 14:00 


QUOTE:
感谢
SQL Server小组对于在与此白皮书相关的测试中提供存储设备的Network Appliance表示万分感谢。特别对在Raleigh, NC的数据库性能工程小组在测试过程中所提供的专业以及强有力的支持,以及在编写本文的过程中给予的协助表示感谢。

介绍
Microsoft® SQL Server常被用来为在大量的关键性业务的数据库处理过程提供支持,其中包括在线事务处理(OLTP)以及决策支持系统(DSS) 等工作。查询结果集的返回速度是和以下几个相关的关键要素密不可分的:
•        数据库—包括对数据库的查询的方式(比如DSS 或者OLTP),数据库的大小与复杂程度,以及进行的处理的类型(比如连接或者聚集)
•        硬件—通常是CPU的个数与主频速度,偶尔是磁盘的个数
•        软件—用来执行查询的应用程序算法的效率
在本白皮书中,我们关注于在DSS环境中的性能测试。DSS的工作负荷不象OLTP,是极消耗资源的,请查看表1以获得更多信息。正如带有复杂查询(要么是专用的要么是编写的在线分析处理过程)的长事务所显现的那样,DSS查询将会涉及到大量的数据(常常数以T计);因此上DSS查询可能潜在的会占用系统中所有的CPU和磁盘带宽资源。
表1    DSS (与 OLTP相比)的特点



SQL Server 2005 数据库引擎改进
在新的Microsoft SQL Server中数据库引擎已经作出了较大的修改,以提高在DSS环境中的绝对性能以及多处理器扩展能力,而无需管理员进行手工的系统调试。以下是对这些改进细节的汇总。

内存管理
内存管理是服务器工作过程的重要部份。在这一方面的改进全面提高了服务器的性能,特别是在DSS环境中。在SQL Server的内存管理中正是由于以下几个主要改进的贡献,才最终提高了在DSS工作中对于复杂,运行时间长,以及耗资源的查询的内存支持
•        统一内存管理 在SQL Server 操作系统层中的统一内存管理架构为SQL Server中不同的部件提供了一个通用的内存代理,它不仅优化了性能而且使系统在各种形式的内存压力下可以进行灵活的操作。这个架构的一个特殊的部份,统一动态缓存,改进了内部缓存的behavior/locality,同时提高了在广泛的操作环境中的性能
•        NUMA 支持 SQL Server 2005使用了非统一内存访问(NUMA) 体系结构,这使得它可以更好的利用内存的局域性从而提供巨大的灵活性
•        动态内存管理 SQL Server 2005支持对常规,被锁定的,大分页的内存的动态管理。SQL Server的新版本也支持了内存的热添加技术,从而减少了重启的需要
•        内存跟踪 主要的增强在于内存跟踪,包括对部件间的内部内存分配的跟踪,还有外部操作系统级别的内存事件的跟踪。这一技术为SQL Server 2005提供了更有效的支持性特性

查询处理
SQL Server 2005在对于决策支持应用程序的查询处理能力方面也提供了重要的改进。SQL Server的查询处理器包括了执行环境,查询优化器以及查询执行器
•        执行环境 执行环境控制着查询编译以及缓存规划过程,执行环境中的一项主要改进是一个新的计划稳定性功能。这一功能允许在运行时让查询提示附加在查询上。这一技术对于从独立软件供应商(ISVs)那里购买了决策支持应用程序的用户对程序的调试是很有用的。
•        查询优化器 它负责找到执行一个查询的最佳计划,SQL Server 2005中的优化器为在DSS环境中的应用进行了重大的改进。这些改进包括:
•        为分区表提供的全面优化功能,其中包括分区消除功能,它可以避免读取能够显示但不包括查询结果集数据的分区
•        当在其中一个日期-时间列上有一个范围筛选器时,一个新的数据关联优化功能可以在拥有关联日期-时间列的表之间进行联表查询时大幅加速。
•        优化器的统计子系统提供了改进的统计加载能力,它可以在恰当的时间加载正确的统计信息,因而改进了开销评估并提供了更好的查询计划。一个新的字符串汇总统计功能允许对使用带有任意位置通配符样式(比如字符串'%john%smith%')的LIKE条件应选择的数据进行精确估算。传统的柱状图统计的精确率也有所改进
•        优化器所提供的另外一个计划稳定功能称为计划强制,它让用户可以强制优化器为一个查询选定一个特定的计划。它有助于解决在升级到了一个新的服务包或版本后在大工作负荷环境中少数查询速度变慢的问题
•        查询执行器 它负责运行由优化器产生的查询计划来执行一个查询,SQL Server 2005的执行器在很多方面都有所改进,包括:
•       
•        对分区表的全面支持
•        为支持T-SQL 语言扩展而新加的查询执行运算符
•        改进的哈希联接性能
•        改进的嵌套循环性能
•        改进的位图联接优化
对于决策支持应用程序而言,SQL Server 2005所提供的查询处理能力在业已十分强大的SQL Server 2000决策支持功能之上又有了长足的进步。


QUOTE:
测试环境
下面的部份详细描述了在SQL Server性能测试对比中使用的服务器和存储配置。测试部署的示意图,见图表1



服务器
所有的测试系统运行的都是提供64位功能的Microsoft Windows Server™ 2003数据中心版。进行的两组数据库性能对比如下:第一组是在SQL Server 2000 和 SQL Server 2005 Beta 2之间进行的,而另一组则是在都运行SQL Server 2005的4路和8路服务器之间进行。要全面了解详细配置,请看表2
表2. 服务器配置



QUOTE:
存储
存储对于SQL Server性能的影响是非常关键的,在正式测试之前应当检查并消除可能由于服务器存储空间不足而出现的潜在性能瓶颈。当服务器只有有限的CPU和内存资源时(从某种意义上说,它们总是有限的),存储子系统被设计成在一种不会对I/O需求和可扩展能力形成潜在瓶颈的方式下运行是非常重要的。

测试配置
Network Appliance FAS920光纤互联存储系统为我们在实验环境配置中提供了直接附加的存储设备。无论配置的是4路或是8路服务器,Network Appliance的存储解决方案都有很强的扩展能力,当存储的需求上升时,其模块化设计和集成的管理GUI可以用来快速而简单的添加存储设备。

所有的存储系统都运行Data ONTAP version 6.5.2。每个存储系统都配有56 x 72GB 15K RPM磁盘;其中35个spindle被配置主持四个LUN来存储数据,三个spindle配置作为RAID系统的奇偶盘进行数据保护(更详细配置见图表2和附录)。应注意的是存储系统会自动的跨所有在卷中的磁盘来分布数据而无须操作者的干预。

为了在SQL Server 2000 和 SQL Server 2005上进行的测试运行的需要,在4处理器系统上创建了总计12*400GB的 LUN,每个包含2个SQL Server数据库文件。对于8处理器系统创建了总计24*400GB的LUN,每个包含2个SQL Server数据库文件。详细配置见表3



Network Appliance 增值
Network Appliance的高度可扩展的存储子系统为需要关键业务高度可用的数据库体系结构提供了管理简单,高性能价格比,以及可靠的存储解决方案。Network Appliance的存储解决方案在现今的整体安装方案中可以为我们带来超过99.997%的可用性。另外,Network Appliance的解决方案改进了对存储资源的使用,并提供了优越的数据保护和快速应用测试技术。

Network Appliance的存储解决方案也同时提供了高级备份和恢复功能,这对于保证SQL的高度可用也是非常关键的。SnapManager 大大减少了SQL Server 的备份时间——从小时到秒——并且每次的备份都是完全备份。其备份是基于NetApp的快照拷贝技术,它允许同时对多个任意大小的数据库进行备份而且对于每个额外的完全备份只需要最小限度的磁盘空间。SnapManager使得组织得以在几分钟之内——而不是几天或几个小时以后——将出现问题的SQL Server进行恢复,这就让它成为了可用的最快速的备份和恢复解决方案之一并为SQL Server的环境提供了综合了可用性,可扩展性以及可靠性的业界领先的技术。
表3   存储配置



性能
Network Appliance存储系统提供了对存储设备的高性能低延时的访问,从而满足了我们证明SQL Server 2005能力的需要。在进行每个大表扫描时这些系统提供了将近250M每秒的I/O速率。

相对于为产生的工作负荷所提供支持正常所需的,为存储子系统配置了更多的spindles
为了确保在性能方面获得的优势仅是由SQL Server的改进所产生的,在所有的测试中都使用了默认的存储阵列配置。其中唯一的例外是在连续读取的过程中禁用了pre-fetch, 由于SQL Server 2000 和 SQL Server 2005都已经产生了足够深度的pre-fetch,因此启用了全部的系统性能。


QUOTE:
数据库设计
测试数据库完全的标准化了并且基于主关键字和外关键字添加了索引。数据库的大小,包括了所有的表和索引一共是560 G

DSS 测试查询
大量的典型决策支持查询都是在系统扩展了之后才重读系统并对发生的变化进行评估的。这些查询的复杂程度都有着显著的区别,因为要访问大面积的有效数据,所以在使用的访问方式和查询参数上有着很大的不同。所有的此类查询都可以从有效的内存管理中获益。而当它们运行时都是作为单独的作业发出请求的。

利润增长 (PE).这个查询提供了总计的利润增长数据,包含了在一个指定的时间段内已经售出的产品的未付的确定的折扣值。这个查询可以有助于确定未来应当提供的产品折扣。

主要特点:
•        I/O 强度大
•        需要大强度的索引扫描
最佳性价比供应商 (CE).这个查询按照价格的由低到高列出了购买某个指定部件的供应商的详细信息。这个查询识别出了提供某个指定部件价格最低的供应商,从而有助于在商业运作中在某个给定的地区寻找合适的供应商
主要特点:
•        复杂查询
•        查询计划和优化起关键作用
最有价值消费者 (HV).此查询列出了基于订单的历史数据的 ‘N’个最有价值消费者。HV查询根据订单的数量将消费者进行了分级,因而有助于识别对于公司最有价值的消费者。
主要特点:
•        大量的任意读取
•        高强度的嵌套循环联接需求
指定产品利润 (SP).这个查询提供了按地理区域排列的某个指定产品按年的利润总计。SP查询可以帮助一个公司确认在某个地区哪个产品是利润贡献最大的。

主要特点:
•        复杂查询
•        查询计划和优化起关键作用
价格汇总 (PS).此查询展现了在一个指定的时间段内所有产品的销售价格和总销售量。选择的时间段可以让将近95%的表被扫描到。此查询可以计算出在指定的时间段中的总销售额
主要特点:
•        浮点计算
•        表达式评估性能起关键作用
未运货订单汇总(UO).这个查询被用来提供对未在指定时间内运货而又能为企业带来高额收入的指定数量订单的汇总信息。举个例子,如果N=20,查询必须返回收入最高的前20个订单(除非SQL语句所限定的合格行少于20,此时将会返回所有合格的行),这个查询有助于在确保企业收入目标的前提下确定不同货物的运货优先级
主要特点:
•        任意读取
•        嵌套循环及哈希联接起关键作用
迟到订单汇总 (LR). 这个查询列出了所有在承诺交货日期前就已运出,但未按时到货的产品的汇总信息。此查询通过运货的不同方式列出了迟到的订单,可以有助于企业选择最佳的运货方式并确保在未来能够按时交货
主要特点:
•        任意读取
•        嵌套循环及哈希联接起关键作用

测试结果
下面的图表汇总了在SQL Server 2000 和 SQL Server 2005上进行的决策系统测试的结果。

SQL Server 2000 和 SQL Server 2005 性能对比
对于每个查询,测试都首先使用一个4路处理器IA-64的平台在SQL Server 2000环境下进行,然后再在使用同样物理配置的SQL Server 2005环境下进行。

执行时间比较
图表3显示了最有价值消费者(高强度联接),指定产品利润(复杂查询),价格汇总(高强度浮点运算),以及未运货订单(高强度联接 ),和迟到订单(大量任意读取)查询的响应时间。在所有情况下,在SQL Server 2005中运行的查询的响应时间都要比在SQL Server 2005中运行的要短一些,这证明了SQL Server 2005在性能方面的显著改进。对于剩下的两个查询,最高性价比供应商和利润增长(未显示)在不同环境下的响应时间则没有明显的差异,尽管在运行这两个查询时SQL Server 2005 的响应都略快一些。



值得注意的是将SQL Server 2005和 Network Appliance存储设备结合使用是一个强有力的组合。当处理全表扫描时,SQL Server 2000 和 SQL Server 2005从本质上讲都会受到I/O的限制。尽管如此,SQL Server 2005能够组织数据并使I/O请求更有效的进行,从而为disk-limited查询带来4%到 20%不等的数据吞吐量的增长。
[ 本帖最后由 xiaoxinlucky 于 2008-1-30 14:12 编辑 ]



最全面的资料《SQL Server数据管理》
2008-1-30 14:002楼
[ 顶部 ]
 
xiaoxinlucky
助理工程师  点击可查看详细


十二生肖之鼠   双子座   行业勋章   技术勋章   诚信兄弟  
帖子 604
精华 12
无忧币 2017
积分 1392
阅读权限 40
来自 (保密)
注册日期 2007-12-12
最后登录 2008-6-21 离线

[查看资料]  [发短消息]  [Blog
  QQ       
发表于:2008-1-30 14:10 


QUOTE:
磁盘读性能
图表4比较了SQL Server 2000 和 SQL Server 2005的整体磁盘读取速度(单位是兆字节/秒)。对于所有类型的查询,SQL Server 2005的磁盘读取速度或者等于或者明显快于做同样测试的SQL Server 2000。

对于未运货订单查询而言,磁盘读取速度上的差异尤其的大,这证明了SQL Server 2005对磁盘子系统的非常有效的使用。除了查询执行方面的改进,查询优化器所产生的一个非常有效的执行计划利用了数据关联优化功能。



处理器使用率
SQL Server 2005相较于SQL Server 2000提供了更快的查询响应,但付出了怎样的代价?接下来的一轮DSS测试将关注系统处理器资源消耗——以处理器的使用率百分比为度量——去判定SQL Server 2005是否比它的前任使用更多的系统资源。

图表5显示了4路处理器使用率的测试结果。总的来说,SQL Server 2005 与 SQL Server 2000在CPU资源的消耗上不分上下,不过这也表明了SQL Server 2005在获得良好性能的同时并不以消耗更多的系统资源为代价。



SQL Server 2005 扩展测试
为了确定从4路处理器扩展到8路对性能的影响,下面将要在SQL Server 2005中作另外一个测试。请注意在使用8路处理器配置时,存储阵列也从3个扩展到了6个。

执行时间比较
如图表6和图表7所显示的那样,从大大缩短的响应时间上看,当将系统资源加倍时系统的整体性能也几乎呈线性的增长(1.9倍)。



磁盘读性能
究竟从4路处理器扩展到8路时是如何影响系统的吞吐量的呢?如图表8所显示的那样,当处理器的数量增加时以磁盘读取(兆字节/秒)为度量的存储系统的吞吐量也随之增加。



处理器使用率
尽管当添加了更多的系统资源后查询的响应时间大大缩短了,SQL Server 2005使用整体系统资源的效率又是如何的呢?图表9显示了在配置4路处理器和8路处理器时CPU的使用率是很相近的,这表明了SQL Server 2005对系统资源的有效使用。



QUOTE:
总结
本文汇总了大量的SQL Server 2005为决策支持系统查询的性能和可扩展性提升所进行的改进。
一系列的DSS查询分别在SQL Server 2000和SQL Server 2005的环境下运行以检验这些改进对性能和资源使用的影响。

结论总结如下:
•        与SQL Server 2000相比,SQL Server 2005在进行特定的DSS类型查询的响应时间上有了显著的改进
•        SQL Server 2005与SQL Server 2000在进行同样类型的查询时几乎消耗同等的CPU资源
•        与SQL Server 2000相比,对于给定的查询SQL Server 2005可以进行同速或更快的磁盘读取(以秒为单位)
随后进行的系列测试是对比SQL Server 2005在使用4路和8路处理器时的扩展性差异。得出的结论如下:
•        每个查询返回结果的速度随着CPU个数的增加而线性提高
•        总的来说,当从4扩展到8路处理器时,磁盘的读取速度也加快了
•        无论是使用4还是8路处理器,系统资源的使用率还是很相近的
基于以上的这些测试,我们已经证明了对于复杂的DSS查询,SQL Server 2005可以有效的使用象Network Appliances FAS920存储系统这样先进的SAN技术

附录
存储系统配置
以下图表显示了驻留SQL Server数据库文件的存储系统的物理和逻辑配置。所有的存储资源都是由Network Appliance所提供的,详细信息见表3















QUOTE:
版权说明
该白皮书为初步文档,可能会在所述软件进行最后商业发布之前做完全修改。
该文档所含信息代表微软公司在文档出版时对所论及问题的当前看法。由于微软必须对千变万化的市场情况做出相应反应,因此本文档不应视为微软的任何承诺,且微软不保证所陈述任何信息在产品发布后的准确性。
本白皮书仅供信息参考。微软对本文件中的信息不做任何明示或默示保证。
遵守所有适用的版权法律是用户应尽的责任。下述陈述不限制任何版权,在未获得微软公司明示书面许可的情况下,不得以任何目的复制本文档任何部分或将任何部分保存或引入检索系统、亦不得以任何形式(电子、机械、影印、录制或其他方式)进行传播。
微软在文件所述主题中拥有专利权、专利应用程序、商标、版权或其他知识产权。除非在微软的任何书面许可协议中明示规定,否则对本文档的提供不得视为对任何专利权、商标、版权或其他知识产权许可的提供。
除非特别声明,本文中描述的示例公司、组织、产品、域名、e-mail地址、徽标、人物、地点以及事件均为虚构的,不应与任何实际的公司、组织、产品、域名、e-mail地址、徽标、人物、地点以及事件有任何的联系。
© 2005微软公司版权所有。
Microsoft和ActiveX是微软公司在美国和其他国家的注册商标或商标。
本文中实际公司和产品的名称可能是其相应所有者的商标。
[ 本帖最后由 xiaoxinlucky 于 2008-1-30 14:14 编辑 ]







最全面的资料《SQL Server数据管理》
2008-1-30 14:103楼
[ 顶部 ]
 
4143
新新人类  点击可查看详细


帖子 50
精华 0
无忧币 59
积分 50
阅读权限 20
注册日期 2007-5-11
最后登录 2008-4-22 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-3-1 10:56 
近来学习一下



网络工程师到底该不该去考CCIE认证?
2008-3-1 10:564楼
[ 顶部 ]
     
论坛跳转:  

| | |

| | |

| | |

标记已读 · 删除论坛Cookies · 文本版 · WAP
 
| 诚征版主 | 版主堂 | 意见建议 | 大史记 | 论坛地图
Copyright©2005-2008 51CTO.COM  Powered by Discuz!
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系。
京ICP备05051492号