揭秘SQL Server 2008性能和可扩展性(3)

作者:佚名 来源:天极网 时间:2009-03-10 14:47:00 

3.使用SQL Server 2008向上扩展

服务器合并、大型数据存储、和复杂的查询要求物理资源能够支持很多工作负载运行在一个服务器上。SQL Server 2008具有充分利用最新的硬件技术的能力。多个数据库引擎实例和多个分析服务实例可以安装在一个单独的服务器上,从而合并硬件使用。在一个单独的服务器上可以安装最多50个实例,而不必牺牲性能或响应时间。

硬件支持

SQL Server 2008充分利用现代的硬件,包括64位、多核和多处理器系统。为了支持不断增长的报表、分析和数据访问负载,SQL Server可以支持最多64GB的内存并支持32位硬件上的动态的AWE映射内存的分配,并且可以支持64位的硬件上的最多8TB的内存。

当许多处理器添加到一个服务器上时,如果处理器必须访问对于处理器来说不在本地的内存,那么内存访问可能会慢下来。建立非一致性内存访问 (non-uniform memory access,NUMA)架构的硬件通过使处理器访问本地内存解决了这些内存访问限制。SQL Server可识别NUMA硬件,所以提供给公司更好的可扩展性和更多的性能选项。你可以利用基于NUMA的计算机而不必修改应用程序配置。SQL Server 2008支持硬件NUMA和软件NUMA。

热添加硬件

尽管你可以通过增加内存或CPU来轻松地扩展一个SQL Server 实例,计划停机时间来添加硬件以扩展你的关键任务应用程序和24/7操作可能是比较困难的。有了SQL Server 2008,你就可以添加CPU和内存到兼容的机器上来扩展你的服务器而不必停止你的数据库服务。

下面的要求必须满足才能热添加内存:

· SQL Server 2008企业版

· Windows Server? 2003企业版或Windows Server 2003 Datacenter版

· 64位SQL Server或具有AWE 支持的32位SQL Server

· 从你的硬件供应商那里获得的支持内存添加的硬件,或虚拟软件

· 使用–h 选项启动的SQL Server

下面的要求必须满足才能热添加CPU:

· SQL Server 2008企业版

· 用于Itanium 系统的Windows Server? 2008企业版或用于x64位系统的Windows Server 2008 Datacenter版

· 64位SQL Server

· 支持CPU添加的硬件,或者是虚拟软件

高级并发特性

扩展你的数据库服务器的目的是支持用户或应用程序数目的增长。随着用户数目的增长,当多个事务试图访问同一个数据时响应时间可能受到并发问题的影响。SQL Server 2008提供了许多隔离级别来支持均衡并发和读取完整性的众多解决方案。对于低级别的版本支持,SQL Server 2008具有一个只读的隔离级,它使用READ_COMMITTED_SNAPSHOT 数据库选项,还有一个使用ALLOW_SNAPSHOT_ISOLATION数据库选项的快照隔离级。此外,在表上的锁升级设置使得你可以改进性能和维护并发,特别是在查询分区表的时候。

4.使用SQL Server 2008向外扩展

除了扩展单个的服务器以支持不断发展的数据环境,SQL Server 2008还提供了工具和功能来扩展数据库以增加巨型数据库的性能和缩短数据和用户的距离。

可扩展的共享数据库

数据仓库是由多个只读数据的消费者使用,例如分析和报表解决方案,并且可以超载数据请求,这降低了响应时间。为了克服这个问题,SQL Server 2008支持可扩展的共享数据库,它提供了一个扩展多个数据库服务器实例中的只读报表数据库的方法,以分配查询引擎工作负载和隔离资源密集的查询。这个可扩展的共享数据库特性使得管理员可以通过在多个报表服务器上布置一个只读数据库的拷贝从而创建一个只用于只读的数据源。应用程序访问一个一致的数据拷贝,独立于它们所连接的报表服务器。

数据选择路由

当一个公司决定要扩展它的数据库结构到一个联合的数据库中时,它必须决定怎样在服务器间从逻辑上划分数据和怎样路由请求到适当的服务器上。有了 SQL Server 2008,你可以使用Service Broker将数据选择路由作为一个服务来执行,路由请求到适当的位置。

标签:揭秘,SQL,Server,2008,性能,可扩展性
0
投稿

猜你喜欢

  • Python手动实现Hough圆变换的示例代码

    2023-11-03 03:12:42
  • Golang实现简易的命令行功能

    2024-02-08 10:17:31
  • Pandas 实现分组计数且不计重复

    2022-01-30 03:39:56
  • Python 创建新文件时避免覆盖已有的同名文件的解决方法

    2023-08-23 23:44:46
  • Python数据读写之Python读写CSV文件

    2023-04-04 00:59:46
  • SQL Server 2005代理服务应用软件组成

    2009-02-19 17:19:00
  • 微型设计专用工具Dorado

    2011-01-06 12:23:00
  • 计算机程序设计并行计算概念及定义全面详解

    2023-02-20 22:35:59
  • Javascript模拟加速运动与减速运动代码分享

    2024-06-07 15:27:46
  • PHP如何利用P3P实现跨域

    2023-11-23 20:16:58
  • 基于JS脚本语言的基础语法详解

    2024-06-05 10:01:53
  • python基于opencv实现人脸识别

    2021-10-15 12:49:16
  • python使用matplotlib库生成随机漫步图

    2021-03-01 15:11:37
  • python多任务及返回值的处理方法

    2023-11-02 14:20:24
  • MySQL 5.7.16 修改密码提示 ERROR 1054 (42S22): Unknown column ''password'' in ''field list''的原因

    2024-01-20 02:43:33
  • Swoole webSocket消息服务系统方案设计详解

    2023-06-12 16:16:32
  • python3实现暴力穷举博客园密码

    2022-10-24 22:38:21
  • JS实现课程表小程序(仿超级课程表)加入自定义背景功能

    2024-04-16 09:35:09
  • Python中的TCP socket写法示例

    2023-06-25 00:21:05
  • Java正则表达式基础语法详解

    2023-07-10 14:42:14
  • asp之家 网络编程 m.aspxhome.com