揭秘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将数据选择路由作为一个服务来执行,路由请求到适当的位置。


猜你喜欢
- 要处理文本数据,需要比数字类型的数据更多的清理步骤。为了从文本数据中提取有用和信息,通常需要执行几个预处理和过滤步骤。Pandas 库有许多
- 问题参考自:https://www.zhihu.com/question/440066129/answer/1685329456 ,mysq
- 前言:今天就开始讲Python中的模块篇了,模块是Python的重要组成部分,Python之所以可以写出多种多样的程序,其实跟模块的灵活运用
- 您可以使用 ObjectContext 对象提交或放弃一项由 Microsoft Transaction Server (MTS) 管理的事
- 问题一:TypeError: a bytes-like object is required, not 'str'解决:该问
- 本文实例讲述了PHP调用全国天气预报数据接口查询天气。分享给大家供大家参考,具体如下:基于PHP的聚合数据全国天气预报API服务请求的代码样
- 前言python爬虫系列文章的第3篇介绍了网络请求库神器 Requests ,请求把数据返回来之后就要提取目标数据,不同的网站返回的内容通常
- 新安装的MySQL5.7,登录时提示密码错误,安装的时候并没有更改密码,后来通过免密码登录的方式更改密码,输入update mysql.us
- 在Python中的while或者for循环之后还可以有else子句,作用是for循环中if条件一直不满足,则最后就执行else语句。for
- python清空命令行 !有时我们在命令行上运行一些代码时,觉得有些冗余了,可以通过以下代码进行清除命令行上的代码。import osdef
- 1. 安装Pyechartspip install pyecharts2. 图表基础2.1 主题风格添加主题风格使用的是 InitOpts(
- 一个模块可以在逻辑上组织Python代码。将相关的代码到一个模块中,使代码更容易理解和使用。模块是可以绑定和借鉴任意命名属性的P
- 今天给大家讲的是ASP给图片加水印的知识ASP给图片加水印是需要组件的…常用的有aspjpeg和中国人自己开发的wsImage…前者有30天
- 1. 介绍 SQLite 是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。 其特点是高度便携、使用方便、结构紧
- Book表的数据显示id title price publish_id2 Linux &nb
- 摘要什么是python对象的标识python对象相等的判断自定义python对象相等的条件python对象的标识python对象标识就是py
- Vue.js是一个轻巧、高性能、可组件化的MVVM库,同时拥有非常容易上手的API。分页一般和表格一起用,分页链接作为表格的一部分,将分页链
- 本文实例为大家分享了JavaScript实现年历效果的具体代码,供大家参考,具体内容如下<!DOCTYPE html><h
- 如下所示:import numpya = numpy.array(([3,2,1],[2,5,7],[4,7,8]))itemindex =
- 这两天在整理一些文章,但是文件夹中每个文章没有序号会看起来很乱,所以想着能不能用Python写一个小脚本。于是乎,参考了多方资料,简单写了下