从并行拆分PQ1.0的计划形态典型中可以看到有哪些特点?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
执行模式是简单的scatter-gather,也就是只有一个plan slice,多个worker完成相同的功能,汇总到leader
尽可能的下推算子到worker上
leader负责完成无法下推的计算 计划形态是单一的,导致算子的并行方式单一,比如group by + aggregation,只能通过二阶段的聚集来完成:worker先做partial aggregation,leader上做final aggregation
一旦leader上完成聚集操作,后续如果有distinct / window function / order by等,都只能在leader上完成,形成单点瓶颈
如果存在数据倾斜,会使部分worker没有工作可做,导致并行扩展性差
此外实现上还有一些待完善的地方,例如少量算子不支持并行、一些复杂的查询嵌套结构不支持并行