关于SQL Server 群集的几个关键技巧
2008-09-02 09:58:56 来源:WEB开发网负载平衡
让我们首先揭穿这样一个常见误解。MSCS群集是用于获得高可用性的,而非用于实现负载平衡。此外,SQL Server没有任何内置的、自动负载平衡功能。您必须通过应用程序的物理设计来实现负载平衡。这意味着什么?
随着表的逐渐增长,您可能会预料到性能会降低,特别是在涉及到表扫描操作时。当行数达到数百万或数十亿时,传统的解决方案会使用已分区视图,这种视图由若干具有相同结构、使用 union ALL 挂接在一起的表组成。此外,还会在适当位置放置 CHECK 约束来区分这些成员表,而这会阻止跨已分区视图复制数据。如果在 CHECK 约束中使用的列也是主键的一部分,则该视图是可更新的。
如果成员表在其自己的文件组中,则如果这些文件组中的文件分别位于不同的物理驱动器上,那么您会获得更佳的磁盘性能。这些表甚至也可以位于不同的数据库中。但是,在 SQL Server 2005 中,只要所有数据均在同一个数据库中,您就可以使用表分区,而表分区实现起来就容易得多了。
但是,假设您已经尽可能地利用了表分区或(本地)已分区视图,但性能仍然很低。如果您拥有 SQL Server 2000 或SQL Server 2005,就可以利用分布式已分区视图了。主要差别在于,成员表可以位于不同的 SQL Server 实例上,而且这些实例可以安装在 N+1 群集上。为什么鼓励您这样做?如果已分区视图中的任何一个成员表转入离线状态,则整个视图也将转入离线状态。使这些成员成为群集的一部分可以为您提供支持性能和实现负载平衡所需的可靠性。
您真的需要群集吗?
或许您有一些备用服务器无事可做,但这些服务器不在 Windows 目录的群集部分中。如果您在这些服务器可用的情况下,只是为了支持群集就必须出去购置新服务器,那么这是一种浪费可耻的行为。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接