数据库高可用性深度剖析
1. 高可用性相关概念解析
在当今数字化时代,数据库的高可用性至关重要。为了实现这一目标,需要对可靠性、冗余性、高可用性和服务可用性等概念有深入的理解。
- 可靠性(硬件导向) :可靠性衡量的是系统投入使用后正常运行(不出现故障)的可靠程度。最初的可靠性策略是构建不易损坏的优质硬件,并配备备份系统以防万一。然而,随着系统越来越依赖软件,故障预防变得难以实现,因为软件在发布前无法对所有可能的使用配置和数据进行测试,软件故障往往在实际使用中才会暴露。因此,现在系统设计中可靠性的概念需要重新审视,故障管理逐渐取代了故障预防。
-
冗余性(组件导向) :通过为关键组件建立备份系统来应对潜在故障。全 2N 冗余是将组件进行复制,使每个活动组件都有自己的备份,这是最简单的冗余配置方式,必要时可以在冗余备用系统上镜像进程以实现整个系统的故障转移。但对于复杂系统,全冗余通常成本过高、不必要且不切实际。在复杂系统中利用冗余需要进行动态系统重新配置,以确保系统的可用性。备用冗余组件可以配置为以下三种切换模式:
| 切换模式 | 使用技术 | 恢复时间 | 保持事务状态 | 注意事项 |
| — | — | — | — | — |
| 冷切换 | 切换时初始化备用组件 | 最慢 | 否 | 节省电力和资源 |
| 温切换 | 数据可保存到备用组件,但切换时需要配置应用程序,增加重启时间 | 慢 | 否 | 切换期间无法支持不间断连接 |
| 热切换 | 应用程序和事务状态数据必须持续检查点到备用设备,快速检测故障并重新配置系统 | 最快