ITPub博客

首页 > 数据库 > > 企业级增强特性-全并行的数据查询处理

企业级增强特性-全并行的数据查询处理

作者:GaussDB_数据库 时间:2020-01-10 17:13:14 0 删除 编辑

全并行的分布式查询处理是GaussDB 200中最核心的技术,它可以最大限度的降低查询时节点之间的数据流动,以提升查询效率。

GaussDB 200为达成高性能数据分析目标,实现了一套高性能的分布式执行引擎,执行引擎以SQL引擎生成的执行计划为输入,将元组按执行计划的要求进行加工并将结果返回给客户端。

图1展示了GaussDB 200的全并行分布式查询技术。

图1 分布式查询示意图
GaussDB 分布式查询示意图
  • 运行在CN上的分布式执行引擎实现了分布式执行调度的功能。
  • 节点内引入新的执行算子来支撑数据在计算节点之间的流动,这些新的执行算子称其为数据流操作符,根据数据流的输入、输出关系,可以细分为聚合流(Gather)、广播流(Broadcast)和重分布流(Redistribution)。聚合流将数据从多个查询片段聚合到一个。广播流将数据从一个查询片段的数据向多个传输。重分布流则将多个查询片段的数据,按照一定规则重组后向多个传输。
  • 跨计算节点的数据传输依赖于查询分析阶段根据数据分布以及代价模型构建的数据流动拓扑结构,并根据此结构来建立节点之间的网络连接,驱动数据流动于此拓扑结构之上。

一个涉及多个执行算子的复杂查询的大概执行过程如下:

  1. CN接收到查询任务(通常是SQL语句描述)后,对SQL语句进行语法解析并分解出基础的查询和数据处理执行算子,比如DataScan、Sort、Aggregation以及Join。
  2. 随后CN会生成最优的基础任务执行序列,并将这些基础任务部署到各个节点上去执行。
  3. 各个DN完成数据处理后,会将结果汇总到CN上并输出到客户端。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3125150/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19280