SQL Server 2005的负载均衡

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

  目录

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

2、表分割

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

4、数据库镜像和快照

端到端拓扑的事务性复制

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

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

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

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

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

  以下的表列出了使用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 Server 2005上使用。然而,只有到SQL Server 2005 Service Pack 1才会支持镜像,暂定在2006年年初发布。   从本质上来说,镜像的工作方式与日志传输类似。 1、事务日志记录可以应用在两个服务器中的数据库文件上。与日志传输不同的是,数据库镜像不需要你备份事务日志,也不需要拷贝备份到备份服务器上。 2、数据库镜像连续两次写入数据。与日志传输不同,备份的数据库必须保持在非恢复的模式中,这可以防止对数据的访问,即使是只读的方式。然而,镜像允许对备份数据库进行快照。   数据库快照是SQL Server 2005中引入的另一项特性。快照是某一个时间点上的数据库的克隆。只要你的镜像的数据库进行了快照,你就可以让用户查询快照。快照的生成通常只需要几秒钟,因为它实际上在这个过程中拷贝任何数据。因此,要把负载分布到你的主服务器和备用服务器上,你可以将你的数据库镜像,然后阶段性地对备份服务器进行快照。你还可以使用快照在主服务器上进行报告。   以下的表列出了数据库镜像和快照的优缺点:

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

优点

缺点

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

用Mitmproxy辅助Sqlmap自动化利用特殊漏洞

本文主要介绍利用 mitmproxy 脚本辅助 sqlmap,自动化利用漏洞的方法。由于笔者毫无学习更多姿势的上进心,又在处理数据库注入漏洞方面才学浅薄,因此当...

3458
来自专栏互联网技术栈

Tair数据迁移三步走

在多机房数据迁移中,整个过程分为三个阶段:历史数据迁移阶段、redolog迁移阶段、实时复制阶段。

1203
来自专栏运维技术迷

chattr命令

chattr命令用来改变文件属性。这项指令可改变存放在ext2/3/4文件系统上的文件或目录属性。 一、文件或目录属性 1.1 属性 这些属性共有以下8种模式...

3435
来自专栏Golang语言社区

服务器并发处理能力

序: 这里指的服务器是指提供HTTP服务的服务器,人们通常衡量一台web服务器能力的大小为其在单位时间内能处理的请求数的多少。 3.1 吞吐率 ...

1.9K8
来自专栏云豹直播系统开发

怎么搭建短视频系统?全套负载均衡方案

短视频系统跟直播系统有一样的特点,面向的用户群体数量较大,聚集时间点集中。比如午饭时间,晚上休闲时间。所以做好系统的负载特别重要,既能提高系统的稳定性和可用性,...

2754
来自专栏FreeBuf

强推HTTPS:Chrome 62将所有需输入数据的HTTP页面标为“不安全”

Chrome安全团队上周四(27日)发布公告,Chrome将进一步扩大HTTP页面“不安全”警告的展示范围。Chrome 62版本起,所有需要输入数据的HTTP...

1817
来自专栏吴裕超

DNS Prefetch初认识

今天在看一个后台框架时,发现这样的代码: <link rel="dns-prefetch" href="//0.s3.envato.com"> <link re...

5159
来自专栏星汉技术

虚拟机:Linux系统安装

3057
来自专栏运维技术迷

DNS服务器4013警告信息的解决方法

今天例行维护域控,发现一直出现DNS无法启动,一直在提示4013,感觉很不可思议。对比另外一台辅助域控的设置,都没有问题。只好一步一步的来细致的检查,终于被我找...

3346
来自专栏Youngxj

[教程]查看浏览器保存的加密密码

4164

扫码关注云+社区

领取腾讯云代金券