SQL Server 2005实现负载均衡的详细介绍

SQL Server 2005仍然不直接地支持负载均衡——但是它为以前SQL Server版本中可用的所有负载均衡方法提供了令人激动的改善和支持。

  我以前的文章描述了SQL Server 2000的负载均衡方法。这里我们简单描述一下SQL Server 2005的新功能。

  目录

  1、端到端拓扑的事务性复制

  2、表分割

  3、备份和重新存储上的改善(片段式重新存储)

  4、数据库镜像和快照

  端到端拓扑的事务性复制

  SQL Server 2005对端到端(P2P)的拓扑结构上的事务性的复制加强了支持。

  SQL Server 2000支持双向的复制,这就可以让两台服务器同时对彼此发布和订阅数据。服务器可以更新同一个共享数据,但是在这样的拓扑中你被限制在两台服务器上。

  P2P的拓扑结构支持无限的发布服务器,他们彼此之间可以互相交换事务。当然,当参加的发布者的数量增加之后,事务性的延迟也就更大了。虽然在你的P2P拓扑结构中对节点的数量没有理论上的限制,但是只有在某个确定的数字之下才可以提供可接受的性能。微软推荐低于12个节点,以保证性能的优化。

  无论怎样,P2P拓扑都是SQL Server的一个巨大进步:现在,多端点服务器可以更改数据,并且向其他的发布者复制事务。这就是说,订阅服务器不再被限制在主要的报告环境中。你可以通过事务性负载全球共享的方式将服务器分布开来。当用户的数量增加的时候,只要简单地向这个群体中添加服务器即可。

  除了将负载分布之外,这个拓扑结构还增加了可用性。如果任何一个点的服务器不可达,则池中其它的服务器就会共享这个负载,因为每个服务器都有其它所有服务器上可获得的全部数据集合。

  以下的表列出了使用P2P拓扑结构来进行负载均衡的优点和缺点。

  SQL Server 2005仍然不直接地支持负载均衡——但是它为以前SQL Server版本中可用的所有负载均衡方法提供了令人激动的改善和支持。

优点

所有参与的服务器都有完全的数据集合。
用户可以连接到任何一个点的服务器上来读取或者修改数据。
由于负载在服务器之间进行了均衡,读取的性能得到了很大程度的改善。

缺点

多个服务器会修改同一个数据,这会导致冲突。事务性复制不支持具有超出常规的冲突解决方案。你必须找出解决或者防止潜在冲突的解决方法。
当端点服务器的数量增加的时候,性能会大幅下降。
写活动重复,因为所有的数据都在同一台服务器上。

注意:复制在处理数据库计划无缝修改方面也进行了加强。在以前的发布中,修改复制的对象的计划需要关机时间。但是在SQL Server 2005中就不是这样的情况了。

  表分割

  分布式分区视图的工作方式在SQL Server 2005中与以前版本中的工作方式相同。然而,SQL Server 2005还支持表分区,这可以让你通过分布读写负载到多个磁盘(或者磁盘阵列)上来改善性能。

  对于分区表,你必须识别分区要用的是哪一个卷,还有每个分区的范围。例如,一个标识字段的数值可以定义分区范围;一个分区内可以允许从1到1百万的数值,在第二个分区内可以允许1百万到2百万,以此类推。分区范围可以通过分区函数来指定.然后你还必须创建一个分区计划来讲分区函数中定义的每个范围值映射到分离的文件组上去。每个文件组都可以放在不同的磁盘上。

  以下的表给出了表分区的优缺点:

优点

使用分区计划和函数很容易建立
简化了对大表的维护(有几十亿行记录)
允许为每个分区创建独立的索引

缺点

分区字段支持的数据类型有一定限制
必须为每个单独的分区建立一个表都,但是你可以在多个表上重复使用同一个分区函数。
表分区可以让你将负载扩展到磁盘上去。然而,所有的数据都必须被同一个服务器管理。如果你的性能瓶颈与CPU或者内存有关,那么这种方法看起来不是你最好的选择。

备份和重新存储方面的改善(片段式重新存储)

  SQL Server的备份和重新存储特性没有很大的改变,但是微软确实添加了一些新的函数来允许用户比以前更快地访问被重新存储的数据库。

  SQL Server 2005现在支持片段式数据库重新存储。片段式重新存储可以让你首先重新存储主要的文件组,然后将数据库启动,处于在线状态。然后,可用的第二个文件组也可以被重新存储。只要第一文件组被重新存储了,那么用户就可以连接到数据库了。其他的文件组可以继续重新存储,与此同时,数据库也可以为查询和事务提供服务。正在重新存储的文件组标记为离线。

  假设你有一个100GB的数据库,其中的75GB是历史性数据,很少被访问到。你可以将这些历史性数据放在它自己的文件组里面,然后让那些频繁访问的数据放在另外一个文件组。如果你将最近的数据放在第一文件组中,那么你就只需要重新存储25GB的数据就可以让用户连接到你的数据库上。然后你再重新存储其它的保留历史性数据的文件组。

  以下的表列出了这个备份和重新存储解决方案的优缺点:

优点

实现和维护非常简单
允许对报告数据库进行读取和写入

缺点

不能提供最新的数据
在重新存储的时候,数据库不能访问。这就意味着报告无法生成。

