WEB开发网
开发学院数据库MSSQL Server 浅析SQL Server 2008可用性技术企业中应用 阅读

浅析SQL Server 2008可用性技术企业中应用

 2008-11-19 10:09:44 来源:WEB开发网   
核心提示:可用性概述本来是想谈高可用的,不过个人觉得可用性这个词比高可用这个词更加合适,浅析SQL Server 2008可用性技术企业中应用,原因可以从下面的一张表格找到,高可用这个词对于很多企业来说都过于沉重,故障转移集群可以保证在服务器单节点失效的情况下服务不离线,但是仍然有很多情况可以将我们尽心搭建的故障转移集群破坏殆尽

可用性概述

 本来是想谈高可用的,不过个人觉得可用性这个词比高可用这个词更加合适,原因可以从下面的一张表格找到。高可用这个词对于很多企业来说都过于沉重,不过几乎每个企业甚至个人都会对可用性有要求,仅仅是这个要求有多高的问题。

 可用性,主要是用于衡量一个系统维持正常运行能力的指标。通常计算机系统都会用 平均无故障时间(MTTF)来度量可用性。下面是一张关于可用性在计算机业界的常用度量标准表(也是大家经常会讨论的多少个9):

可用性分类

可用水平

每年停机时间

容错可用性

99.9999%

< 1 min

极高可用性

99.999%

5 min

具有故障自动恢复能力的可用性

99.99%

53 min

高可用性

99.9%

8.8 h

商品可用性

99%

43.8h

我们从上表可以看到,高可用确实是非常沉重的,一年中仅允许一个工作日的时间离线时间,更不要奢谈5个9了。不过我们要澄清一点的是,上面的停机时间是指在工作时间内的停机时间,因此如果在系统的非工作时间停机是不算在其内的。

 那么有什么事情可以影响到可用性呢?太多了,自然灾害、硬件故障、软件缺陷、人为破坏之外,还有例行维护。

那么我们回来看一下SQL Server 2008在可用性方面的能力吧。

注:这篇文章将不会讨论其中每一项技术的具体实施步骤,如果对其中某项技术的具体实施感兴趣的话可以参考SQL Server 2008的联机帮助。(http://msdn.microsoft.com/en-us/library/bb543165.aspx)

 SQL Server Always On

 其实SQL Server 高可用技术从SQL Server 2005开始就有另外一个代名词——Always On,意指保持数据库持续在线的能力。SQLServer Always On主要有三个目标:

提高数据库的可用性

减少数据库的离线时间

增强数据库可用性的可管理能力

 SQL Server 2008 Always On的这三个目标由SQL Server 2008中一系列的新技术和改良特性来达成的,包括:

目标

实现技术

提高数据库的可用性

数据库镜像

日志传送

故障转移集群

中远距集群

对等复制

减少数据库的离线时间

快速数据库还原

备份与还原增强

数据页面校验增强

联机索引操作

联机还原、分段还原及页面级还原

快照隔离

动态配置

增强数据库可用性的可管理能力

数据库快照

表分区及索引分区

备份与还原

专用管理员连接

资源调控器

那么不同的企业如何选择这些技术呢?

常见解决方案

 极小型企业——SQL Server工作组版

 对于极小型企业,或者说那些刚刚起步的企业来说,每个铜板都是那么珍贵,因此SQL Server工作组版通常是他们的选择,当然也有可能是SQL Server学习版。那么这些SQL Server的低端版本是没有太多高可用性技术的,不过幸好,这些公司通常数据量不会很大,同时数据也不是企业生存最重要的,因此通过有计划地备份就可以解决可用性的问题。

 中小型企业——SQL Server标准版

 中小型企业通常需要考虑的系统失效或离线原因是硬件失效。

 投资成本对于中小型企业是非常重要的一个问题。相比大型企业动辄几千万甚至上亿的容灾项目来说,中小型企业在IT上的投资是非常有限的,因此通常中小型企业都会购买SQL Server标准版。

 SQL Server标准版就可以考虑高可用了,因为在SQL Server 2008标准版已经提供了一系列的可用性技术,包括故障转移集群、数据库镜像、日志传送等等。

 SQL Server 2008标准版的故障转移集群技术支持两个节点,而故障转移集群技术也是众多高可用技术中最为依赖于硬件技术的一项。故障转移集群技术对硬件的依赖性最重决定了这项技术的稳定性,因为硬件通常都要比软件稳定的多J。

 当然我们还有另外一个选择,SQL Server的数据库镜像。因为许多中小型企业由于的IT是分阶段投资建设起来的,他们有一些中低端的服务器,这些服务器品牌、型号不一致,因此无法建立故障转移集群,那么数据库镜像就是一个很好的选择了。

 另外复制和日志传送也是中小型企业的一个选择,但是通常这两种方案在故障切换上都需要人工干预,同时在故障切换时对客户端服务定向也需要特殊的设计,因此这两种方案仅从可用性方面来说没有数据库镜像方案有竞争力。

 最后还有一个必不可少的可用性手段,那就是备份,不过在标准版的SQL Server 2008中,备份没有什么新鲜之处,不过我们会在下面再次提到备份。

 大中型企业——SQL Server企业版 

对于大型企业,高可用的范围一下子拓展了很多。我们需要考虑的不仅仅是服务器的硬件失效了,而要考虑站点失效、软件缺陷、人为破坏等多种因素。因此我们需要的不仅仅是简单的故障转移集群或者数据库镜像,大中型企业中意的往往是一些组合的解决方案。

 比如说故障转移集群,故障转移集群可以保证在服务器单节点失效的情况下服务不离线,但是仍然有很多情况可以将我们尽心搭建的故障转移集群破坏殆尽,故障转移集群的共享存储设备失效、网络失效、站点失效、数据逻辑损害……这才是我们前面所介绍的SQL Server Always On需要解决的问题。

Tags:浅析 SQL Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接