技术开发 频道

DM7数据库管理系统总体构架解析(下)

  DM7海量并行处理框架

  DM7的海量并行处理(Massive Parallel Processing后文简称MPP)框架提供提供高端数据仓库解决方案,实现海量数据存储和处理、高并发处理、高性价比、高可用性等功能,以极低的成本代价,为客户提供业界领先的计算性能。

  MPP架构中数据存储和查询的自动化并行,插入的数据会被自动分区保存到相应的节点,查询时在各节点的数据库引擎上并行执行查询,并将所有结果数据自动汇集到原查询节点上。

  MPP架构采用的是完全对等的无共享架构,每个数据库服务器称为一个执行节点(Execute Point,后文简称EP),每个EP都是一个独立的达梦数据库。各个EP节点的功能完全一样,用户可连接MPP系统内的任意EP节点进行数据操作。MPP整体的结构如下图所示。

DM7海量并行处理框架

  MAL系统负责在执行查询计划的过程中在协调任务相关的节点之间高效驱动数据流,完成发送消息、移动数据、收集操作结果等功能。EP节点之间的消息通信和数据移动都是通过嵌入在DM数据库系统内部的MAL通信系统完成。

  MAL系统每个消息相当于一封邮件投递到对应的邮箱中,一旦收到信件,立刻通知系统从邮箱中取出信件,对信件进行处理,完成数据的整合。这种高效的通信机制有利于提高并行查询的效率,充分发挥高速网络的优势。

  DM7采用的是基于散列的方法自动将数据分配到各个EP节点中,即在创建一个表的时候,用户指定一个或多个列作为“哈希分布”键,或者默认选择表的第一列,系统针对每个插入的数据行计算其哈希值,将数据放在其所属的EP节点上。

  MPP系统在单节点的基础上增加了三个通讯操作符,包括收集、分发和广播,它们的作用是负责主EP和从EP,以及从EP之间的数据同步、移动。MPP系统的查询计划是在单节点普通查询计划的基础上,选择合适的位置插入通讯操作符节点,可充分利用单节点系统的查询优化机制,生成最优的查询计划。

  用户连接上任意EP的操作,通过通讯操作符的执行,都可以将计划分发到各个EP上,在分布并行处理后将结果汇总返回。

  对每个EP节点都可以配置数据守护功能,从而达到节点故障自动切换和恢复的功能,满足用户对数据可靠性、安全性的需求,解决由于节点的数据库实例异常、硬件故障等原因导致的数据库服务长时间中断问题,提高了系统的可用性和可靠性。

0
相关文章