【达梦数据库】分布式计算集群DMDPC原理

系统结构

达梦分布计算集群英文全称 DM Distributed Processing Cluster,简称 DMDPC。

DMDPC 是基于达梦数据库管理系统研发的一款同时支持在线分析处理和在线事务处理的新型分布式数据库系统。它既具备传统单机数据库的绝大部分功能,又提供了分布式计算集群才拥有的高可用、高扩展、高性能、高吞吐量和对用户透明等高级特性。

一个完整的 DMDPC 架构由计划生成节点 SP、数据存储节点 BP 和元数据服务器节点 MP 三部分组成。SP 对外提供分布式数据库服务,用户可以登录到任意一个 SP 节点,获得完整的数据库服务;BP 负责存储数据,执行 SP 的调度指令并将执行结果返回给 SP;MP 负责存储元数据并向 SP、BP 提供元数据服务。

SP 节点不存储数据,配置成单机即可。MP 和 BP 节点既可以配置成单机,也可以配置成多副本系统。其中每一个多副本系统中只有一个作为主节点,其余节点均作为备份节点。

图 2.1 典型的 DMDPC 架构.png

  • 计划生成节点SP:SQL Processor。对外提供数据库服务,负责接收用户请求并生成计划、划分子计划、按照一定规则计算并行度并调度各个子计划,并最终将执行结果返回给用户。对于一次客户端请求任务来说,客户端连接的SP负责生成、划分并调度计划,其它的SP和BP负责执行计划。SP的实现是在已有的成熟达梦单机数据库处理框架的基础上新增了分布式计算处理。
  • 数据存储节点BP:Backend Processor。DMDPC集群中数据实际存储的节点,负责存储数据和接收SP的子任务调度指令,执行子任务,并返回结果给SP。一个DMDPC集群可配置多个BP节点同时提供服务,且可以随着用户业务量变化动态增删BP节点。为了保障BP节点能够持续提供服务,每一个BP节点又可以配置成一个BP多副本系统。
  • 元数据服务器节点MP:Metadata Processor。DMDPC集群中提供元数据服务(即字典信息服务)的节点。所有DDL请求都会经过SP转发给MP执行,元数据信息全部存储在MP。一个DMDPC集群只能配置一个MP节点提供服务。为了保障MP节点能持续提供服务,MP节点可以配置成一个MP多副本系统。

多副本系统

在现实环境中,DMDPC运行过程中有可能会碰到各种故障情况,比如系统掉电或者出现硬件故障(如磁盘损坏)、自然灾害(地震、火灾)等极端情况,因此需要对BP或MP采用多副本系统架构进行存储,以保障DMDPC的数据安全和高可用性,避免出现数据损坏和丢失,并且可以快速恢复数据库服务,满足用户不间断提供数据库服务的要求。

DM多副本系统由N个节点实例组成,N必须是大于1的奇数。只有配置了RAFT归档的实例才能加入多副本系统。

目前一个多副本系统最多支持部署9个节点实例。同一个RAFT组中的所有节点(三个或三个以上)共同构成一个多副本系统。实例之间通过XMAL模块进行TCP消息通讯。各个节点实例之间基于RAFT协议选举出一个领导者作为主库,其他实例作为备库(也就是副本)角色运行。主库会自动向备库同步日志,备库接收并重新应用日志,从而达到主备库之间数据保持一致的目的。

BP多副本架构:

图 2.2 BP 多副本示意图.png

MP多副本架构:

图 2.3 MP 多副本示意图.png

执行流程

DML 流程

DML流程分为两种情况:一般流程和优化流程。优化流程是指在实际执行时,优化器会综合多种条件,对符合优化的细节进行优化之后形成的流程。EXPLAIN查看执行计划时,包含mpp_opt_flag(1)的即为优化流程下的执行计划,包含mpp_opt_flag(0)的即为一般流程下的执行计划。

DDL流程

DMDPC中处理DDL请求的流程如下:

  1. 客户端发送DDL请求给SP;
  2. SP在经过初步分析后,判断出是DDL请求,转发给MP,等待MP响应;
  3. MP接收到SP转发的DDL请求后,根据具体类型,更改系统表;如果有B树创建、删除等用户数据操作,转发给相应BP完成;所有步骤完成后回复SP;
  4. SP根据MP的反馈结果向客户端报告成功或失败。

达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台 (dameng.com)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值