【IT168 专稿】
可用性概述
本来是想谈高可用的,不过个人觉得可用性这个词比高可用这个词更加合适,原因可以从下面的一张表格找到。高可用这个词对于很多企业来说都过于沉重,不过几乎每个企业甚至个人都会对可用性有要求,仅仅是这个要求有多高的问题。
可用性,主要是用于衡量一个系统维持正常运行能力的指标。通常计算机系统都会用 平均无故障时间(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,意指保持数据库持续在线的能力。SQL Server Always On主要有三个目标:
提高数据库的可用性
减少数据库的离线时间
增强数据库可用性的可管理能力
SQL Server 2008 Always On的这三个目标由SQL Server 2008中一系列的新技术和改良特性来达成的,包括:
目标 | 实现技术 |
提高数据库的可用性 | 数据库镜像 日志传送 故障转移集群 中远距集群 对等复制 |
减少数据库的离线时间 | 快速数据库还原 备份与还原增强 数据页面校验增强 联机索引操作 联机还原、分段还原及页面级还原 快照隔离 动态配置 |
增强数据库可用性的可管理能力 | 数据库快照 表分区及索引分区 备份与还原 专用管理员连接 资源调控器 |
那么不同的企业如何选择这些技术呢?