GaussDB的数种形态

GaussDB作为一种新兴的关系型数据库产品,似乎有点让人摸不着头脑。有朋友问我GaussDB单机版怎么样,有人说GaussDB是分布式数据库,还有人说它是云数据库,还有人会把GaussDB和华为的数据仓库GaussDB DWS混为一谈。确实,公开的GaussDB的资料对这些问题没有明确的说法,并且GaussDB作为数据库独立商业销售不足一年,大家对这个产品的了解不多,众说纷纭就不足为奇了。今天我们来聊聊GaussDB的数种形态,当然这里的GaussDB和华为的GaussDB DWS不是一码事。   

从大类来看,GaussDB分为云数据库GaussDB和轻量化部署形态GaussDB两种,云数据库是华为云上的GaussDB,华为数据库产品这些年还处于发展期,前期的命名和版本号都比较乱,云数据库GaussDB是现在的叫法,以前还曾经被称为GaussDB for openGauss,因为华为云上的RDS都被统称为GaussDB,这种命名方法实际上很不利与GaussDB的品牌推广。很容易让大家把GaussDB与GaussDB for MySQL,GaussDB for Postgresql等基于开源数据库的云上RDS混淆了。       

除了云数据库和轻量化部署形态这两大类以外,每个大类里,GaussDB还分为分布式和主备版这两种类型。这两种类型在部署架构和使用、运维方面还是有很大的差别的。      

不管哪种部署架构,其RDBMS的核心是统一的,这个核心与openGauss也是有渊源的,大部分的核心代码是共有的。这种特性让使用GaussDB的多种形态以及openGauss的用户可以共享部分运维经验。不过集中式数据库与分布式数据库之间的天然鸿沟让这些形态的数据库之间的运维经验共享变得有些困难。熟悉openGauss的DBA想要去运维GaussDB分布式数据库,还是有大量的知识需要去学习。

云数据库的GaussDB版本需要依赖于DBS平台以及华为云的基础能力,其部署架构是十分复杂的。其安装部署十分复杂,其运维操作也只能依赖于DBS平台的能力。实际上上图只是包含了部署GaussDB的平台环境,并没有包含GaussDB本身。如果加上GaussDB数据库,这张图就会复杂得没法看了。所以只能用这张补充的图来进一步说明。

从轻量化部署形态的数据库架构图上,我们可以把GaussDB看得更为清晰一些。对于主备结构的GaussDB,其轻量化部署形态如下图。

DN是数据库节点,每个DN是一个独立的数据库实例。OM是GaussDB的运维管理模块,提供各种运维工具。ETCD是一个小型的分布式键值数据库,用于服务发现与共享配置信息的存储。在整个GaussDB集群运行中起到十分重要的作用。GaussDB主备版的高可用切换、消息发布、分布式锁、分布式队列、集群健康状态监控、Leader选举等方面都需要ETCD参与。CM是华为的集群管理组件,由CM AGENT、CM SERVER、CM Monitor组成。主备版是GaussDB分布式数据库的一个简化版。一般采用三节点部署模式,一主二从,通过数据库复制保持主从库的数据同步。平时只有主节点对外提供读写服务,一旦主节点故障自动选举出新的主节点,完成数据同步后接管业务。

GaussDB的分布式模式稍微复杂一些,DN作为存储节点,是分布式分区部署的。业务应用哪个不直接连接到DN上,而时连接到计算节点CN上。GTM作为全局事务管理器负责处理分布式事务。为了保证高可用,GTM采用主从结构,一主一备,主节点故障时备节点接管。因为GaussDB的GTM使用了GTM-LITE,因此主备切换的效率还是不错的,不会对生产业务产生太大的影响。

         

除此之外,GaussDB数据库要想在用户侧很好的使用,还有数个组件是必不可少的,其中一个是DRS,通过DRS可以完成从其他数据库向GaussDB数据复制的工作。

实际上哪怕是GaussDB的轻量化部署形态,所涉及的组件还是挺复杂的,安装部署、启停数据库等操作还是有些复杂。我想随着GaussDB数据库产品的升级,GaussDB的系统化工作会进一步深入,当年Oracle也走过这样一个过程,我第一次安装Oracle数据库的时候,创建一个表空间都需要先用OS命令touch一个文件,然后才能把这个文件加入到表空间里。现在国产数据库的各种复杂让刚刚用惯了Oracle的用户感受到了各种不便,也会有各种吐槽。我想国产数据库的开发者应该擅长倾听这些吐槽,并有义务让这种不便尽快变成方便。

本文作者:白鳝的洞穴    

     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/22807.shtml

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

相关文章

算法学习笔记——时间复杂度和空间复杂度

时间复杂度和空间复杂度 常数操作: 固定时间的操作,执行时间和数据量无关 位运算 > 算数运算 > 寻址 > 哈希运算,都是常数操作,哈希运算操作时间最慢 链表的get(i)方法不是常数操作,因为链表不是连续的存储…

颠沛流离学二叉树(完结撒花篇)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人…

MT2083 屠龙勇者

思路&#xff1a; 跟上题类似&#xff0c;贪心策略&#xff1a;w从小到大排序&#xff0c;每个头找到第一个>d的w 代码&#xff1a; #include <bits/stdc.h> using namespace std; #define ll long long const int N 1e5 10; int n, m; int d[N]; int w[N]; int …

Spring Security 注册过滤器关键点与最佳实践

在 Spring Security 框架中&#xff0c;注册过滤器是实现身份验证和授权的关键组件。正确配置和使用注册过滤器对于确保应用程序的安全性至关重要。以下是一些关于 Spring Security 注册过滤器的注意事项和最佳实践。 过滤器链顺序&#xff1a; 注册过滤器通常位于过滤器链的末…

