SQL Server 2008性能和可扩展性

1.导言

  现今的公司需要易访问的和可用性好的商业数据,以便他们可以在全球市场中获得一席之地。与易访问数据的这个需求相呼应的,关系数据库和分析数据库在规模方面继续发展,内嵌数据库和许多产品一起出现,并且许多公司将服务器合并来减轻管理工作。当公司的数据环境在规模和复杂度方面持续发展的同时他们必须维护最佳的性能。

  这篇白皮书描述了SQL Server 2008的性能和扩展能力,并解释了你可以怎样使用这些功能来:

  · 使用可用于数据库引擎、分析服务、报表服务和集成服务的工具和功能来优化任何规模的数据库的性能。

  · 扩展你的服务器来充分利用新的硬件功能。

  · 扩展你的数据库环境来优化响应和使你的数据更易于用户访问。

  2.使用SQL Server 2008优化性能

  因为你公司的数据在规模和复杂度方面继续发展,你必须采取行动来提供最佳的数据访问时间。SQL Server 2008包括许多特性和增强的功能来优化功能的所有方面的性能,包括关系联机事务处理(OLTP)数据库;联机分析处理(OLAP)数据库;报表;数据抽取、转换和加载(ETL)处理。

  关系数据库性能

  在大多数商业环境中,关系数据库是商业关键应用程序和服务的核心所在。随着数据量的增长,和依赖于关系数据存储的用户以及应用程序的数目的增长,公司必须能够确保他们的数据系统具有一致的性能和响应。SQL Server 2008提供了一个强大的数据库引擎,它支持大型关系数据库和复杂的查询处理。

  可以测量实际性能

  SQL Server 2008建立在之前SQL Server版本的行业领先的性能之上,给你的公司提供了最高级的标准数据库性能。使用事务处理性能委员会的TPC-C基准示范了SQL Server 的高性能功能,Microsoft 是第一个发布更新的TCP-E基准结果的数据库销售商,这更精确地表现了现在公司里普遍存在的OLTP工作负载的种类。

  此外,SQL Server 通过一个创记录的3GB的TPC-H结果显示了它对大范围的数据仓库工作量的执行能力,这是作为SQL Server 2008的基础的扩展能力和性能。

  高性能的查询处理引擎

  SQL Server 的高性能查询处理引擎帮助用户将他们的应用程序的性能提高到最大。这个查询处理引擎评估查询,并产生基于动态维护的关于索引、密钥选择和数据量的统计的最佳查询执行计划。你可以在SQL Server 2008中锁定查询计划以确保普通的执行查询的稳定的性能。查询处理引擎还可以利用多核或多处理器系统,并生成能够利用并行来进一步提高性能的执行计划。

  一般情况下,在查询性能方面花费最大的操作是磁盘I/O。SQL Server的动态缓存能力降低了获取和修改数据所需的物理磁盘访问的数量,并且查询处理引擎使用先读扫描来预测一个给定的计划所需的数据页面,并预先将它们读取到缓存里,这可以显著地提高整个性能。另外,SQL Server 2008对数据压缩的本地支持可以降低必须读取的数据页面的数量,这提高了I/O限制工作负载的性能。

  SQL Server 2008支持表和索引的分割,这使得管理员可以通过从同一个表或索引分配分区到单独的物理存储设备上的多个文件组中来控制数据的物理放置位置。在SQL Server 2008中的对查询处理引擎的优化使得它可以并行地访问分区数据,这显著地提高了性能。

更多内容请见:http://database.ctocio.com.cn/wpsummary/375/7749375.shtml

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12641349/viewspace-145663/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12641349/viewspace-145663/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微软SQL Server 2008 R2中的资源分配方式与SQL Server 2005中的方式相比是一种完全不同的过程。利用资源控制器,在SQL Server 2008 R2中解决方案供应商有切实可用的方法管理CPU和内存。   资源消耗是长期以来困扰使用SQL Server的解决方案供应商的基本问题之一。任何服务器,不管它是物理的还是虚拟的,供处置的CPU和内存池都是有限的。过去,这一简单的事实给SQL Server带来许多麻烦,因为它通常是资源非常敏感的应用。   如果服务器上只托管了唯一一个数据库的话,那么SQL Server资源消耗并不是个严重的问题。但是如果有多个数据库在用着,那就真的变成一个问题了,因为各种数据库都会竞争同样一组CPU和内存资源。   在SQL Server 2005中,对这个问题可以接受的解决方案通常是为每个数据库创建独立的SQL Server实例,利用处理器亲和度为每个数据库实例分配资源。这种技术的问题是一旦资源被分配给SQL Server实例,他们对其他SQL Server实例就不可用了。结果,如果一个数据库的负载特别重,它也不可能从其他SQL实例暂借服务器的CPU资源,虽然这个实例上的资源此时可能什么都没做。   一些解决方案供应商也曾尝试利用服务器虚拟化作为给个别SQL Server数据库分配资源的一种途径。在这种模型中,每台虚拟机只托管一个SQL Server数据库。这种方法也可行,但是虚拟机和他们的操作系统也消耗了一些本该用于SQL Server的服务器资源。此外,还依赖于你使用的虚拟化软件,以按需分配为基础的资源动态分配可能有些困难或者不可能实现。   微软最终针对SQL Server 2008 R2中的资源分配问题创建了一套可行的解决方案,引入了叫做资源控制器的新组件。这个资源控制器是可以通过微软SQL Server Management Studio访问的,它可以定义资源池,每个资源池都包含负载工作组,如下图所示:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值