通过前面的介绍,你可以发现AlwaysOn是一项集合了故障转移群集、数据库镜像和日志传送的优点于一身的、功能强大的“高可用性+灾难恢复”技术。有了它,你不需要通过结合多种技术,就可以获得一个或多个和本地完全同步的远程数据副本,像群集一样,副本之间可以进行自动故障转移,同时还可以对客户端完全透明。通过AlwaysOn来构架方案,能够降低部署的难度以及后期维护的复杂度。如果你对你的SQLServer数据库系统的可用性和灾难恢复能力有很高的要求,相信AlwaysOn一定会成为你的首选。
在本节的最后,让我们再来将AlwaysOn同第二章介绍的各项技术做一个横向的对比。通过比较,你能更加直观的看到AlwaysOn的优势所在。
功能 | 故障转移群集 | 日志传送 | 数据库镜像 | 事务复制 | AlwaysOn |
保护级别 | 实例级 | 数据库级 | 数据库级 | 数据库对象级 | 数据库级 |
是否有数据损失 | / | 可能有少量数据损失 | 无数据损失(同步模式) | 可能有少量数据损失 | 无数据损失(同步提交模式) |
自动故障转移 | 是 | 否 | 是(高可用操作模式) | 否 | 是(自动故障转移模式) |
故障转移后是否可逆 | 是 | 否 | 是 | 否 | 是 |
对客户端是否透明 | 是,自动重连接到相同IP的另一个节点 | 否 | 是,自动重定向(需要驱动程序支持) | 否 | 是 |
停机时间 | 约等于SQL Server服务重启的时间+数据库恢复时间 | 较长 | 约等于数据库恢复时间 | 较长 | 约等于数据库恢复时间 |
多个备用数据副本 | 否 | 是 | 否 | 是 | 是(最大4个) |
备用数据副本可读 | / | 是 | 否 | 是 | 是 |
能抵御用户误操作 | 否 | 是 | 否 | 否 | 否 |
能抵御磁盘故障 | 否 | 是 | 是 | 是 | 是 |
是否有特定硬件要求 | windows群集 | 无 | 要求有较好的磁盘和网络 | 无 | Windows群集 |
对性能的影响 | 低 | 中 | 中 | 高 | 中 |
其他功能 | / | 自动页面修复 | / | 冲突解决,双向数据同步等 | 自动页面修复,只读路由,辅助数据库备份,辅助数据库执行DBCC命令 |
版本支持 | SQL Server 2000及以后 | SQL Server 2000及以后 | SQL Server 2005及以后 | SQL Server 2000及以后 | SQL Server 2012 |