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.mzph.cn/diannao/46544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

免费分享一套SpringBoot+Vue农产品在线销售(在线商城)管理系统【论文+源码+SQL脚本】,帅呆了~~

大家好,我是java1234_小锋老师,看到一个不错的SpringBootVue农产品在线销售(在线商城)管理系统,分享下哈。 项目介绍 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发…

aidl的Android.bp脚本中java有哪些参数可以配置的?

在Android的Blueprint构建系统中(使用Android.bp文件),当你定义一个AIDL(Android Interface Definition Language)服务或客户端时,你实际上并不是直接在Android.bp中配置AIDL文件本身的Java参数&#xff0c…

音频筑基:入门50问

音频筑基:入门50问 通用类编解码类 只问不答,意在启发。 通用类 为什么音频信号分析要从时域到频域?频域变换中,为啥要做TDAC时域混叠消除?人耳听觉频域敏感区是哪部分,为什么?人声发声频域重要…

在本科生中,发表SCI一区的情况如何?

在本科生中发表SCI一区论文是非常罕见且高度认可的成就。这表明该学生不仅在学术研究方面展现出超乎寻常的能力和潜力,而且在科研方法、创新思维以及专业领域的知识掌握上都达到了高水平。具体来说: 稀有性:本科生能够以第一作者身份发表SCI…

alike-cpp 编译

1. 源码链接: https://github.com/Shiaoming/ALIKE-cpp 2.已经安装好显卡驱动,cuda,cudnn,没安装的参考: 切记装cuda-11.x的版本,最好cuda11.3的版本 ubuntu重装系统后,安装cuda,cudnn-CSDN博客 3.安装…

HttpUtil工具

http工具 用到的依赖 <dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.13</version></dependency><dependency><groupId>org.apache.httpcomponent…

C++客户端Qt开发——信号和槽

三、信号和槽 1.信号和槽概述 在Qt中&#xff0c;用户和控件的每次交互过程称为一个事件。比如"用户点击按钮”是一个事件&#xff0c;"用户关闭窗口”也是一个事件。每个事件都会发出一个信号&#xff0c;例如用户点击按钮会发出"按钮被点击"的信号&…

在互联网供应链系统可能是永远不会过时的系统

一、前言 在互联网在到人工智能&#xff0c;从基本的门户网站&#xff0c;社交网站&#xff0c;到移动互联网&#xff0c;视频网站&#xff0c;再到现在比较火爆短视频直播和人工智能AI&#xff0c;大模型。互联网的迭代&#xff0c;出现了无数的系统。但是有些系统一直久经不…

剪画小程序:做自媒体要做哪些准备!

在这个数字化的时代&#xff0c;自媒体成为了许多人展现自我、实现价值的舞台。如果你是一个自媒体小白&#xff0c;怀揣着梦想和热情准备踏上这条充满挑战与机遇的道路&#xff0c;那么在出发之前&#xff0c;有一些关键的准备工作可不能忽视。 一、明确自身定位 首先要思考的…

婚恋交友语音交友小程序APP系统开发

在数字化时代&#xff0c;婚恋交友的方式也日益多样化。传统的相亲、朋友介绍等方式已经无法满足现代人快节毒的生活需求&#xff0c;更多的人开始选择通过线上平台寻找自己的另-婚恋交友语音交友小程序APP应运而生&#xff0c;为单身男女提供了个便捷、高效的交友平台。本文将…

Windows图形界面(GUI)-DLG-C/C++ - 按钮控件(Button)

公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​​​​链接点击跳转博客主页 目录 按钮控件(Button) 控件样式 消息处理 控件函数 示例代码 按钮控件(Button) 控件样式 普通按钮&#xff08;Push Button&#xff09;&#xff1a;当用户点击时执行一个命令或…

学习小记-RocketMQ的一些小知识

目录 如何保证消息不丢失 如何保证消息顺序消费 如何实现延时消息 如何保证消息不丢失 消息存储&#xff1a; RocketMQ 将消息存储在物理磁盘上&#xff0c;而不是仅仅缓存在内存中。每个消息都被序列化并存储在指定的存储路径中。 主从复制&#xff08;Master-Slave Replica…

指针!!C语言(第一篇)

指针1 指针变量和地址1.取地址操作符(&)2.指针变量和解引用操作符(*) 指针变量的大小和类型指针的运算特殊指针1.viod*指针2.const修饰指针3.野指针 assert断言指针的使用和传址调用1.strlen的模拟实现2.传值调用和传址调用 指针变量和地址 在认识指针之前&#xff0c;我们…

Iceberg概念和特性

1. 快照 Iceberg会随着时间的推进,跟踪表生命周期中的所有数据集变化,并使用快照(Snapshots)来表示每一次变化后的数据集合,每一次数据操作的事务提交均会产生一个快照,并将其记录在元数据文件(Metadata)中。 基于快照的概念,Iceberg有以下特性: 事务性:写入快照成…

使用 CSS 实现渐变效果

使用 CSS 实现渐变效果 使用 CSS 实现渐变效果非常简单且强大&#xff0c;CSS 提供了两种主要的渐变效果&#xff1a;线性渐变&#xff08;linear gradient&#xff09;和径向渐变&#xff08;radial gradient&#xff09;。下面是如何使用这些渐变效果的详细说明。 1. 线性渐…

Hive中的数据类型和存储格式总结

1.数据类型 Hive 支持多种数据类型&#xff0c;分为原始数据类型和复杂数据类型两类。以下是 Hive 支持的数据类型&#xff1a; 原始数据类型&#xff1a; 1.整数类型&#xff1a; tinyint: 1字节有符号整数 smallint: 2字节有符号整数 int:…

微服务负载均衡的艺术:Eureka中服务实例权重配置全解析

微服务负载均衡的艺术&#xff1a;Eureka中服务实例权重配置全解析 在微服务架构中&#xff0c;服务发现是实现服务间互连的基础&#xff0c;而负载均衡则是确保服务高可用性和响应性的关键。Eureka&#xff0c;作为Netflix开源的服务发现框架&#xff0c;提供了丰富的配置选项…

26.6 Django模型层

1. 模型层 1.1 模型层的作用 模型层(Model Layer)是MVC或MTV架构中的一个核心组成部分, 它主要负责定义和管理应用程序中的数据结构及其行为. 具体职责包括: * 1. 封装数据: 模型层封装了应用程序所需的所有数据, 这些数据以结构化的形式存在, 如数据库表, 对象等. * 2. 数据…

昇思25天学习打卡营第7天 | MindNLP ChatGLM-6B StreamChat

本案例基于MindNLP和ChatGLM-6B实现一个聊天应用。 1 环境配置 %%capture captured_output # 实验环境已经预装了mindspore2.2.14&#xff0c;如需更换mindspore版本&#xff0c;可更改下面mindspore的版本号 !pip uninstall mindspore -y !pip install -i https://pypi.mi…

Log4j的原理及应用详解(一)

本系列文章简介&#xff1a; 在软件开发的广阔领域中&#xff0c;日志记录是一项至关重要的活动。它不仅帮助开发者追踪程序的执行流程&#xff0c;还在问题排查、性能监控以及用户行为分析等方面发挥着不可替代的作用。随着软件系统的日益复杂&#xff0c;对日志管理的需求也日…