HDR:简介
本节讨论与 High Availability Data Replication 相关的以下主题:
High Availability Data Replication(HDR)是一种将数据从主服务器复制到从服务器的方法。HDR 将所有启用日志记录功能的数据库从主服务器复制到从服务器。尽管可以把从服务器看作主服务器的复制品,但是它不包含未启用日志记录功能的数据库的数据。在从服务器上存在这些数据库和模式,因为 DML(Data Manipulation Language)语句总是记录在日志中的;但是除非数据库启用了日志记录功能,否则插入、更新或删除的数据不会被复制。HDR 确保从服务器总是与主服务器保持同步。如果主服务器发生故障,那么从服务器可以作为备用服务器,直到主服务器恢复运行为止。
- 高可用性:如果主服务器发生故障,那么可以自动启用对从服务器的写访问。
- (可能)分担负载:由于从服务器包含数据的另一个拷贝,所以可以在从服务器上运行报告任务,而不是在主服务器上运行。这样就把报告任务的负载转移到从服务器上,有助于增加主服务器的吞吐量。
- 同步或异步复制:同步更新的过程是这样的:在主服务器上,将逻辑日志缓冲区复制到数据复制缓冲区,通过网络发送它,然后向主服务器发送一个确认消息,表示缓冲区已经接收到。这时主服务器上的逻辑日志缓冲区刷新才算完成。通过使用同步更新,可以确保在主服务器上提交的事务也被发送到从服务器。异步更新的过程是这样的:主服务器将逻辑日志缓冲区复制到数据复制缓冲区,然后在发生以下事件时,刷新逻辑日志缓冲区并通过网络发送数据复制缓冲区内容:
- 数据复制缓冲区变满
- 应用程序在一个未启用缓冲的数据库上提交了事务
- 满足
DRINTERVAL
配置参数指定的时间间隔
- 数据库的日志记录模式:只有启用了日志记录功能的数据库才被复制。
- 数据库范围:HDR 的粒度是数据库级别。启用日志记录功能的数据库中的所有表都被复制。
- 同步模式:在使用同步更新时,逻辑日志缓冲区的刷新会有一个小延迟,因为接收确认消息会产生网络通信延迟。
- 异步模式:如果使用异步更新,那么在主服务器发生故障时,主服务器上已经提交的一些事务可能还没有复制到从服务器。
- 对 blobspace blob 的支持:不复制 blobspace 中存储的任何 blob。
- 只读的从服务器:从服务器是一个只读服务器。需要执行写访问的所有应用程序必须使用主服务器。
HDR 最初是在 IDS 的 7.10.UC1 版本中出现的。以下版本逐渐增加了各种特性:
- 7.11.UC1 —— 增强了 HDR 的主/从服务器切换
- 7.31.UC2 —— 增加了对 onbar 和 ISM 的支持以启动 HDR
- 9.20.UC1 —— 支持遗留数据类型;禁用了 DRAUTO
- 9.30.UC1 —— 引入了新的 HDR 故障转移脚本(hdrmkpri.bat、hdrmksec.bat),可以切换 HDR 服务器的角色
- 10.00.UC1 —— 可以通过 HDR 使用外部备份/恢复;增加了
DRIDXAUTO
,用于将索引复制到从服务器;恢复了 DRAUTO
参数
阅读(1540) | 评论(0) | 转发(0) |