GaussDB for openGauss部署形态
前言
华为云数据库GaussDB是华为自主创新研发的分布式关系型数据库,具有高性能、高可用、高安全、低成本的特点,本文带你详细了解GaussDB数据库的部署形态。
1、GaussDB部署形态三种类型
GaussDB部署形态:单机
独立部署是将数据库组件部署在不同节点上。适用于可靠性、稳定性要求较高,实例规模较大的场景。分布式形态能够支撑较大的数据量,且提供了横向扩展的能力,可以通过扩容的方式提高实例的数据容量和并发能力。
GaussDB部署形态:集中式
高可用(1主2备):采用一主两备三节点的部署模式,包含一个分片。“主备版”:适用于数据量较小,且长期来看数据不会大幅度增长,但是对数据的可靠性,以及业务的可用性有一定诉求的场景。副本集数量仅分布式部署形态可选。每个分片下1主多副本的部署方案,3副本就是1主2备的部署方式。
GaussDB部署形态:全分存式
采用单节点的部署模式,仅包含一个CMS和一个DN组件,不适用于生产环境。单副本实例仅支持2.2及以上版本实例。由于部署在单台机器上,因此无法保障可用性(SLA)。
2、GaussDB部署形态可选参数
GaussDB部署形态:实例类型
1)、“分布式版”:分布式形态能够支撑较大的数据量,且提供了横向扩展的能力,可以通过扩容的方式提高实例的数据容量和并发能力。
2)、“主备版”:适用于数据量较小,且长期来看数据不会大幅度增长,但是对数据的可靠性,以及业务的可用性有一定诉求的场景。
GaussDB部署形态:事务一致性
仅分布式版形态有该参数。
1)、强一致性:应用更新数据时,用户都能查询到全部已经成功提交的数据,对性能有影响。
2)、最终一致性:应用更新数据时,用户查询到的数据可能不相同,有可能是更新后的值,也有可能是更新前的值,但经过一段时间后,查询到的数据是更新后的值,该种类型通常具有较高的性能。
GaussDB部署形态:切换策略
该参数仅针对特定用户开放,如需使用请联系客服人员申请。默认选择为数据高可靠,后期可参考修改切换策略修改。
1)、数据高可靠:对数据一致性要求高的系统推荐选择数据高可靠,在故障切换的时候优先保障数据一致性。
2)、业务高可用:对业务在线时间要求高的系统推荐使用业务高可用,在故障切换的时候优先保证数据库可用性。
GaussDB部署形态:副本集数量
1)仅分布式部署形态可选。每个分片下1主多副本的部署方案,3副本就是1主2备的部署方式。支持2副本独立部署模式,该部署模式仅针对特定用户开放,如需配置白名单权限,您可以在管理控制台右上角,选择“工单 > 新建工单”,提交开通白名单的申请。
副本部署模式的限制如下:
-
只支持单AZ部署。
-
该模式的其他功能未做全量适配,会出现兼容性问题。
GaussDB部署形态:协调节点数量
仅分布式部署形态可选。数据库中包含的协调节点(CN,Coordinator Node)数量,协调节点负责接收来自应用的访问请求,并向客户端返回执行结果;负责分解任务,并调度在各分片上并行执行。可选1~9,后续可扩容至256。
备注:
为了方便大家了解部署型态中AZ及Region区别,这里面简单介绍一下。
区域和可用区:
区域和可用区用来描述数据中心的位置,您可以在特定的区域、可用区创建资源。
1) 区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。
2) 可用区(AZ,Availability Zone):一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个实例。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。
图例:
3、集中式集群部署方案
单数据中心3节点部署形态
特点:
1) 在三台物理机上安装
主一备一日志三个CMS、三个ETCD
2) 数据可靠性
有两份完整的副本(server和server2上都有一个完整的副本),一个日志副本(server3.日志副本节点可以使用低规格机器,以节省存储资源和计算资源,降低成本)
当出现软件进程级故障时,不会出现数据丢失情况;当server1、server2、server3任一物理机出现磁盘故障时,不会出现数据丢失情况
当两个物理机同时出现磁盘故障时,可能出现数据丢失情况,如果是两个完整副本故障时,数据恢复需要依赖于数据库的备份文件
3) 高可用
DN主备间数据复制采用多数派协议
可实现节点级的高可用,任何一个节点发生故障后不影响服务
4) DN备不提供备机读
同城3AZ 3副本
特点:
1) 客户具备三AZ条件
2) 跨AZ高可用:RPO=0、RTO=60S
同城2AZ 4副本
特点:
1) 客户只具备两AZ条件
2) AZ间RPO=0
3) 备AZ和仲裁节点挂了,主AZ需要手动强起需要10分钟
4) 主AZ挂了,自动切换需要60S
5) Server9采用典配的半规格
两中心异地容灾
同城三中心高可用+异地容灾
4、分布式集群部署方案
同城2AZ 4副本
特点:
1) 客户只具备两AZ条件
2) AZ间RPO=0
3) 备AZ和仲裁节点挂了,主AZ需要手动强起需要10分钟
4) 主AZ挂了,自动切换需要60S
5) Server9采用典配的半规格
同城3AZ多活
特点:
1) 客户具备三AZ条件
2) 跨AZ高可用:RPO=0、RTO=60S
两地三中心(有虚拟仲裁机房)
特点:
1) 主集群:4副本
2) 备集群:分片数与主集群相同,2副本
3) 副本跨AZ高可用: RPO=0、RTO=60S
4) 跨Region容灾: RPO=10S、RTO=10MIN
两地三中心(无虚拟仲裁机房)
特点:
1) 主集群:4副本
2) 备集群:分片数与主集群相同,2副本
3) 副本跨AZ高可用: RPO=0、RTO=60S
4) 跨Region容灾: RPO=10S、RTO=10MIN
*本文部分内容来自第三方(华为),仅用于学习交流参考,未经授权严禁商用。
相关文章:

