达梦4种主备模式对比

以下是基于达梦官方文档“数据守护概述”中各模式原文信息,结合归档时机、故障处理及可用性等角度,对 实时主备(Realtime Primary-Standby)读写分离集群(Read-Write Separation)异步备库(Asynchronous Standby)同步备库(Synchronous Standby) 四种模式的核心差异做出的归纳和对比。

总体来看:

  • 实时主备 强调在数据库写入前“实时”发送并接收日志,以最快速的故障切换和最小恢复时间为目标;
  • 读写分离集群 在保证可用性的前提下,通过“即时”或“实时”归档将读请求自动路由到备库,以提高系统吞吐;
  • 异步备库 则以定时归档方式同步日志,适用于对实时性要求不高的场景,支持多源与级联;
  • 同步备库 则介于两者之间,在本地归档写盘后再发送日志,保障比异步更低的延迟,但不影响主库在发送失败时继续服务。

1. 日志归档时机与一致性

模式归档类型发送时机事务提交等待
实时主备实时归档(Realtime)写入联机Redo文件之前,将 RLOG_PKG 先发往备库【(达梦数据库)】等待备库“接收”确认,不等待重演完成
读写分离集群即时归档(Timely)
或实时归档
写入联机Redo文件之后(Timely)或之前(Realtime),再发往备库【(达梦数据库)】同上
异步备库异步归档(Async)由定时器触发,空闲时批量扫描并发送归档日志【(达梦数据库)】不影响主库提交
同步备库同步归档(Sync)本地归档刷盘后再发往备库;发送失败也不挂起,标记备库为Invalid【(达梦数据库)】等待备库“接收”确认

2. 故障切换与可用性

实时主备

  • 自动切换:支持通过监视器一键 Switchover(测试切换) 与 Takeover(故障接管),并可配置自动接管,不需人工干预;
  • 强制接管:提供 Takeover Force 命令,在极端故障下强制切换,但需保证故障前数据一致性【(达梦数据库)】。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

读写分离集群

  • 切换方式:对主库进行维护或故障切换时,接口层能无缝切换到新的主库,读操作依旧向健康备库路由;
  • 透明分流:应用层无需感知即可将只读请求发送到备库,提升吞吐且保证 READ COMMITTED 隔离级别。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

异步备库

  • 无自动切换:不参与主备自动切换;主库故障时,异步备库不能立刻接管;
  • 多源与级联:可配置为多个源库共享一个备库,也可级联(备库再做源库)以扩大拓扑灵活性【(达梦数据库)】。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

同步备库

  • 无自动切换:与异步备库类似,不支持自动切换或接管,需要手动执行模式切换;
  • 多源支持:Primary 模式下可配置最多 8 个同步备库,Standby 模式需先配置实时/即时归档后才可配置,且同样最多 8 个【(达梦数据库)】。
  • 无级联:不支持级联部署。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3. 达梦归档对比

根据达梦官方文档中“归档介绍”一节的描述,对比表中“同步归档”一列补充如下:

类型\比较本地归档实时归档即时归档同步归档异步归档
条带数量01~81~81~81~8
通过 MAL 传送数据
归档时机写入联机日志后,再写入本地归档日志文件写入联机日志前,发送到备库写入联机日志后,发送到备库写入归档日志文件并刷盘后,发送到备库 (达梦数据库)定时启动
归档写入(发送)归档进程日志刷盘进程日志刷盘进程日志刷盘进程 (达梦数据库)异步归档进程
数据来源RLOG_PKGRLOG_PKGRLOG_PKGRLOG_PKG (达梦数据库)本地归档文件
失败处理- 磁盘空间不足时系统挂起
- 磁盘损坏写入失败时系统 HALT
- Suspend 归档进程,保持状态不变,等待守护进程干预- Suspend 归档进程,并将归档写入状态变为无效,等待守护进程干预- 发送失败后,将主库→备库的归档状态直接置为 Invalid,不会触发 Suspend (达梦数据库)不做处理,等待下次轮询继续发送
条带响应时机收到立即响应事务一致模式:重演完成后响应
高性能模式:收到立即响应
收到后立即响应,不等待重演完成 (达梦数据库)收到立即响应
适用库类型Primary、Standby、NormalPrimaryPrimaryPrimary、Standby (达梦数据库)Primary、Standby
目标库类型StandbyStandbyStandby (达梦数据库)Standby


