1 概述
达梦大规模并行处理 MPP(DM Massively Parallel Processing,缩写 DM MPP)是基于达梦数据库管理系统研发的完全对等无共享式集群组件,支持将多个 DM 数据库实例组织为一个并行计算网络,对外提供统一的数据库服务。
在海量数据分析的应用场景中,经常会遇到以下问题:
大量的复杂查询操作需要较高的系统性能支持;
数据库响应能力受到硬件的束缚;
小型机虽然能在垂直领域提供较好的单个节点性能,但是价格较高。
为了支持上述海量数据存储和处理、高性价比等方面的需求,提供高端数据仓库解决方案,达梦数据库提供了大规模并行处理 MPP 架构,以极低的成本代价,为客户提供业界领先的计算性能。https://www.cndba.cn/dave/article/3657
1.1 系统架构
当前主流的数据库系统架构有完全共享、共享存储、完全不共享和完全对等不共享几种。
其中完全共享体系如 SMP 服务器,局限于单节点服务器,通常价格比较昂贵,其扩展性和性能受到相应的限制。
共享存储体系允许系统带有多个服务器实例,这些实例与共享存储设备相连。这种体系可实现多机并行,保证系统的高可用性,但需要通过一个数据管道将所有 I/O 信息过滤到共享存储子系统,对硬件的要求较高,且并非高性能解决方案。
与此相比,基于硬件的数据仓库平台一般采用完全无共享体系。在这种体系下,通讯功能部署在一个高宽带网络互连体系上,用户通过一个主控制节点执行并行查询。该体系的一个重要优势就是每个节点都有一个通往本地磁盘的独立通道,不但简化了体系,还提供良好的扩展性。但主控节点的存在使得系统规模扩张时主控节点可能成为系统瓶颈,且主控节点一旦发生故障这个系统将无法提供服务。
DM MPP 采用的完全对等无共享体系架构,结合了完全无共享体系的优点,在此基础上又前进了一步,不采用增加主控制节点来协调所有并行处理的主从式方法,而是各个节点完全对等,更进一步简化了体系的实现,也消除了系统可能存在的主节点瓶颈问题。
架构名称
特点
完全共享
局限于单节点服务器,价格昂贵,扩展性、性能受限
共享磁盘
允许多个服务器实例共享存储设备,可有效解决单实例负载问题,具有一定的扩展性,但当节点增加到一定程度以后,由于对 I/O 资源、锁资源等的激烈竞争,反而导致性能的下降,扩展性和性能在系统规模变大时受限。 同时共享磁盘等硬件成本也十分昂贵。
完全不共享
部署在高速网络,各节点相对独立,无共享 I/O,扩展性和性能良好,缺点是系统中有一个主控节点,系统规模扩充时可能成为瓶颈,主控节点无备份,容易形成单点故障
完全对等不共享
继承了完全不共享架构的优点,且各节点完全对等,不需要专用硬件,不存在主控节点,消除了潜在瓶颈以及单节点故障问题
DM MPP 采用完全对等不共享架构,具体的系统架构如下:
DM MPP 中的每一个 DM 数据库服务器实例作为一个执行节点,简称 EP。客户端可连接任意一个 EP 节点进行操作,所有 EP 对客户来说都是对等的。
DM MPP 系统内每个 EP 只负责自身部分数据的读写,执行计划在所有 EP 并行执行,能充分利用各 EP 的计算能力及发挥各 EP 独立存储的优势。数据只在必要时通过 DM 的高速邮件 MAL 系统在 EP 间传递。当通信代价占整体执行代价的比例较小时,更能体现大规模并行处理的优势,随着系统规模的扩大,并行支路越多,优势越明显。
1.2 原理概述
在 DM MPP 中,数据根据用户指定的分布规则分布在不同的 EP 上。MPP 的核心在于对用户请求的并行执行,其执行流程可简单描述如下:
用户选择一个 EP 登录,此时该 EP 就是此用户的主 EP,集群中的其余 EP 都是此用户的从 EP;
主 EP 接受用户的 SQL 请求,并生成并行执行计划;
主 EP 将计划打包后分发给其他从 EP;
各 EP 并行执行;
主 EP 收集各 EP(包括自己)的执行结果;
主 EP 将执行结果汇总后返回给用户。
如图所示。