使用 ultralytics 摄像头yolo推理

使用 ultralytics 摄像头yolo推理 官方网站 https://docs.ultralytics.com/ github https://github.com/ultralytics/ultralytics 搭建环境 # Install the ultralytics package using conda conda install -c conda-forge ultralyticslinux下摄像头推理 import cv2 from u…

[next.js]pwa缓存

配置Next.js (v14 App Router模式) 使其支持PWA缓存&#xff0c;配置server worker和mainfest.json&#xff0c;让项目支持离线访问和可安装。 安装依赖next-pwa npm i next-pwa配置next.config.js const path require(path);const withPWAInit require(next-pwa);// 判断…

让代码变得优雅和高效,给你以下建议,推荐每个人都就要看看

编写高效且优雅的Java代码不仅关乎程序的性能&#xff0c;也涉及到代码的可读性、可维护性和遵循的最佳实践。下面是一些关键原则和示例&#xff0c;帮助你实现这一目标&#xff1a; 1. 遵循编码规范 命名规范&#xff1a;变量、方法、类名应具有描述性&#xff0c;遵循驼峰命…

ValueError: Couldn‘t instantiate the backend tokenizer from one of: (1)·

ValueError: Couldn’t instantiate the backend tokenizer from one of: (1) a t 解决方案 !pip install transformers[sentencepiece]

想要成长就要持续地学习,而如何学习更有效率呢

为什么很多人学了知识&#xff0c;但是总感觉记不住&#xff0c;用不上呢&#xff1f; 在学习的过程中&#xff0c;为什么总感觉没什么进步呢&#xff1f; 看了很多书&#xff0c;为什么总感觉没什么用呢&#xff1f; 要说明这些问题&#xff0c;首先我们要知道一个好的、完整的…

Chrome跳转新的标签页自动打开控制台设置方法

Chrome跳转新的标签页自动打开控制台设置方法 文章目录 Chrome跳转新的标签页自动打开控制台设置方法1. 首先打开控制台2. 点击设置3. 选择Preferences -> Global -> 选中 Auto-open DevTools for popups4. 回到控制台勾选 preserve log保留日志![请添加图片描述](https:…

python:Dataframe字符串合并的高效方法(一文详解)

python&#xff1a;Dataframe字符串合并的高效方法&#xff08;一文详解&#xff09; 1.摘要2.讲解2个场景的解决方案2.1 对于场景1&#xff1a;合并df中其中几列字符串的场景&#xff0c;有以下2种方案。2.2 对于场景2&#xff1a;将df中的字符串与外部字符串合并&#xff0c;…

String-拼接和反转1

在 Java 中&#xff0c;字符串&#xff08;String&#xff09;是非常核心的一个类&#xff0c;它代表字符序列&#xff0c;可以用于存储和操作文本。在编程中&#xff0c;字符串的拼接和反转是常见的操作&#xff0c;下面我将详细解释这两种操作。 ### 字符串拼接 字符串拼接是…

图像背景去除工具:removebg

文章目录 简介面向不同用户价格 简介 removebg&#xff0c;就是remove background&#xff0c;是一款智能图片背景去除工具。 在免费使用时&#xff0c;用到的是本地的CPU。我第一次试用时&#xff0c;图片刚上传之后&#xff0c;电脑的帧率便直线下降&#xff0c;鼠标都拖不…

硬件26、EDA绘制板框

1、放置-板框-矩形 2、在pcb上绘制出需要大小的板框 3、设置板框四个角为圆弧状&#xff0c;在右侧属性栏设置圆角半径

计算机网络—交换机综合实验

一、实验内容 交换机基本配置设置虚拟局域网VLAN跨交换机实现VLAN2台交换机间用2条链路连接&#xff0c;实现2条链路聚合 二、实验环境 Cisco Packet Tracer 三、实验拓扑 1、 设置虚拟局域网VLAN 2、跨交换机实现VLAN 3、2台交换机间用2条链路连接&#xff0c;实现2条链…

像图一样交流:为大语言模型编码图

译者 | 高永祺 单位 | 东北大学自然语言处理实验室 原文链接&#xff1a;https://blog.research.google/2024/03/talk-like-graph-encoding-graphs-for.html 1.作者介绍 Bahare Fatemi&#xff0c;谷歌蒙特利尔研究部门的研究科学家&#xff0c;专门从事图表示学习和自然语言…

智能推荐算法应用:如何提升淘宝在线扭蛋机用户购物体验

在淘宝的在线扭蛋机平台上&#xff0c;用户的购物体验至关重要。为了提升这一体验&#xff0c;我们引入了智能推荐算法&#xff0c;帮助用户发现他们可能感兴趣的扭蛋产品。这一技术的应用不仅提高了用户的购物效率&#xff0c;还大大增强了用户的购物乐趣。 一、智能推荐算法…

JWT快速入门

文章目录 概念基本概念JWT组成 JWT使用准备工作JWT演示 参考来源 概念 基本概念 JWT全称是JSON Web Tokens&#xff0c;它是一种通用的基于文本的消息传输格式。常作为用户进入Web系统的令牌 JWT组成 JWT由三段Base64编码组成&#xff0c;它们之间用.分隔&#xff0c;从左到…

洛谷 CF358B Dima and Text Messages 题解

思路 首先按照操作一和操作二得到一个没有进行操作三的字符串 s s s&#xff0c;再判断 s s s 是否是题目给定的字符串的子序列即可。 Code #include<iostream> using namespace std; signed main() {ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);int n,cnt…

spring 中 BeanPostProcessor 的调用时机

BeanPostProcessor 这个接口是所有后置处理器的父级接口&#xff0c;下面看看这个接口定义了哪几个方法&#xff1a; Nullable default Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {return bean; } Nullable default Obje…