【赵渝强老师】达梦数据库MPP集群的架构

embedded/2025/3/29 0:51:15/

在这里插入图片描述

为了支持海量数据存储和处理等方面的需求,为高端数据仓库提供解决方案,达梦数据库提供了大规模并行处理MPP架构,以极低的成本代价,提供高性能的并行计算。通过使用MPP可以解决以下问题:

  • 需要较高的系统性能支持以支持大量的复杂查询操作
  • 硬件束缚对数据库响应能力的影响
  • 降低数据库成本
视频讲解如下

【赵渝强老师】达梦MPP集群的架构

一、 DM MPP系统架构

当前主流的数据库系统架构有完全共享、共享存储、完全不共享和完全对等不共享几种。其中:

  • 完全共享体系架构如SMP服务器,局限于单节点服务器,通常价格比较昂贵,其扩展性和性能受到相应的限制。
  • 共享存储体系允许系统带有多个服务器实例,这些实例与共享存储设备相连。这种体系可实现多机并行,保证系统的高可用性,但需要通过一个数据管道将所有I/O信息过滤到共享存储子系统,对硬件的要求较高,且并非高性能解决方案。
  • 完全不共享体系架构通过一个主节点执行并行查询。该架构的一个重要优势就是每个节点都有一个通往本地磁盘的独立通道,不但简化了体系,还提供良好的扩展性。但主节点的存在使得系统存在单点故障的问题,一旦发生故障这个系统将无法提供服务。同时主控节点可能成为系统瓶颈。

这几种数据库系统架构的整体结构如下图所示。
在这里插入图片描述

DM MPP采用的完全对等无共享体系架构,结合了完全无共享体系的优点,在此基础上又前进了一步,不采用增加主控制节点来协调所有并行处理的主从式方法,而是各个节点完全对等,更进一步简化了体系的实现,也消除了系统可能存在的主节点瓶颈问题。DM MPP的系统架构如下图所示。
在这里插入图片描述

DM MPP中的每一个DM数据库服务器实例作为一个执行节点,简称EP。客户端可连接任意一个EP节点进行操作,所有EP对客户来说都是对等的。DM MPP系统内每个EP只负责自身部分数据的读写,执行计划在所有EP并行执行,能充分利用各EP的计算能力及发挥各EP独立存储的优势。数据只在必要时通过DM的高速MAL系统在EP间传递。当通信代价占整体执行代价的比例较小时,更能体现大规模并行处理的优势,随着系统规模的扩大,并行支路越多,优势越明显。

《达梦<a class=数据库从零开始》" width="720" height="90" />

二、DM MPP的执行流程

在DM MPP中,数据根据用户指定的分布规则分布在不同的EP上。MPP的核心在于对用户请求的并行执行,其执行流程可简单描述如下:
(1)用户选择一个EP登录,此时该EP就是此用户的主EP,集群中的其余EP都是此用户的从EP;
(2)主EP接受用户的SQL请求,并生成并行执行计划;
(3)主EP将计划打包后分发给其他从EP;
(4)各EP并行执行;
(5)主EP收集各EP(包括自己)的执行结果;
(6)主EP将执行结果汇总后返回给用户。

DM MPP的执行流程如下图所示。
在这里插入图片描述

停止DM MPP系统的运行时,只需要停止每个EP的DM实例即可,没有特别的顺序要求。若在DM MPP系统的运行过程中,某一EP发生故障停机,则整个MPP系统将处于不能正常服务的状态。当前所有的用户会话会被系统断开,不能进行全局登录,只能进行本地登录。因此,为了保证MPP系统的高可用性,我们强烈建议采用DM MPP与数据守护相结合的部署方案。
《达梦<a class=数据库从零开始》" width="720" height="90" />


http://www.ppmy.cn/embedded/174799.html

相关文章

Ubuntu-Server 设置多个ip和多个ipv6 笔记250320

Ubuntu-Server 设置多个ip和多个ipv6 在 Ubuntu Server 上为同一网卡配置多个 IPv4 和 IPv6 地址&#xff0c; Ubuntu-server-16 用的是 /etc/network/interfaces 配置的 networking Ubuntu-server-17.10 及更新版本默认用的是 systemd-networkd Netplan , 用 Netplan来管理sy…

taosdump备份所有的数据库近10天的数据(deepseek)

以下是使用 taosdump 备份 TDengine 所有数据库中近10天数据的步骤&#xff1a; 1. 获取所有数据库列表 首先登录 TDengine&#xff0c;执行以下命令列出所有非系统数据库&#xff1a; echo "SHOW DATABASES;" | taos | awk NR>2 && $1 !~ /^informatio…

[7-01-03].SpringBoot3集成MinIo

MinIO学习大纲 一、Spingboot整合MinIo 第1步&#xff1a;搭建SpringBoot项目&#xff1a; 第2步&#xff1a;引入minio依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi&q…

SpringBoot整合MQTT最详细版(亲测有效)

一、导入pom.xml依赖 <!--mqtt依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-integration</artifactId></dependency><dependency><groupId>org.springframework.in…

OpenCV-Python实战(1)——OpenCV简介与图像处理基础

OpenCV介绍 Python安装OpenCV &#xff1a;对于 Linux 和 Windows 操作系统&#xff0c;首先需要在 shell 或 cmd 中运行以下命令安装 NumPy &#xff1a;pip install numpy 。然后再安装 OpenCV&#xff0c;可以选择仅安装主模块包 &#xff1a;pip install opencv-python &am…

ElementUI el-radio失效

我们在使用过程中&#xff0c;偶尔会遇到ElementUI el-radio失效&#xff0c;无法切换选中效果的情况。这个时候该如何解决呢&#xff1f;下面一起来看看吧&#xff01; 使用 el-radio 标签&#xff0c;点击图中的【二级指标】没有反应&#xff0c;还是默认选中【一级指标】 可…

【LangChain入门 3 Prompts组件】聊天提示词模板 ChatPromptTemplate

文章目录 一、 聊天信息提示词模板1.1 使用关键字1.2 使用SystemMessage, HumanMessage, AIMessage来定义消息1.3 使用MessagesPlaceholder 在特定未知添加消息列表 二、关键类介绍2.1 ChatPromptTemplate 类2.1.1 from_messages()2.1.2 format_messages()2.1.3 format_prompt(…

【亚马逊云科技】大模型选型实战(挑选和测评对比最适合业务的大模型)

文章目录 前言1、实验内容2、手册内容 一、环境准备二、Prompt 实战与模型配置2.1 基于 Amazon Bedrock 对比测试不同模型的逻辑推理效果2.2 基于 Amazon Bedrock 对比测试不同模型知识问答能力2.3 Prompt 实战结果分析 三、基于 Amazon Bedrock Evaluations 进行模型评测与自动…