同步归档(Sync)特点:

  • 在归档日志刷盘完成后立即通过 MAL 发送到备库。
  • 备库收到后直接加入重演任务并立即确认,不会阻塞主库事务(与实时归档和高性能即时归档类似)。
  • 失败时仅将该通道设为 Invalid,不会使主库挂起或切换到 Suspend。
  • 支持 1~8 个同步备库。

4. 典型适用场景

  • 实时主备:对业务连续性和灾难切换要求最高的生产环境,需秒级恢复且可灵活升降级维护;
  • 读写分离集群:主打在线分析或报表系统,将读吞吐压力从主库分担到多个备库;
  • 异步备库:历史统计、离线报表、数据归档等对实时性容忍度高的场景;
  • 同步备库:介于实时与异步之间的场景,既要保证较低延迟,又希望主库不因备库故障而挂起。

下面基于达梦官方文档中对各种归档/主备模式的介绍,对“实时主备”、“读写分离集群”、“异步备库”与“同步备库”四种典型适用场景,按照归档模式类型、延迟特性、一致性保证及主库事务响应行为等维度做对比:

要点概览

  • 实时主备 借助“实时归档”确保主、备库零延迟同步,主库在写入在线日志前即发送到备库,备库重演完成后可快速切换。 (达梦数据库)
  • 读写分离集群 常用“即时归档(事务一致模式)”,兼顾几乎无感知延迟与事务一致性,通过接口透明分流只读到备库。 (达梦数据库)
  • 异步备库 利用“异步归档”模式以性能为先,主库提交不等待归档发送或重演,适合可容忍延迟的报表与归档场景。 (达梦数据库)
  • 同步备库 则在“同步归档”模式下,主库提交需等待备库接收 ACK,不等待重演,保障更低丢失风险且不过度阻塞。 (达梦数据库, 达梦数据库)
典型场景归档模式延迟特性一致性保证主库事务响应
实时主备实时归档 (Realtime)零延迟:在线日志写前即发严格:备库重演完成后才可切换,保证无丢失 (达梦数据库)主库在写在线日志前即发送归档,会等待所有备库接收确认后继续写盘
读写分离集群即时归档(事务一致模式)几乎无:日志刷盘后立即异步发送并重演事务级一致:SELECT 可在主/备执行且满足 READ COMMIT (达梦数据库)事务提交时等待备库重演完成(事务一致模式);可切换到高性能模式变为“先响应再重演”
异步备库异步归档 (Async)可容忍:主库不等待,延迟可高可低不保证:可能存在短暂或较长延迟主库提交即返回,不等待归档发送和重演 (达梦数据库)
同步备库同步归档 (Sync)低延迟:等待备库接收 ACK仅保证发送到备库,不等待重演主库提交时等待至少一个备库接收成功(ACK);不等待重演,减少阻塞 (达梦数据库, 达梦数据库)

说明

  1. 归档模式:来自官方对多种归档方式的分类说明,包括本地、实时、即时、异步与同步归档等 (达梦数据库)。
  2. 延迟特性:实时归档零感知延迟;即时归档在事务一致模式下稍有等待;同步归档需接收确认;异步归档延迟可控。
  3. 一致性保证:实时与事务一致模式下的即时归档可带来严格的一致性语义;同步归档保证日志送达但不等重演;异步归档性能优先。
  4. 事务响应:对主库事务提交的影响从“前阻塞”(同步、实时、事务一致)到“后重演”(高性能模式或异步),可根据场景灵活选择。

以上对比可帮助您根据 数据同步延迟需求主库性能影响故障切换自动化水平拓扑可扩展性 等维度,选择最适合的 DM 数据守护方案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值