【赵渝强老师】达梦数据库MPP集群的架构
为了支持海量数据存储和处理等方面的需求,为高端数据仓库提供解决方案,达梦数据库提供了大规模并行处理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间传递。当通信代价占整体执行代价的比例较小时,更能体现大规模并行处理的优势,随着系统规模的扩大,并行支路越多,优势越明显。
二、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与数据守护相结合的部署方案。