Resource Governor
通常,一个单独的服务器用来提供多个数据服务。在一些情况下,许多应用程序和工作负载依赖于同一个数据源。在目前所流行的服务器合并的趋势下,要为一个给定的工作负载提供可预测的性能是很困难的,因为同台服务器上的其它工作负载会竞争系统资源。在一个单独的服务器上有多个工作负载,管理员必须避免出现某些问题,例如使其它工作负载一直等待系统资源的失效查询,或者低优先级的工作负载反过来影响高优先级的工作负载。SQL Server 2008提供了Resource Governor,它使得管理员可以对运行在一个SQL Server实例上的各个工作负载定义和分配优先级。工作负载基于如用户、应用程序和数据库等因素,通过对资源定义限制,管理员可以将失效查询的可能性降至最低,还可以限制独占资源的工作负载。通过设置优先级,管理员可以优化一个关键任务的处理性能,同时维护服务器上其它工作负载的可预测性。
性能套件
SQL Server 2008提供了性能套件,它是一套用来收集、分析、排除故障和存储SQL Server 2008诊断信息的集成框架。性能套件为性能监控提供了一个端对端的解决方案,其中包括针对性能数据的低开销收集、集中化存储、以及分析报表。你可以使用SQL Server 2008管理套件来管理收集工作,例如可以使用数据收集器、启动一个收集集合并查看作为性能状态面板的系统收集集合报表。你还可以使用系统存储结构和性能套件应用程序编程接口(API)来建立你自己的基于性能套件的性能管理工具。
性能套件提供了一个统一的数据收集基础架构,它在每一个你想监控的SQL Server实例中都有一个数据收集器。这个数据收集器非常灵活,它可以管理数据收集范围以适应开发、测试和生产环境。你使用这个数据收集框架就可以轻松地收集性能数据和一般的诊断数据。
该数据收集器基础设施推出了以下新的概念和定义:
数据提供商。性能或诊断信息的来源可以包括SQL Trace 、性能计数器和Transact-SQL查询(例如,从分布式的管理视图中获得数据)。
收集器类型。一个逻辑封装,它提供了从数据提供商处收集数据的机制。
收集项目。一个收集器类型的实例。当创建一个收集项目时为这个项目定义输入属性和收集频率。一个收集项目不能单独存在。
收集集合。数据收集的基本单位。一个收集集合是一组收集项目的集合,它们在一个SQL Server 实例上定义和部署。收集集合可以各自独立运行。
收集模式。一个收集集合中数据收集和存储的方式。这个收集模式可以设置为缓存或不缓存。收集模式将影响用于该收集集合的工作和时间表的类型。
数据收集器是可扩展的,它可以添加新的数据提供者。
当配置数据收集器时,会创建一个默认名称为MDW的关系数据库作为管理数据仓库,其中将存储收集来的数据。这个数据库可以和数据收集器放在同一个系统上,或者放在一个单独的服务器上。管理数据仓库中的对象包括以下三种预配置的模式,其作用各不相同:
Core 模式 - 包括用于组织和标识收集到的数据的表和存储过程。
Snapshot 模式 - 包括数据表、视图和其它对象,用于支持标准的收集器类型的数据。
Custom_Snapshot 模式 - 可以创建新的数据表来支持用户定义的、按标准的、以及扩展的收集器类型所创建的收集集合。
性能套件提供了一组强大的预先配置的系统收集集合,包括Server Activity、 Query Statistics 和Disk Usage,来帮助你快速分析所收集的数据。通常使用Server Activity 系统收集集合来开始监控和故障排除。在SQL Server管理套件中发布了一组与每一个系统收集集合相关的报表,你可以将这些报表作为性能状态面板来帮助你分析数据库系统的性能
数据仓库和分析性能
数据仓库环境必须能够满足数量不断发展的数据和用户需求,并维护非常好的的性能。随着数据仓库查询变得越来越复杂,查询的每一部分都必须进行优化以维护可以接受的性能。在SQL Server 2008中,查询优化器可以动态地导入一个非常好的的位图过滤器来加强星型模式(star schema)的查询性能。此外,SQL Server 2008支持数据分割、高级索引功能和索引视图来支持更大型的数据存储,还有稀疏列和有效的数据类型,例如VARDECIMAL,对于包含大量 NULL 值的大型表,它可以降低相关开销(数据仓库的一个普通特性)。
分析服务应用程序需要大型且复杂的计算。宝贵的处理器时间浪费在计算解决 NULL 或零数据的聚合上。在SQL Server 2008分析服务中的块计算使用默认的值,将要计算的表达式的数目降至最低,并将单元导航限制为整个空间只有一次,而不是每个单元一次,从而显著提高了计算性能。
尽管多维度OLAP(MOLAP)分区提供了更好的查询性能,但是需要用到回写功能的公司之前都需要使用关系型OLAP (ROLAP)分区来维护回写表。SQL Server 2008增加了对MOLAP分区执行回写操作的能力,这消除了由维护ROLAP回写表所引起的性能下降的问题。
报表服务性能
SQL Server 2008报表服务引擎被重新开发,以便通过按需处理过程对报表服务添加更好的性能和可扩展性。报表不再局限于内存,因为现在报表处理使用一个文件系统缓存来缓解内存的压力。报表处理还可以适应其它消耗内存的处理。
一个新的渲染架构解决了之前的渲染器版本中存在的内存利用问题。这些新的渲染器还提供了一些改进,例如对CSV渲染器添加了一个真实数据渲染器,并支持在Excel渲染器中内置数据块和内置子报表。
集成服务性能
ETL处理常常用来在企业数据库源中添加业务数据和更新数据仓库中的数据。过去,许多公司只需要将历史数据和不常使用的数据恢复到数据仓库中。现在,许多公司想要从数据仓库中获得接近于实时的数据。随着数据量的增加和要求数据仓库刷新频率的增加,ETL处理时间和灵活性就变得更加重要了。
数据刷新要求SQL Server集成服务使用查找来比较源记录和数据仓库中的数据。集成服务实现了显著改进的查找性能,它降低了包运行时间并优化了ETL操作。传统ETL处理的另一个问题是确定源数据库中的什么数据被修改了。管理员不得不非常谨慎地避免重复已有的数据。一些管理员选择删除所有的数据值重新加载数据仓库,而不是管理已被修改的数据,这使得ETL 处理的开销更大。SQL Server 2008具有变更数据捕获(Change Data Capture, CDC) 功能来记录对变更表的更新,当数据刷新按计划进行时,可以实现对数据变更的跟踪并确保数据仓库的一致性。
SQL Server 2008 性能与性能优化
0
相关文章