数据库镜像和快照

  SQL Server 2005引入了数据库镜像的概念来帮助获得高可用性。特别提醒的是,只要它正是发布了,数据库镜像就可以在SQL Server 2005上使用。然而,只有到SQL Server 2005 Service Pack 1才会支持镜像,暂定在2006年年初发布。

  从本质上来说,镜像的工作方式与日志传输类似。

  1、事务日志记录可以应用在两个服务器中的数据库文件上。与日志传输不同的是,数据库镜像不需要你备份事务日志,也不需要拷贝备份到备份服务器上。

  2、数据库镜像连续两次写入数据。与日志传输不同,备份的数据库必须保持在非恢复的模式中,这可以防止对数据的访问,即使是只读的方式。然而,镜像允许对备份数据库进行快照。

  数据库快照是SQL Server 2005中引入的另一项特性。快照是某一个时间点上的数据库的克隆。只要你的镜像的数据库进行了快照,你就可以让用户查询快照。快照的生成通常只需要几秒钟,因为它实际上在这个过程中拷贝任何数据。因此,要把负载分布到你的主服务器和备用服务器上,你可以将你的数据库镜像,然后阶段性地对备份服务器进行快照。你还可以使用快照在主服务器上进行报告。

  以下的表列出了数据库镜像和快照的优缺点:

优点

从镜像数据库中生成快照非常快
数据是最新的,因为它是持续写入镜像
在同一个数据库上可以生成多个快照

缺点

快照提供了对数据的只读访问.
拥有快照,会增加服务器的负担,对性能产生负面影响
如果你正好对镜像服务器进行错误恢复,那么事务和报告活动都会指向同一个服务器(但是不同的数据库)。

转载于:https://blog.51cto.com/brucefls/950677

SQL Server 2005实现负载均衡的详细介绍相关推荐

  1. SQL Server 中4个系统数据库详细介绍

    SQL Server 中4个系统数据库,Master.Model.Msdb.Tempdb. (1)Master数据库是SQL Server系统最重要的数据库,它记录了SQL Server系统的所有系统 ...

  2. SQL Server 2005全文检索技术在网站上的应用实录

    SQL Server 2005全文检索技术在网站上的应用实录 一.前言 "人类失去搜索,世界将会怎样?",同样,很难想象一个拥有极大信息量的行业网站门户没有站内全文搜索将会出现怎样 ...

  3. 人民邮电出版社图灵公司的两本SQL Server 2005图书诚征译者

    人民邮电出版社图灵公司介绍(来自http://www.turingbook.com/) 北京图灵文化发展有限公司成立于2005年6月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主 ...

  4. SQL Server 2005 详细介绍

    注意:安装的是Microsoft SQL 2005开发版本 以下为SQL2005开发版下载地址:(请用迅雷,旋风,快车下载) http://www.yt-pos.com/plus/list.php?t ...

  5. SQL Server 2005详细安装过程及配置【转载瑞文软件】

    SQL Server 2005详细安装过程及配置 说明:个人感觉SQL Server 2005是目前所有的SQL Server版本当中最好用的一个版本了,原因就是这个版本比起其它版本来说要安装简单,操 ...

  6. 图解 免费安装 SQL Server 2005 详细步骤

    广场 登录 注册 关注此空间 S-park 欢迎来到施帕克公园 2009-05-13 18:14 [原创]图解 免费安装 SQL Server 2005 详细步骤 转载本文请详细阅读原创文章版权声明 ...

  7. 转:(图文并茂)SQL Server 2005详细安装过程及配置

    1.安装过程        注:在Windows7系统下安装SQL Server 2005时,可能会多次遇到提示兼容性问题的情况,此时不用理会,直接点击"运行程序"即可.     ...

  8. WIN7 32/64位安装SQL Server 2005详细步骤(图文)

    由于工作需要,今天要在电脑上安装SQL Server 2005.以往的项目都是使用Oracle,MS的数据库还真的没怎么用过,安装Oracle已经轻车熟路,但装SQL Server好像还有点小麻烦,所 ...

  9. 如何使用 DBCC MEMORYSTATUS 命令来监视 SQL Server 2005 中的内存使用情况

    https://technet.microsoft.com/en-us/solutionaccelerators/dd537566.aspx 注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完 ...

最新文章

  1. MS SQL数据库服务介绍
  2. Windows 7等多系统的备份与恢复
  3. 【leetcode】258. Add Digits
  4. MarkdownPad 汉化破解(含下载地址)
  5. java 图片压缩100k_java实现图片压缩
  6. MySQL “error C3646: 'fd': 未知重写说明符”
  7. 【转】Ubuntu下配置支持Windows访问的samba共享
  8. Linux node使用npm成功安装命令后,执行时却报找不到命令的问题
  9. 走近源码:Redis的启动过程
  10. 数据采集卡的模拟输入信号到底应该怎么接线
  11. PS长图快速切片_PS最常用的100多个快捷键
  12. 大学计算机基础教学存在的问题,浅谈大学计算机基础教学存在的问题及改进思路_优秀论文...
  13. 一条SQL语句在MySQL中执行过程全解析
  14. 关于python里面xlwt操作excel文件的时候去掉页眉页脚
  15. LLS1000智能线路控制器
  16. C++ 脚本解释器cint
  17. 安捷伦 34401A串口通信
  18. win10安装sshpass_安装sshpass
  19. 基于Epoll的Reactor模式
  20. 未来挣钱的行业有哪些,这3个项目有前景

热门文章

  1. 图像语义分割之FCN和CRF
  2. 【机器学习基本理论】详解最大后验概率估计(MAP)的理解
  3. 《用Python进行自然语言处理》第 9 章 建立基于特征的文法
  4. If using all scalar values, you must pass an index
  5. MIT发布白皮书:美国欲重返世界半导体霸主!
  6. 长文综述:给生物学家的机器学习指南
  7. 人工智能和物联网:智慧城市的交通管理
  8. 大佬共话AI:“三马二宏”等亮相2020年世界人工智能大会
  9. 杨强 : 迁移学习——人工智能的最后一公里
  10. 这是我看过,最好懂的神经网络