​达梦三种主备集群介绍

news/2024/2/21 10:48:22

DM主备守护集群分为实时主备、读写分离集群、MPP主备集群。基于redo日志实现,不同的集群采用不同的redo日志归档类型。

实时主备

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

实时主备由一个主库以及一个或者多个配置了实时(Realtime)归档的备库组成,其主要目的是保障数据库可用性,提高数据安全性。实时主备系统中,主库提供完整的数据库功能,备库提供只读服务。主库修改数据产生的Redo日志,通过实时归档机制,在写入联机Redo日志文件之前发送到备库,实时备库通过重演Redo日志与主库保持数据同步。当主库出现故障时,备库在将所有Redo日志重演结束后,就可以切换为主库对外提供数据库服务。

主要功能

  1. 实时数据同步
  2. 主备库切换
  3. 自动故障处理
  4. 自动数据同步
  5. 备库接管
  6. 备库强制接管
  7. 读写分离访问

归档流程

实时归档是实时主备数据同步的基础,其流程如下图所示:

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

MPP主备

MPP主备就是在MPP集群的基础上,为每一个MPP节点配置一套实时主备系统,这些实时主备系统一起构成了MPP主备系统。我们将一个MPP节点对应的主备系统称为一个数据守护组(Group),MPP主备系统中各个数据守护组保持相对独立,当某个MPP主节点出现故 障时,在其对应的数据守护组内挑选一个备库切换为主库后,就可以确保整个MPP集群的正常使用。

MPP 主备的主要目的是为 DM MPP 集群提供数据可靠性保障,备库只做数据容灾、备份,MPP 备库并不是 MPP 集群的一部分,只是某个 MPP 节点(主库)的镜像。MPP 备库不参与 MPP 操作,与其他 MPP 备库之间也没有任何关系,MPP 备库只能以单节点方式提供只读服务,但不提供全局的 MPP 只读服务。

MPP 主备系统中,一个守护进程 dmwatcher 可以监控、管理多个守护进程组的数据库实例。一般来说,一台物理机器上,可以部署 1 MPP 节点的主库和多个其他 MPP 节点的备库,充分利用硬件资源,节省投资。

Global 守护类型的 MPP 主备库需要在 dm.ini 中配置 MPP_INI 1,并且 MPP 主备库的本地数据文件目录下都需要有 dmmpp.ctl 文件,如果 Global 守护类型的备库没有上述配置,守护进程和监视器无法正常使用,守护进程会切换到 Shutdown 状态,监视器上无法正常执行命令,会打印配置不一致的提示信息。

下图以三个 MPP 节点,每个节点配备两个备库为例,说明 MPP 主备系统的结构。

读写分离集群

读写分离集群由一个主库以及一个或者多个配置了即时(Timely)归档或实时 (Realtime)归档的备库组成,其主要目标是在保障数据库可用性基础上,实现读、写操作的自动分离,进一步提升数据库的业务支撑能力。读写分离集群通过配置事务一致模式保证主、备库数据一致性,并配合达梦数据库管理系统的各种接口(JDBC、DPI等),将只读操作自动分流到备库,有效降低主库的负载,提升系统吞吐量。

读写分离集群提供数据保护、容灾等数据守护基本功能,还具有读写操作自动分离、负载均衡等特性。读写分离集群最多可以配置 8 个即时备库或 8 个实时备库,提供数据同步、备库故障自动处理、故障恢复自动数据同步等功能,也支持自动故障切换和手动故障切换两种守护模式。

归档流程

读写分离集群可以配置为即时归档,也可以配置为实时归档,这两种配置方式仅仅是归档流程上有差别,读写分离集群的特性仍然是一致的。即时归档流程与实时归档流程存在一定差异。

    

实现原理

实现读写分离集群的基本思路是:利用备库提供只读服务、无法修改数据的特性,优先将所有操作发送到备库执行,一旦备库执行报错,则发送到主库重新执行。通过备库“试错” 这么一个步骤,自然地将只读操作分流到备库执行。并且,备库“试错”由接口层自动完成,对应用透明。

读写分离集群数据库连接创建流程:

1. 用户发起数据库连接请求。

2. 接口(JDBC、DPI 等)根据服务名配置(在 dm_svc.conf 中进行配置)登录主库。

3. 主库挑选一个有效即时备库的 IP/Port 返回给接口。

4. 接口根据返回的备库 IP 和 Port 信息,向备库发起一个连接请求。

