当前位置: 首页 > news >正文

GaussDB 数据库架构师修炼(十八) SQL引擎-分布式计划

1 分布式架构

  • GaussDB基于MPP (Massively Parallel Processing) 并行架构
  • Streaming流式计算框架

分布式计划

  •    CN轻量化(light proxy)
  •    FQS( fast query shipping )
  •    STREAM计划
  •    XC计划
计划类型场景原理
CN轻量化可以直接在一个DN执行直接下发SQL语句给DN
FQS语句可以完全下推DN执 行, DN之间不需要交互需要走执行器逻辑下发给DN
STREAM需要DN之间交互, CN只 汇总数据在CN上生成计划,下发计划给DN执行
XC适用于所有场景部分语句下推DN执行,无法下推的在CN执行

3 计划生成

1)计划生成主要是查询的路径树计划树结构转换的过程, 在分布式场景下对关联join、聚集操作Agg有特殊的生成逻辑

2) 当join列与分布列不一致时,需要网络stream节点,可能生成的路径:

   t1  HASH  BY  (c1), t2  HASH  BY  (c2)

   SELECT *  FROM t1 JOIN t2 ON cx=cy;

如下:每一种策略都有可以执行,根据最下层AGG过滤元组的数量有关。

4 不支持下推的

  • 1)根据函数属性判断下推

       IMMUTABLE:忽略shippable属性,可以下推

      STABLE:判断shippable,受限下推

      VOLATILE:判断shippable,受限下推

2)不支持下推的语法

 SQL子句中存在使用RETURNING

 聚集函数使用ORDER BY、COUNT(DISTINCT expr) 、expr中的列不支持重分布

 数组表达式

http://www.xdnf.cn/news/1357111.html

相关文章:

  • vimware unbuntu18.04 安装之后,没有网络解决方案
  • AI与SEO关键词协同优化
  • 【小程序-慕尚花坊02】网络请求封装和注意事项
  • 个人搭建小网站教程(云服务器Ubuntu版本)
  • 不知道Pycharm怎么安装?Pycharm安装教程(附安装包)
  • MySQL數據庫開發教學(二) 核心概念、重要指令
  • GaussDB 数据库架构师修炼(十八) SQL引擎-统计信息
  • 请求上下文对象RequestContextHolder
  • LIANA | part2 results部分
  • 【贪心算法】day1
  • spring源码之事务篇(事务管理器整个流程)
  • JAVA限流方法
  • PAT 1081 Rational Sum
  • 不只是关键词匹配:AI如何像人类一样‘听懂‘你在说什么
  • Spring Boot 中 @Controller与 @RestController的区别及 404 错误解析
  • 工作记录 2015-08-31
  • 【科研绘图系列】R语言浮游植物初级生产力与光照强度的关系
  • leetcode_189 轮转数组
  • 【LLIE专题】一种用于低光图像增强的空间自适应光照引导 Transformer(SAIGFormer)框架
  • Ansible 自动化基石:变量定义、优先级控制与 Vault 敏感信息加密实战指南
  • 【重学MySQL】八十七. 触发器管理全攻略:SHOW TRIGGERS与DROP TRIGGER实战详解
  • MySQL管理
  • [身份验证脚手架] 认证路由 | 认证后端控制器与请求
  • MR椎间盘和腰椎分割项目:基于深度学习的医学图像分析
  • 【数据结构】栈和队列——栈
  • MyBatis 和 MyBatis-Plus对比
  • 一个奇怪的问题-Python会替代Java吗?技术语言之争的真相-优雅草卓伊凡
  • 深度学习:CUDA、PyTorch下载安装
  • 用 Bright Data MCP Server 构建实时数据驱动的 AI 情报系统:从市场调研到技术追踪的自动化实战
  • 自由学习记录(87)