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

GaussDB DWS 详解

在这里插入图片描述

在这里插入图片描述

文章目录

    • GaussDB DWS 详解
      • 一、简介
      • 二、DWS的分布式架构
            • 架构概述
            • 关键组件
      • 三、分布式查询
            • 数据查询流程
            • SQL执行的示例

批注:本文引鉴了@Forlogen博主的一些内容,并加以补充,以供学习了解。

GaussDB DWS 详解

一、简介

在这里插入图片描述

在这里插入图片描述
DWS(Data Warehouse Service)是一种基于公有云基础架构和平台的在线数据处理数据库,提供即开即用、可扩展且完全托管的分析型数据库服务。

GaussDB(DWS)是系统的数据库部分,通过JDBC/ODBC接口与应用层交互,提供数据服务,通过Plugin API和Manager模块进行交互,Manager模块负责系统管理和安全管理,管理层通过REST,snmp,Syslog与应用层进行通信。

二、DWS的分布式架构

在这里插入图片描述
在这里插入图片描述

架构概述
  • Shared-Nothing架构是一种分布式系统架构。其核心观点是每个节点(机器)都有自己独立的硬件资源,节点之间没有共享硬件组件。每台机器运行一个独立的GaussDB实例,通过大规模集群通讯网络互联,组成一个整体的数据集群。对用户而言,整个集群表现为一个统一的数据库系统。
关键组件
  • OM(运维管理)

    • 功能:提供日常运维和配置管理,包括扩容和升级。
  • CM(集群管理)

    • 功能:负责集群管理和监控各单元物理资源使用情况,以及负责单节点的故障管理。
  • GTM(全局事务管理)

    • 功能:管理全局事务和多版本并发控制(MVCC)
  • WLM(工作负载管理)

    • 功能:资源隔离和多租户的划分
  • Coordinator(协调器)

    • 功能承接上层应用链接,处理请求分发、调度、结果返回、SQL解析和优化。
    • 位置:协调器节点是分布式的,可以有多个实例(Coordinator-1,Coordinator-2,…,Coordinator-n),每个实例负责一部分请求。
  • Data Node(数据节点)

    • 功能:负责数据存储和执行,包括数据分布和多种形式的存储。
    • 位置:每个数据节点连接到本地磁盘(Local-Disk),实现数据存储的无共享架构。图中展示了多个数据节点(Data Node-1,Data Node-2,…,Data Node-n)。
  • GDS Loader

    • 功能:做数据入库

三、分布式查询

数据查询流程

在这里插入图片描述
具体查询流程如下:

  1. 用户通过应用程序发出查询本地数据的SQL请求到Coordinator
  2. Coordinator接收用户的SQL请求,分配服务进程,向GTM请求分配全局事务信息
  3. GTM接收到Coordinator的请求,返回全局事务信息给Coordinator
  4. Coordinator根据数据分布信息以及系统元信息,解析SQL为查询计划树,从查询计划树中提取可以发送到Datanode的执行步骤,封装成SQL语句或者子执行计划树,发送到Datanode执行
  5. Datanode接收到读取任务后,查询具体Storage上的本地数据块
  6. Datanode任务执行后,将执行结果返回给Coordinator
  7. Coordinator将查询结果通过应用程序返回给用户
SQL执行的示例

在这里插入图片描述
对于第三个示例,也可以考虑直接将C1和C2的数据直接拿到Coordinator中进行表合并和相关操作,届时Coordinator则可能会成为性能瓶颈。

在这里插入图片描述

http://www.lryc.cn/news/400500.html

相关文章:

  • 【256 Days】我的创作纪念日
  • 3D云渲染工具对决:Maya与Blender的性能和功能深度比较
  • spring.factories详解
  • 从Docker Hub 拉取镜像一直失败超时?这些解决方案帮你解决烦恼
  • 【pbootcms】新环境搭建环境安装时发生错误
  • C语言之qsort函数
  • R 数据重塑
  • opencascade AIS_InteractiveContext源码学习8 trihedron display attributes
  • 【云岚到家】-day05-6-项目迁移-门户-CMS
  • linux彻底卸载docker
  • linux高级编程(网络)(www,http,URL)
  • Perl 语言开发(十三):网络编程
  • Leetcode算法题(移除链表中的元素)
  • 浅谈网络安全防守:从被动应对到主动管理的转变
  • CentOS7仅安装部署MySQL80客户端
  • 力扣经典题目之->移除值为val元素的讲解,的实现与讲解
  • pico+unity3d项目配置
  • python条件
  • 华为USG6000V防火墙v1
  • Apache访问机制配置
  • 在word中删除endnote参考文献之间的空行
  • 【详解】Spring Cloud概述
  • 板级调试小助手(3)基于PYNQ的OLED视频显示
  • git批量删除本地包含某字符串的特定分支
  • Android中RecyclerView使用详解(一)
  • 坑3.上传图片(阿里云空间,oss验证)(未验证)
  • 注册登录后上传文件到本地数据库项目
  • 【学习笔记】无人机(UAV)在3GPP系统中的增强支持(十三)-更换无人机控制器
  • react 组件通信 —— 父子传值 【 函数式/类式 】
  • 【SpringBoot】95、SpringBoot中使用MyBatis-Plus实现自动加密存储和查询自动解密