达梦数据守护原理

一、达梦数据守护

DM 数据守护(Data Watch)的实现原理非常简单:将主库(生产库)产生的 Redo日志传输到备库,备库接收并重新应用 Redo 日志,从而实现备库与主库的数据同步。 DM
数据守护的核心思想是监控数据库状态,获取主、备库数据同步情况,为 Redo 日志传输与重演过程中出现的各种异常情况提供一系列的解决方案。
DM 数据守护系统结构参考图 2.1。主要由主库、备库、 Redo 日志、 Redo 日志传输、Redo 日志重演、守护进程(dmwatcher)、监视器(dmmonitor)组成。
达梦数据守护系统结构

二、实时主备

实时主备系统由主库、实时备库、守护进程和监视器组成。通过部署实时主备系统,可以及时检测并处理各种硬件故障、数据库实例异常,确保持续提供数据库服务。

2.1实时主备主要功能

2.1.1实时数据同步

主备库通过实时归档完成数据同步,实时归档要求主库将 RLOG_PKG 发送到备库后,再将 RLOG_PKG 写入本地联机 Redo 日志文件。但要注意的是,备库确认收到主库发送的Redo 日志,并不保证备库已经完成重演这些 Redo 日志,因此主备库之间的数据同步存在一定的时间差。

2.1.2主备库切换

主备库正常运行过程中,可以通过监视器的 Switchover 命令,完成主备库角色转换。主备库切换功能可以确保在软、硬件升级,或系统维护时,提供不间断的数据库服务。

2.1.3自动故障切换

备库故障,不影响主库正常提供数据库服务,守护进程自动通知主库修改实时归档为Invalid 状态,将实时备库失效。

2.1.4自动数据同步

备库故障恢复后,守护进程自动通知主库发送归档 Redo 日志,重新进行主备库数据同步。并在历史数据同步后,修改主库的实时归档状态为 Valid,恢复实时备库功能。
备库接管后,原主库故障恢复,守护进程自动修改原主库的模式为Standby,并重新作为备库加入主备系统。

2.1.5备库接管

主库发生故障后,可以通过监视器的 Takeover 命令,将备库切换为主库,继续对外提供服务。如果配置为自动切换模式,确认监视器可以自动检测主库故障,并通知备库接管,这个过程不需要人工干预。

2.1.6备库强制接管

如果执行 Takeover 命令不成功,但主库可能由于硬件损坏等原因无法马上恢复,为了及时恢复数据库服务, DM 提供了 Takeover Force 命令,强制将备库切换为主库。
但是需要确认主库故障前,主库与备库数据是一致的,避免引发守护进程组分裂。

2.1.7读写分离访问

在备库查询的实时性要求不高的条件下,实时主备也可以配置接口的读写分离属性访问,实现读写分离功能特性。

2.1.8归档流程

主库生成联机 Redo 日志,当触发日志写文件操作后,日志线程先将 RLOG_PKG 发送到备库,备库接收后进行合法性校验(包括日志是否连续、备库状态是否 Open 等),不合法则返回错误信息,合法则作为 KEEP_PKG 保留在内存中,原有 KEEP_PKG 的 Redo 日志加入 Apply 任务队列进行 Redo 日志重演,并响应主库日志接收成功。

三、MPP主备

MPP 主备就是在 MPP 集群的基础上,为每一个 MPP 节点配置一套实时主备系统,这些实时主备系统一起构成了 MPP 主备系统。 MPP 主备系统包含多个守护进程组,每个守护进程组都是一个相对独立的实时主备系统,具备实时主备的基本功能,可以进行主备切换、备库接管等操作。
MPP主备架构
MPP主备主要是为 DM MPP集群提供了数据的可靠性保障,备库只做容灾、备份,MPP的备库不是MPP集群的一部分,只是某个MPP节点的镜像,MPP备库不参与MPP操作,与其他MPP备库没有任何关系,MPP备库只能以单节点方式提供只读服务,但是不提供全局MPP只读服务。

dmmpp.ctl维护

dmmpp.ctl 控制文件的信息主要包括:系统状态、 MPP 节点数、文件校验码、故障节点数、故障节点序号、配置项名、实例名、实例节点序号,以及根据节点数和实例序号生成的哈希映射数组等。 MPP 集群中节点间的关联信息记录在 dmmpp.ctl 控制文件中,因此,所有 MPP 主节点存放的 dmmpp.ctl 文件内容要求完全一致。
MPP主备中,所有节点的ctl_path目录保存一份dmmpp.ctl控制文件,且所有节点的dm.ini中参数MPP_INI设置为1,确保主备系统正常运行。
由于dmmpp.ctl是二进制文件无法直接修改,达梦提供工具dmctlcvt可以将文本转换为ctl。

达梦技术社区

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值