obcp v4每日一题,在OceanBase中,生成执行计划时可能会加入什么算子来完成跨节点的数据收发?

在OceanBase中,生成执行计划时可能会加入什么算子来完成跨节点的数据收发?

A、JOIN

B、EXCHANGE

C、GROUP BY

D、ORDER BY

3 个赞

选择B
EXCHANGE 算子是分布式执行计划的核心数据传输算子,专门负责跨节点 / 跨线程的数据收发、重分布与汇聚,通常以EXCHANGE OUT(发送端)和EXCHANGE IN(接收端)成对出现,实现不同 OBServer 节点间的数据交换,是完成跨节点数据收发的关键算子。

在OceanBase中,生成执行计划时可能会加入 EXCHANGE 算子来完成跨节点的数据收发。

:satellite: 算子的作用

  • EXCHANGE 算子 : 在分布式数据库中,一个查询通常会被拆分成多个可以并行执行的子计划(Fragment)。EXCHANGE 算子就是负责在这些并行执行的子计划之间进行数据传输和交换的桥梁。它通常成对出现,包括 ExchangeSender (发送方)和 ExchangeReceiver (接收方),用于实现跨节点的数据分发(Shuffle)和收集,例如在 Hash Join 或聚合(Aggregation)操作之前,将数据按照指定键重新分布到不同的计算节点上。

:mag: 其他选项分析

  • JOIN : 这是一个用于连接两个或多个表的关系运算,是查询的核心逻辑之一,而不是专门用于处理节点间通信的算子。
  • GROUP BY : 这是一个用于对结果集进行分组和聚合的运算,同样是查询的核心逻辑。
  • ORDER BY : 这是一个用于对最终结果集进行排序的运算。

因此,EXCHANGE 算子是专门为了支持分布式并行执行而引入的,用于处理节点间的数据流动。正确答案是 B、EXCHANGE

4 个赞

B exchange 算子

选B, EXCHANGE是专门用于跨节点数据收发的算子。

选B,好像是模拟题?

这题选B

1 个赞

63636363

1 个赞

B正确

1 个赞

你可以说C

1 个赞

加油

B是对的

1 个赞