数据库高可用性的全面探索
1. 快速故障转移与集群架构概述
在当今的数据库管理领域,快速故障转移是保障系统可用性的关键特性。系统的故障转移过程能够在几秒内完成,而后续数据库的可用性则取决于需要前滚或回滚的事务数量。
目前,大多数商业数据库管理系统提供商采用了多种方法来构建集群架构,不过也有部分提供商采用第三方公司的解决方案,但这些方案在可扩展性和高可用性方面的支持有限。
数据库集群主要有两种架构:共享存储(通常称为共享磁盘)和无共享(通常称为无共享架构)。理解这两种架构的概念和特点,对于数据库高可用性部署至关重要。
1.1 共享磁盘集群数据库架构
共享磁盘架构将整个数据库存储在存储磁盘上,每个节点都可以直接访问这些磁盘。这种架构非常适合在线事务处理(OLTP)环境,能够处理大量并发客户端的请求。
1.1.1 架构特点
- 数据访问 :任何实例上运行的事务都可以直接读取或修改数据库的任何部分。
- 节点通信 :系统需要使用节点间通信来同步多个节点的更新活动。当多个节点竞争同一数据块时,传统的共享磁盘数据库系统通过磁盘 I/O 来同步数据访问。
- 节点组成 :一个节点可以由多个处理器组成,常见的节点类型是对称多处理器(SMP)节点。每个节点都有自己的专用系统内存、操作系统和数据库实例。
- 集群结构 :共享磁盘数据库架构运行在硬件集群之上,每个参与的服务器都可以平等访问所有磁盘