技术开发 频道

达梦数据库:DM7大规模并行处理MPP框架

  4、高度并行的查询计划

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

  下面举几个典型的例子,首先简要说明以下计划中使用到的操作符名称:

  表1 例子中用到的操作符节点名称

DM7大规模并行处理MPP框架-系统框架

 

  例1:

  下图为全表扫描时插入的MGAT操作符的示例,图中EP1为客户连接的EP(称为主EP),因此EP2的MGAT数据流向EP1,EP1将所有数据收集后返回到客户端。


▲图3全表扫描并行执行计划示意图

  例2:

  下图中显示的是一个完整查询的部分查询计划,由于HLS在左儿子节点的数据上建立哈希表,右儿子节点上需要探测完整数据,因此需要在HLS的右儿子之上增加一个MDIS节点,保证每个EP执行时得到完整的数据。


▲图4哈希左半连接并行执行计划示意图

  例3:

  下图中显示的是一个完整查询的部分查询计划,用户连接EP1,由于计划中有聚集函数操作符节点AAGR(如count()函数),需要的数据流是完整的,于是增加一个MGAT作为AAGR的儿子节点收集完整数据。此时EP2的AAGR不需要再重复收集数据,而是认为儿子无数据,不做聚集操作。当EP1中AAGR完成后,通过MBRO把结果广播到EP2即可。


▲图5聚集函数并行执行计划示意图

  5、 邮件式的通信系统

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

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

  6、数据守护系统

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

  守护系统对MPP中单个节点进行数据镜像保护,节点和其镜像节点分别称作主机(Primary)和备机(Standby),主备机位于不同的机器上。主机发生故障后,守护系统自动将备机切换成主机加入MPP系统,替代故障主机工作。故障主机重启后,守护系统又自动将其恢复,并转换成新主机的备机,作为主机镜像。守护系统中备机还可作为只读服务器对外提供服务,实现负载均衡。

  数据守护系统是MPP系统的数据安全、可靠性的一道保障,提高了系统的可靠性,同时在MPP系统启动和恢复时还承担了各个EP节点之间的网络连接或网络重建的功能。

0
相关文章