5. 备库返回连接成功信息。

6. 接口响应用户数据库连接创建成功。

接口在备库上创建的连接是读写分离集群自动创建的;对用户而言,就是在主库上创建了一个数据库连接。下图以配置了两个备库的读写集群为例,说明了读写分离集群的连接创建流程。

读写分离集群语句分发流程:

1. 接口收到用户的请求。

2. 接口优先将 SQL 发送到备库执行。

3. 备库执行并返回执行结果。如果接口收到的是备库执行成功消息,则转到第 6 步,

如果接口收到的是备库执行失败消息,则转到第 4 步。

4. 重新将执行失败的 SQL 发送到主库执行。只要第 3 步中的 SQL 在备库执行失败,

则同一个事务后续的所有操作(包括只读操作)都会直接发送到主库执行。

5. 主库执行并返回执行结果给接口。一旦主库上执行的写事务提交,则下次继续从第

1 步开始执行。

6. 接口响应用户并将执行结果返回给用户。

高性能与事务一致性

高性能:备机收到重演日志,加到重演线程队列后响应主机,主机不需要等待备机重演完成后在响应主库。

事务一致性:备机收到重演日志,重演完成后响应主机,主机需要等待备机重演完成后响应主机。

数据守护集群的高性能与事务一致性是由归档参数ARCH_WAIT_APPLY参数控制的。

备库收到Redo日志后,是否需要重演完成后再响应主库。0表示收到马上响应(高性能模式),1表示重演完成后响应 (事务一致模式)。配置为即时归档的读写分离集群时,默

认值为1;配置为实时归档的读写分离集群时,默认值为0

实时归档的读写分离

实时主备也可以配置接口的读写分离属性进行访问,实现读写分离功能特性。实时读写分离同样也支持事务一致模式和高性能模式,由配置文件 dmarch.ini 中的ARCH_WAIT_APPLY 配置项来确定,1 表示事务一致模式,0 表示高性能模式,实时读写分离下,默认值为 0,即采用高性能模式。这个参数在实时归档中的用法和在即时归档中是相同的,只是默认值不同。

和即时归档不同的是,实时归档先发送日志到备库,然后再写入本地联机日志,和即时归档相比,实时归档的读写分离可以有效避免备库自动接管后老主库的分裂,在对读写分离集群的可用性要求比较高的情况下,可以采用这种配置方式。

达梦在线服务平台:https://eco.dameng.com


http://www.ppmy.cn/news/426453.html

相关文章

电子合同的电子签名方法

当前合法电子合同,几乎都是采用区块链加密传输存储,确保合同的内容不会被篡改。除了合同本身的存证以外,就是电子签名签章的技术有不同。 常见的电子签名方法有两种:手写原笔迹电子签名、CA数字证书签名! 手写原笔迹电子签名&…

什么是签入/签出

概述: 一般发生在团队协作的版本管理语境中, 用来避免多人同时修改共享资源的锁机制 签入(check in)/签出(check out)是针对远程资源仓库而言的锁机制: 签出(check out from repository into local workspace)即是将资源下载到本地,进行修改…

签名与验签

签名验签过程 签名者将验签公钥分发给消息接受者。签名者使用签名私钥,对数据产生签名。签名者将数据以及签名传递给消息接受者。消息接收者获得数据和签名后,使用公钥针对数据验证签名的合法性。 公钥基础设置PKI 密钥管理服务KMS KMS是PKI的一部分…

如何在PDF上添加电子签名?签名技巧分享

怎么在PDF文件上添加电子签名照呢?大家在工作中经常会使用到PDF文件,有的PDF文件我们在使用时需要添加我们个人的签名,才能体现出这份文件是我们自己的,如果我们身边没有电脑,又该如何才能实现这一操作呢?其…

爱签:如何在线签订电子合同

在数字化创新浪潮中,以电子合同为代表的数字化技术,正受到越来越多的政企关注与认可。电子合同不同于纸质合同,双方面对面签订或邮寄确认,电子合同依托互联网线上签订,双方无需见面,因此身份认证显得尤为重要。那么在线签订电子合同需要什么条件呢? 1、…

电子签章怎么操作_电子签章合同是否有效

电子签章怎么操作 下面通俗地解释下电子签章怎么操作。 用户将合同文件上传到法大大平台,或者通过合同模板生成合同文件后,系统会自动生成一份PDF文件。这个时候,用户就可以使用电子签章进行签署了。 当用户进行使用短信验证码、刷脸、指纹…

