注册
达梦数据库数据守护
技术分享/ 文章详情 /

达梦数据库数据守护

DM_336625 2026/07/02 53 0 0

达梦数据库数据守护(Data Watch)完全指南

数据守护(Data Watch)是达梦数据库提供的一种集成化的高可用、高性能数据库解决方案,也是数据库异地容灾的首选方案。通过部署数据守护,可以在硬件故障、自然灾害等极端情况下保障数据安全,并实现数据库服务的快速恢复。

一、核心设计思想

达梦数据守护的实现原理非常简洁:将主库(生产库)产生的Redo日志传输到备库,备库接收并重新应用(重演)这些日志,从而实现备库与主库的数据同步

与传统的备份恢复技术相比,数据守护的最大优势在于恢复速度——通过数据守护恢复数据库服务只需数秒,而通过还原备份可能需要数小时甚至更长时间,且恢复时间基本不受数据规模影响。

二、核心组件解析

达梦数据守护体系由五大核心组件构成,各组件协同工作,保障集群的稳定运行。

组件 部署位置 核心功能
主库(Primary) 生产服务器 承担读写业务,产生Redo日志,是数据变更的源头
备库(Standby) 容灾服务器 接收并重演Redo日志,保持与主库数据一致,可提供只读服务
守护进程(dmwatcher) 数据库服务器 监控数据库状态,处理故障切换,是集群的“神经中枢”
监视器(dmmonitor) 独立服务器(推荐) 提供全局集群视图,执行管理命令,支持自动/手动切换
MAL通信系统 内置于数据库 基于TCP的节点间高速通信通道,负责Redo日志传输

三、工作原理

3.1 数据同步机制

数据守护的本质是“日志驱动的数据一致性保障”,核心流程分为三步:

  1. 日志生成与传输:主库处理事务时生成Redo日志,根据归档策略实时或定时打包为RLOG_PKG,通过MAL层发送至备库
  2. 日志重演与同步:备库接收日志包后,按LSN(日志序列号)顺序重演,通过对比主库FILE_LSN与备库APPLY_LSN确保数据一致性
  3. 故障检测与切换:守护进程发现主库故障后,由监视器选举最优备库,备库重演剩余日志后切换为主库

LSN是保证一切有序和一致性的核心机制

  • FILE_LSN:已持久化到磁盘的日志的最大LSN
  • APPLY_LSN:备库已重演完成的最大LSN

3.2 归档模式对比

达梦支持多种归档模式,决定了日志同步时机和数据一致性级别:

模式 同步时机 一致性 性能 适用场景
REALTIME(实时归档) 日志写入联机日志文件前发送到备库 强一致(RPO≈0) 中等 核心业务,要求数据零丢失
TIMELY(即时归档) 日志写入联机日志文件后发送到备库 强一致(RPO≈0) 中等 REALTIME的替代方案
ASYNC(异步归档) 主库归档后异步批量发送 最终一致(RPO>0) 异地容灾、日志分析
SYNC(同步归档) 主库归档后同步发送 最终一致 较高 读写分离场景

REALTIME模式的KEEP_PKG机制:为防止主库在发送成功但未本地落盘时故障导致数据分歧,备库会缓存日志包,待收到下一个包确认主库正常后才重演前一个包。

四、解决方案类型

达梦数据守护提供多种解决方案,用户可根据需求灵活选择:

方案类型 架构特点 主要用途 备库数量
实时主备 主库+实时备库,备库提供只读服务 保障可用性、提高数据安全性 1~8个
读写分离集群 主库+即时/实时备库,JDBC自动分流只读操作 提升系统吞吐量 1~8个
MPP主备 为MPP集群每个节点配置主备系统 分布式数据库的高可用 按需
DMDSC主备 DMDSC集群与单节点互为主备 共享存储集群的高可用 -

实时主备的工作流程:主库生成Redo日志后,日志线程先将RLOG_PKG发送到备库;备库校验合法性后保留在内存中,加入Apply任务队列进行重演,并响应主库;主库收到所有备库的响应后才将日志写入联机日志文件。

读写分离集群的价值:通过配置事务一致模式保证主备数据一致性,配合JDBC、DPI等接口,将只读操作自动分流到备库,有效降低主库负载。

五、守护模式与监视器

5.1 两种守护模式

模式 配置要求 故障处理方式 适用场景
自动切换(AUTO) 必须部署确认监视器 系统自动将备库切换为主库 对可用性要求高的生产环境
手动切换(MANUAL) 可部署普通监视器 需人工执行切换命令 测试环境或需人工确认的场景

5.2 监视器类型对比

类型 MON_DW_CONFIRM 核心功能 部署要求
确认监视器 1 具备状态确认和自动接管功能 故障自动切换模式下必须部署
普通监视器 0 监控状态、执行切换命令 最多可同时启动10个

确认监视器的重要性:在自动切换模式下,必须部署确认监视器,否则出现数据库故障时会导致服务中断。

六、关键配置文件

搭建数据守护集群需要配置以下核心文件:

文件 作用 关键参数
dm.ini 实例基本配置 INSTANCE_NAME, PORT_NUM, MAL_INI, ARCH_INI
dmmal.ini 节点间MAL通信配置 MAL_HOST, MAL_PORT, MAL_DW_PORT
dmarch.ini 归档配置 ARCH_TYPE(REALTIME/TIMELY/ASYNC), ARCH_DEST
dmwatcher.ini 守护进程配置 DW_TYPE(GLOBAL/LOCAL), DW_MODE(AUTO/MANUAL)
dmmonitor.ini 监视器配置 MON_DW_CONFIRM(0普通/1确认)

配置规范要点

  • 所有节点的达梦版本必须完全一致
  • 主备库硬件配置应尽可能相同
  • 节点间网络建议万兆网,延迟<1ms
  • 所有节点的dmmal.ini配置必须完全一致
  • dmmonitor.ini中的MON_INST_NUM必须与实际MON_DW_IPx数量一致

七、故障切换机制

7.1 自动切换触发条件

  1. 监视器配置为AUTO模式
  2. 存在状态为SYNC(数据完全同步)的备库
  3. 主库故障持续超过DW_ERROR_TIME

7.2 故障恢复流程

原主库修复后,会自动以备库身份重新加入集群,通过增量日志同步追赶新主库数据,无需人工重建实例。

7.3 切换操作方式

bash

# 登录监视器
login
SYSDBA
******

# 执行主备切换
choose switchover GRP1
switchover 目标实例名

八、高可用核心指标

指标 达梦数据守护可实现的能力
RPO(恢复点目标) REALTIME/TIMELY模式下可达到0(零数据丢失)
RTO(恢复时间目标) 秒级(通常数秒内完成切换)
最大备库数 单主库最多可配置8个实时备库
故障检测时间 可配置(默认约20-30秒)

九、系统特性总结

达梦数据守护具备以下核心特性:

特性 说明
完整功能主库 主库提供完整数据库服务,功能限制极少
活动备库 备库在Open状态下执行数据同步,支持只读访问和临时表修改
多重数据保护 可同时配置多个备库,为数据安全提供全方位保护
高可用性 切换过程数秒内完成,配合VIP漂移实现客户端无感切换
故障自动重连 接口会自动将连接迁移到新主库,无需修改应用
故障库自动重加入 故障库恢复后自动转换为备库重新加入集群
历史数据自动同步 故障备库恢复后自动同步历史数据
滚动升级 可在不中断服务的情况下滚动升级数据库版本

达梦社区技术 https://eco.dameng.com

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服