GaussDB for openGauss部署形态
前言 华为云数据库GaussDB是华为自主创新研发的分布式关系型数据库,具有高性能、高可用、高安全、低成本的特点,本文带你详细了解GaussDB数据库的部署形态。 1、GaussDB部署形态三种类型 GaussDB部署形态:单机 独立部署是将数据库组件部署…...
6.MidBook项目经验之前端nuxt优化SEO和手机登录,微信登录
1.nuxt服务端渲染技术SSR Server Side Render(ajax异步请求,SEO是靠爬虫抓取数据的,没有抓到数据排名靠后) 1.在用户端搭建(利于SEO) 1.解压后 npm install npm run dev 2.default.vue有 头内容和尾,创建头尾文件,然后加入到组件 3.每个前端系统对应一个单独的后台接口(太方便了…...

NR SRS power control
这篇看下NR SRS power control的相关内容,主要内容集中在38.213 7.3章节,SRS power control与PUSCH很类似,当然细节上也有所不同,这里简单看下。 UL功率控制,主要是PUSCH/PUCCH/SRS/PRACH的传输功率。 对于所有PUSCH/PUCCH/SRS传输…...
C++(boost):通过boost::process::child同步调用其他程序
boost提供了boost::process::child,可以通过其调用其他程序,并获得输出: #include <boost/process/child.hpp> #include <boost/process/io.hpp> #include <vector> #include <iostream> #include <string> #include <tuple>using nam…...

【经验分享】解决vscode编码问题
目录 先看一下我遇到的问题和你们的一不一样 下面是我查到的解决办法: 简单点说就是 我们看看解决后的效果 先看一下我遇到的问题和你们的一不一样 我一开始以为就是编码问题。 下面是我查到的解决办法: 这个错误提示看起来仍然是中文乱码。可能是由于…...

核酸管外观缺陷检测(一)
1.1 应用示例思路 (1) 对核酸管图像进行灰度化、阈值分割和连通域分析; (2) 筛选出待检测的区域,并对该区域进行变换校正; (3) 进一步获取待检测的ROI区域,并根据几何特征和阈值条件,来对核酸管外观进行检测&#x…...
NodeJS @kubernetes/client-node连接到kubernetes集群的方法
1. 首先,你需要在你的项目中安装kubernetes/client-node。你可以使用npm(Node Package Manager)来进行安装。在你的终端中输入以下命令: npm install kubernetes/client-node 2. 安装完毕后,你可以在你的代码中引入这…...

【基于Kmeans、Kmeans++和二分K均值算法的图像分割】数据挖掘实验三
文章目录 Ⅰ、项目任务要求II、原理描述KMeansKMeans二分K均值评价指标-轮廓系数 III、数据集描述IV、具体实现过程V、结果分析VI、完整代码VII、深度学习与图片分割(补充)CNN1. 卷积层(Convolutional Layer):2. 激活函…...
深入理解Java CompletableFuture并发编程模型
摘要:本文将介绍Java中的CompletableFuture类,探讨其在并发编程中的应用。我们将详细讨论CompletableFuture的特性、常见用法和最佳实践,帮助开发人员更好地利用这个强大的工具进行异步编程。 1. 什么是CompletableFuture? Compl…...
TensorFlow手动加载数据集(以mnist为例)
在进行Mnist手写识别的项目中,出现了Mnist数据集下载出错的问题,报出以下错误: Exception: URL fetch failure on https://s3.amazonaws.com/img-datasets/mnist.npz: None – [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主…...

C++项目实战——基于多设计模式下的同步异步日志系统(总集篇)
文章目录 专栏导读项目介绍开发环境核心技术环境搭建日志系统介绍1.为什么需要日志系统2.日志系统技术实现2.1同步写日志2.2异步写日志 前置知识补充不定参函数C风格不定参函数不定参宏函数设计模式六大原则单例模式饿汉模式懒汉模式 工厂模式简单工厂模式工厂方法模式抽象工厂…...

杨辉三角按列求和
假设求杨辉三角这一列 我们考虑这个格子: 然后对其不断展开 综上: ∑ i 0 n ( i k ) ( n 1 k 1 ) \sum_{i0}^n\binom i k\binom {n1}{k1} i0∑n(ki)(k1n1) ∑ i l r ( i k ) ( r 1 k 1 ) − ( l k 1 ) \sum_{il}^r\binom i k\binom{r1}{k…...
C复习-语句
参考: 里科《C和指针》 语句 C没有bool,是用整型代替的。因此if(expression)中,expression只要是可以产生整型结果即可,且0表示假,非0表示真。 如果有只靠缩进没有{}的else语句,会自动匹配离它最近的、不…...
[Python进阶] 操纵键盘:PyAutoGUI
6.5 操纵键盘:PyAutoGUI 6.5.1 keyDown、keyUp 按下或弹起某个按键。在按下时不会释放。 参数: key(str): 要按下的键。有效的名称列在KEYBOARD_KEYS。 logScreenshot:是否要截图并保存在当前文件夹下。 import pyautoguipyautogui.keyDown(f) # 模拟…...
jdbc快速开始
文章目录 快速开始参考文献 jdbc 就是使用java语言操作关系型数据库的一套api jdbc本质: 官方(sun公司)定义的一套操作所有关系型数据库的规则,就是接口各个数据库厂商去实现这套接口,提供数据库驱动jar包我们可以使用这套接口编程ÿ…...

C语言中static关键字用法
C语言中static关键字用法 2021年7月28日席锦 static关键字在c语言中比较常用,使用恰当能够大大提高程序的模块化特性,有利于扩展和维护。但是对于c语言初学者,static由于使用灵活,并不容易掌握。 变量 1.局部变量 普通局部变量是再…...

STM32-LCD液晶显示
LCD液晶显示 针对野火指南者配套资料:3.2寸 LCD电阻屏,屏幕里自带ILI9341液晶控制器芯片,该控制器芯片中存在GRAM(即显存)。该液晶控制器使用8080接口与单片机通讯,液晶面板引出来的FPC信号线为8080接口&am…...

GraphQL 查询:一个全面指南
GraphQL GraphQL 是一种 API 查询语言和运行时,用于使用现有数据完成这些查询。它为您的 API 中的数据提供了完整且易于理解的描述,让客户能够准确地询问他们需要什么,更容易随着时间的推移发展 API,并启用强大的开发人员工具。 …...

快速自动化处理JavaScript渲染页面的方法
目录 一、使用无头浏览器 二、使用JavaScript渲染引擎 三、使用前端框架工具 随着互联网技术的不断发展,JavaScript已经成为Web开发中不可或缺的一部分。然而,在自动化处理JavaScript渲染页面方面,却常常让开发者感到头疼。本文将介绍一些快…...

[计算机提升] 系统及用户操作
1.4 系统及用户操作 1.4.1 系统操作 1.4.1.1 开机、关机、重启 在Windows系统中,开机(Power On),关机(Shutdown)和重启(Restart)是指计算机的不同电源控制操作。 开机:…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...

NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...