电子签名、数字签名、数字证书、电子签章、电子印章的概念和区别

1、广义的电子签名是指任何数据电文中以电子形式所含、所附用于识别签名人身份并表明签名人认可其中内容的数据;而狭义的电子签名即使用PKI体系进行的数字签名; 2、数字证书是由权威公证的第三方认证机构(即CA,Certificate Autho…

如何制作个人的纯手写电子签名

一、步骤: 1、手写拍照,上传电脑 2、用ps打开图片,并进行图片裁剪 3、菜单 >> 色彩范围 >>把鼠标放到原图的字上,进行取样 >>调节颜色容差,使自己的名字边缘也选中 >>确认 4、ctrlJ&#xff…

如何制作电子签名

如何制作电子签名 获取一张带有名字的图片使用python将图片修改为透明底致谢 获取一张带有名字的图片 首先,在白纸上写好你的名字,使用相机拍摄一张图片(可以使用一些扫描软件进行拍摄&编辑,比较方便)。将图片进行…

签名,验签的理解

一、公钥加密 假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。 我有一个文件,不能让别人看&am…

自签名证书制作和使用方法

自签名证书安全提示: 浏览器加入自签名证书步骤 Firefox CA证书导入 通过openssl 制作自签名证书 Extension 信息配置 1) Myconf.cnf文件内容 [req] distinguished_name req_distinguished_name req_extensions v3_req [req_distinguished_name]…

数字签名与验签

前言 数字签名(又称公钥数字签名)是只有发送方才能产生的无法伪造的数字串,是对发送者发送信息真实性的有效证明。数字签名主要是保证数据有效性(验证是谁发的)和完整性(验证信息是否被篡改)。数…

如何实现《电子签名法》要求的可靠电子签名?

电子文档的电子签名怎么弄?我们在工作中经常需要在一些Word、pdf等电子版文件中插入签名,而很多人可能不知道,电子签名怎么弄?怎么做电子签名才有效? 电子印章或签名图片属于电子签名吗? 当工作或商务交易中…

【数字签名】流程

数字签名 一、引述 大家有没有遇到过如下问题 很多朋友们都会觉得这是自己的系统有问题,或者被病毒攻击等等原因,其实不然,这个问题就是说明的是下载的软件并没有使用微软的数字签名,并非操作系统的问题,所以window在…

不只是CAD电子签名,设计院电子签章还要有这些!

如果说,建筑是面向未来的建设,勘察设计就是站在未来思考现在。当人工智能、物联网、大数据等前沿科技应用在逐渐落地,未来建筑也正在走近我们的生活,更丰富复杂的建筑信息和建设信息、更紧密的设备关联和更智能的建筑,…

电子签名、电子签章、电子印章

从2005年电子签名法颁布实施以来,很多领域都开始广泛使用。网上银行、实体银行、电子政务、电子合同的签署以及电信、银行营业厅等场所。特别是随着互联网的发展,电子签名的应用更广泛。 《中华人民共和国电子签名法》对电子签名的定义是:“…

必备基础:加签验签

必备基础:加签验签 1 密码学相关概念1.1 明文、密文、密钥、加密、解密1.2 对称加密、非对称加密1.3 什么是公钥私钥? 2 加签验签概念3 为什么需要加签验签4 常见加密相关算法简介4.1 消息摘要算法4.1.1 MD家族算法4.1.2 ShA家族算法4.1.3 MAC算法家族 4…

一文了解数字签名、数字证书、自签证书

参考 关于自签SSL证书的一些小知识汇总 对于ssl中的pem文件和key 文件的理解 openssl 生成证书 ca.pem client.pem server.pem SSL:证书文件 数字证书原理 数字签名是什么? 数字签名和数字证书的原理解读(图文) 数字签名和数字证书有哪些区别与联…

【数字签名】如何正确地加签/验签

项目上需要用到数字签名,原本是简单的服务器签名,客户端验签的流程。因为ios端没有找到比较好的验签库,故根据网传的步骤实现验签,但死活验签不成功,折腾了半天。 网上的验签流程: 数字签名的技术流程描述如下&…

对签名验签的理解

1.公钥私钥 1.1一些规则: 公钥加密的数据只有私钥能解开私钥加密的数据只有公钥能解开公钥有很多把,私钥只有一把 注:无需知道原理,只要记住这么个规则 1.2这些规则产生的结论: 下面假设你有一把私钥和公钥&#x…
最新文章