当前位置:主页   - 电脑 - 数据库
走进SQL Server 2005:改进的负载平衡
来源:设计前沿收集   作者:未知   更新时间:2009-02-04
收藏此页】    【字号    】    【打印】    【关闭
  SQL Server 2005仍然不支持机器之外的负载平衡——但是它却提供了一些令人激动的改进,支持以前版本的SQL Server中所有可用的负载平衡方法。

  我在以前的文章中曾描述过SQL Server 2000 的负载平衡方法。这里,我将会简短地介绍以下SQL Server 20005的新特性:

  目录表

  p2p拓扑结构的事务复制

  表分区

  备份和恢复的改进(片段恢复)

  数据库镜像和快照

  P2p拓扑结构的事务复制

  SQL Server 2005中对通过支持P2P拓扑结构来改进了事务的复制。

  SQL Server 2000支持双向的复制,它允许两个服务器同时发布和接收彼此的数据。服务器可以更新同一个共享数据,但是在这样的拓扑结构中你被限制在两个服务器上。

  对P2P拓扑结构的支持是不限制彼此之间交换事务的发布数据的服务器的数量的。当然,随着加入发布的服务器数量的增多,事务的延迟也在增大。即使是对你的P2P拓扑结构中的结点数量没有理论上的限制,也是只有在有限数量的情况下才能提供可以接受的性能。微软建议保持在12个或者低于12个点,以获得优化的性能。

  然而,P2P的拓扑结构是SQL Server的一大进步:现在,多个对等的服务器可以交换数据并且向其他的发布者复制事务。这意味着接收的服务器不会被限制在主要的报告环境中。你可以把服务器分散在世界各地,共享事务负载。随着用户数量的增加,只需要增加另一台服务器到池中。

  除了分散负载之外,这个拓扑结构还增加了可用性;如果有任何的对等服务器不可达了,池中其余的服务器都可以分享这个负载,因为每一个服务器都有其他所有服务器上可用数据的完全集合。

  以下列出了使用P2P拓扑结构来平衡负载的优点和缺点

  P2P拓扑结构的优点和缺点

  优点

  所有参与的服务器都有数据的完全集合。

  用户可以连接到任何一个对等服务器上读取或者修改数据。

  读取性能将会因为服务器之间分散了负载而得到大幅度提升。

  缺点

  多个服务器交换同样的数据,可能会导致冲突。

  事务复制在机器之外不支持冲突的解决。你最好了解如何处理或者防止潜在的冲突。

  当对等服务器增加的时候,性能将会受到影响。

  写入活动同样执行,好像所有的数据都在同一台服务器上。

  注意:复制也得到了改进,以达到无缝处理数据库计划的改变的目的。在以前的发布中,改变复制对象的计划需要服务器停下来一段时间。在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 Server2005中发挥作用。然而,镜像直到SQL Server 2005 服务包1被发布之后才被支持,暂时预计将在2006年年初。

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

  1事务日志记录被用在两台服务器上的数据库文件上。与日志传输不同的使,数据库镜像不需要你备份事务日志并将备份拷贝到备用的服务器上。

  2数据库镜像连续写入数据两次。与日志传输不同的是,备用的数据库必须保持没有恢复的模式,这会防止即使是只读方式的数据访问。然而,镜像不允许备用数据库的快照。

  数据库快照是SQL Server 2005引入的另一个特性。一个快照就是数据库在某个确定的时间点上的数据库。一旦你对被镜像的数据库采用了快照,你可以允许用户查询快照。快照的生成通常只花费几秒钟,因为实际上在这个过程中没有数据被拷贝。因此,要区别你的基本的和备用的数据库的负载,你可以将数据库镜像,并且周期性地对备用服务器进行快照。你还可以使用快照来达到基本服务器上的报告目的。

  下面总结了数据库镜像和快照的优点和缺点:

  数据库镜像和快照的优点和缺点

  优点

  从一个被镜像的数据库中飞快地生成快照。

  数据是当前的,因为它是不断地写入镜像。

  可以对同一个数据库生成多个快照。

  缺点

  快照只提供对数据的只读访问。

  拥有快照会给服务器增加一定的负担,并且对性能有负面的影响。

  如果被镜像的服务器恰好出错,那么事务和报告活动都会指向同一个服务器(但是是不同的数据库)。


其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明