当前位置: 首页 > article >正文

达梦分布式集群DPC_架构详解_yxy

达梦分布式集群DPC_架构详解

  • 1 DPC核心架构介绍
    • 1.1 架构图
    • 1.2 DPC核心架构组件
  • 2 多副本
    • 2.1 多副本架构图
    • 2.2 多副本示例
    • 2.3 RAFT组概念
    • 2.4 表空间与RAFT组的关系

1 DPC核心架构介绍

1.1 架构图

在这里插入图片描述

1.2 DPC核心架构组件

DMDPC 架构由三部分组成
SP(SQL Processor):计算节点
MP(Metadata Processor):元数据节点
BP(Backend Processor):数据存储节点

SP
①对外提供分布式数据库服务,用户可以登录到任意一个 SP 节点,获得
完整的数据库服务;
②不存储数据,所以SP都是单机,可以横向扩展(多个SP节点),不能多副本;

BP
①负责存储表真实数据,一般是多副本;
②执行 SP 的调度指令并将执行结果返回给 SP;

MP
①负责存储元数据(表结构等信息),一般是多副本;
②向 SP、BP 提供元数据服务;

2 多副本

2.1 多副本架构图

在这里插入图片描述

2.2 多副本示例

DPC基于 RAFT 协议实现了一套全新的达梦多副本(DM Multiple Copy)系统架构。
类似于主备系统,主库挂了备库能立即切换为主,实现高可用性;

例如:
①单机架构

服务器1服务器2服务器3服务器4
SPMPBP1BP2
Ⅰ.其中BP节点可以横向扩展(MP不行),比如新增BP3,4,5...,BP越多,表数据分配到所有BP节点后,能利用的资源越多,性能就越高;

这里举个例子:
一个分区表TEST,通过ID列做HASH分区,分成5个子表,建表语句为:

create table TEST(
"ID" INT,
"NAME" VARCHAR2(20),
)
PARTITION BY HASH("ID")
PARTITIONS 5;

如果把5个子表分配到5个BP上,那么通过ID列去查询数据时,就能利用5台服务器资源;

Ⅱ.单机架构MP和BP都只有一份数据,如果其中一个节点发生故障,整个集群就不能正常提供服务,所以可以部署多副本架构,给MP和BP1,BP2都新增两个副本;

②多副本架构

服务器1服务器2服务器3服务器4
SPMPBP1BP2
MP_备1BP1_备1BP2_备1
MP_备2BP1_备2BP2_备2
新增备库后,当主库BP1实例挂掉,BP1_备1或者BP1_备2就能选举为主库来提供服务,实现高可用性

2.3 RAFT组概念

拥有相同数据的一个或多个节点共同构成一个 RAFT组。RAFT 组中的节点个数为奇数。

当 RAFT 组中只有 1 个节点时,则该节点称为单副本系统(单机)。

例如
①比如上述例子中的的BP1,BP1_备1,BP1_备2就构成一个RAFT组(MP和BP2同理),它们数据完全一致,一个RAFT组内的实例数据完全相同;

②一个RAFT组内只有一个为主库提供服务;

③类似于一个RAFT组 = 一个主备系统(RAFT内是异步同步);

2.4 表空间与RAFT组的关系

每个表空间必须关联一个RAFT组,创建时指定存储位置。
相当于表空间要指定存储在哪个BP上

例如

CREATE TABLESPACE TS_1 DATAFILE 'TS_1.DBF' SIZE 128 STORAGE(ON RAFT_1);
--表空间TS_1存储在RAFT_1上(BP1上);

CREATE TABLESPACE TS_2 DATAFILE 'TS_2.DBF' SIZE 128 STORAGE(ON RAFT_2);
--表空间TS_2存储在RAFT_2上(BP2上);

后续建表时,才能每个子表单独指定不同的表空间,实现数据分布在多台BP上(不同数据节点上)

CREATE TABLE "TEST01"
(
"ID" VARCHAR2(36) NOT NULL,
"DATE" TIMESTAMP(0) NOT NULL)
PARTITION BY HASH("ID")
(
PARTITION  "DMHASHPART0"   STORAGE(ON "TS_1") ,
PARTITION  "DMHASHPART1"   STORAGE(ON "TS_2") 
) STORAGE(HASHPARTMAP(1), ON "TS_1") ;

更多其他数据库相关专栏:
数据库性能优化(sql优化)_基本思路_yxy
数据库性能优化(sql优化)_索引详解01_yxy(共4篇)
数据库性能优化(sql优化)_SQL执行计划01_yxy(共3篇)
数据库性能优化(sql优化)_统计信息_yxy


http://www.kler.cn/a/545851.html

相关文章:

  • 朝天椒USB服务器解决前置机U盾虚拟机远程连接
  • web自动化笔记(二)
  • MySQL 定时备份与恢复
  • snort3.0 获取注册规则(19000多条)
  • DeepSeek 开放平台无法充值使用 改用其他中转平台API调用DeepSeek-chat模型方法
  • iThenticate有中文版官网吗,是否可信
  • 【鸿蒙开发】第三十六章 状态管理 - V1V2混用和迁移指导
  • Halcon和VisionMaster还有Opencv中旋转矩形的处理
  • 深入了解常见MCU架构:ARM、AVR与其他嵌入式系统
  • DeepseeK自动写作,自动将回答导出文档
  • C++之线程
  • linux 安装nginx
  • JENKINS(全面)
  • 自动化测试实战
  • MG协议转换器:破解暖通设备通讯壁垒的智能钥匙
  • [鸿蒙笔记-基础篇_生命周期篇] Harmony OS
  • HTTP请求Host注入
  • 【原理图PCB专题】自制汉字转码工具,适配Allgero 17版本 Skill
  • 理解WebGPU 中的 GPUDevice :与 GPU 交互的核心接口
  • 图神经网络简介