本章简单介绍 DM MPP 的系统架构、原理及功能特性。
2.1 系统架构
当前主流的数据库系统架构有完全共享、共享存储、完全不共享和完全对等不共享几种。
其中完全共享体系如 SMP 服务器,局限于单节点服务器,通常价格比较昂贵,其扩展性和性能受到相应的限制。
共享存储体系允许系统带有多个服务器实例,这些实例与共享存储设备相连。这种体系可实现多机并行,保证系统的高可用性,但需要通过一个数据管道将所有 I/O 信息过滤到共享存储子系统,对硬件的要求较高,且并非高性能解决方案。
与此相比,基于硬件的数据仓库平台一般采用完全无共享体系。在这种体系下,通讯功能部署在一个高宽带网络互连体系上,用户通过一个主控制节点执行并行查询。该体系的一个重要优势就是每个节点都有一个通往本地磁盘的独立通道,不但简化了体系,还提供良好的扩展性。但主控节点的存在使得系统规模扩张时主控节点可能成为系统瓶颈,且主控节点一旦发生故障这个系统将无法提供服务。
DM MPP 采用的完全对等无共享体系架构,结合了完全无共享体系的优点,在此基础上又前进了一步,不采用增加主控制节点来协调所有并行处理的主从式方法,而是各个节点完全对等,更进一步简化了体系的实现,也消除了系统可能存在的主节点瓶颈问题。
图 2.1 是这几种数据库系统架构的整体结构示意图。
表 2.1 则总结了这几种数据库系统架构各自的优缺点。
架构名称 | 特点 |
---|---|
完全共享 | 局限于单节点服务器,价格昂贵,扩展性、性能受限 |
共享存储 | 允许多个服务器实例共享存储设备,可有效解决单实例负载问题,具有一定的扩展性,但当节点增加到一定程度以后, 由于对 I/O 资源、锁资源等的激烈竞争,反而导致性能的下降,扩展性和性能在系统规模变大时受限。 同时共享磁盘等硬件成本也十分昂贵 |
完全无共享 | 部署在高速网络,各节点相对独立,无共享 I/O,扩展性和性能良好,缺点是系统中有一个主控节点,系统规模扩充时可能成为瓶颈, 主控节点无备份,容易形成单点故障 |
完全对等无共享 | 继承了完全无共享架构的优点,不需要专用硬件,不存在主控节点,消除了潜在瓶颈以及单节点故障问题; 且因去除了主控节点,不采用通过主控制节点来协调所有并行处理的主从式方法,各节点完全对等 |
DM MPP 采用完全对等无共享架构,具体的系统架构如图 2.2 所示。
DM MPP 中的每一个 DM 数据库服务器实例作为一个执行节点,简称 EP。客户端可连接任意一个 EP 节点进行操作,所有 EP 对客户来说都是对等的。
DM MPP 系统内每个 EP 只负责自身部分数据的读写,执行计划在所有 EP 并行执行,能充分利用各 EP 的计算能力及发挥各 EP 独立存储的优势。数据只在必要时通过 DM 的高速邮件 MAL 系统在 EP 间传递。当通信代价占整体执行代价的比例较小时,更能体现大规模并行处理的优势,随着系统规模的扩大,并行支路越多,优势越明显。
2.2 原理概述
在 DM MPP 中,数据根据用户指定的分布规则分布在不同的 EP 上。MPP 的核心在于对用户请求的并行执行,其执行流程可简单描述如下:
- 用户选择一个 EP 登录,此时该 EP 就是此用户的主 EP,集群中的其余 EP 都是此用户的从 EP;
- 主 EP 接受用户的 SQL 请求,并生成并行执行计划;
- 主 EP 将计划打包后分发给其他从 EP;
- 各 EP 并行执行;
- 主 EP 收集各 EP(包括自己)的执行结果;
- 主 EP 将执行结果汇总后返回给用户。
如图 2.3 所示。
2.3 系统特性
DM MPP 采用完全对等不共享架构,系统中各 EP 的功能完全对等,因此对于用户来说,MPP 系统的处理是完全透明的,用户任意登录 MPP 系统的任一节点进行操作都可获得完全的 MPP 支持。
使用 DM MPP 可获得以下功能特性支持:
- TB/PB 级数据分析
支持数据的并行装载和操作的并行执行,数据分布式存储在各 EP 中,能支持 TB/PB 级数据分析。
- 支持绝大部分单机功能
支持绝大部分的 DM 单机版功能,同时支持行、列存储,支持存储过程、触发器、索引、分区表、多媒体数据类型等。
- 高性价比
无需额外配置特殊软、硬件,性价比超高。
- 高可靠性
DM MPP 与 DM 数据守护相结合,为 MPP 系统中的每个 EP 配置一个或多个实时备库,在 EP 发生故障时其对应备库能迅速切换为主库继续提供服务,确保系统的高可用性。
- 支持超大型集群
支持最多 1024 个 EP,轻松组建超大型集群。