Vast+产品展厅 | Vastbase G100数据库是什么架构?(1)

Vastbase G100是海量数据融合了多年对各行业应用场景的深入理解,基于openGauss内核开发的企业级关系型数据库

了解Vastbase G100的架构,可以帮助您确保数据库系统的高效、可靠和安全运行。

“Vast+产品展厅”将分两期,为您详细讲解Vastbase G100架构。本期,带您了解其部署架构物理架构


1.Vastbase G100的部署架构

作为集中式数据库系统,Vastbase G100业务数据存储在单个物理节点上,数据访问任务被推送到服务节点执行,通过服务器的高并发,实现对数据处理的快速响应。

同时,通过日志复制可以把数据复制到备机,提供数据的高可靠扩展,示意图如下:

业务应用(APP)利用驱动(DRV)来连接Vastbase G100主库,G100可以有0或多个副本,主备之间通过同步复制或异步复制来复制数据。

1.1异步复制

在异步复制中,主数据库(Master)在执行完客户端提交的事务后,会立即将结果返回给客户端,而不会等待从数据库(Slave)是否已经接收并处理这些变更。

这种方式不需要等待网络通信等,对主数据库的性能影响较小。但是异步复制有备数据丢失风险。因此适用于网络延迟较高或者对实时数据一致性要求不高的场景。

1.2同步复制

同步复制要求主数据库在执行完事务后,必须等待从数据库完成接收并处理这些事务变更后,才会向客户端确认事务完成。

这种方式可有效的保障数据一致性,因为在主数据库确认事务完成之前,从数据库已经更新了数据。同步复制可能会对主数据库的性能产生较大影响,因为它需要等待所有从数据库的操作完成,这可能会增加事务的响应时间。因此同步复制适用于对数据一致性要求较高的场景,尤其是在低延迟的网络环境中。

1.3单机部署架构

当Vastbase G100没有副本时,称为单机部署架构,这是一种非常特殊的部署形态,对于可靠性、可用性均无任何保证。由于只有一个数据副本,一旦发生数据损坏、丢失,只能通过物理备份恢复数据。

这种部署形态,一般用于数据库体验用户,以及测试环境做语法功能调测等场景,一般不用于商业现网运行。

2.Vastbase G100的逻辑架构

单机的Vastbase G100数据库节点的逻辑架构如图所示:

数据库(Database)

是数据库对象的集合,常见的数据库对象包括表(Table)、索引(Index)、视图(View)、函数(Function)等。

可以看出,Vastbase G100中各个数据库之间是相互隔离的,它们各自管理者自己的对象

表空间(Tablespace)

是一个存储空间,里面存储的是它所包含的数据库的各种物理文件。每个表空间可以对应多个数据库,同时每个数据库的对象又可以分布在不同的表空间上。

表(Table)

是数据库中的一种对象,每张表只能属于一个数据库,也只能对应到一个表空间,每张表对应的数据文件必须在同一个Tablespace中(不考虑分区表)。通常每张(行存)表只对应一个数据文件(Datafile Segment),但是如果某张表的数据大于1GB,则会分为多个数据文件存储。

数据块(Block)

是数据库管理的基本单位,默认大小为8KB。

在Vastbase G100数据库内部,所有数据库对象都通过相应的对象标识符(Obeject Identifier,OID)进行管理,这些标识符是无符号的4字节整型。

数据库对象与相应OID之间的关系存储在对应的系统目录中,依具体的对象类型而异。

例如,堆表对象的OID存储在pg_class系统表中,OID列是一个隐藏属性,默认不会在查询结果中显示,需要时必须显示指定oid列来查询。

例如查询pg_class表本身的对象标识符如下:

elect relname, oid from pg_class where relname = 'pg_class';oid  |  relname-----+-----------1259 |  pg_class

一个数据库的逻辑架构是实现数据库管理的基石,Vastbase G100的一个数据库节点又称为一个数据库集簇,集簇中包含表空间、数据库等概念,这些是Vastbase G100数据库管理系统的核心组成部分,它们为数据的组织、存储和管理提供了灵活性和高效性。通过合理规划数据库集簇,可以提高数据库的整体性能和存储效率


通过以上介绍,我们为您详细讲解了Vastbase G100的部署架构和逻辑架构。

在部署架构中,Vastbase G100可部署为单机、主备以及一主多备等形态,通过部署多副本可以提供抵御实例级故障的能力,从而实现了数据库的高可用

在逻辑架构中,Vastbase G100在一个数据库集簇中包含了表空间以及数据库等概念,可以更加方便地来管理数据库

接下来,我们将为您介绍Vastbase G100的物理架构和系统架构,敬请锁定《Vast+产品展厅》。

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

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

相关文章

Python语法糖大全

本文汇集了一些常用的Python语法糖,供大家查询使用。 1. 集合与序列操作 列表推导式:创建列表。[x**2 for x in range(10)]字典推导式:创建字典。{x: x**2 for x in range(10)}集合推导式:创建集合。{x**2 for x in range(10)}条…

C++(爬楼梯

我一开始&#xff0c;写了一个代码 class Solution { public:int climbStairs(int n) {vector<int> dp(n1);dp[1]1;dp[2]2;if(n1){return 1;}else if(n2){return 2;}else{for(int i3;i<n;i){dp[i]dp[i-1]dp[i-2];}return dp[n];}} }; 一直报错&#xff0c;找了半天终…

划分数据集2,详细说明

看完了这个之后划分数据集&#xff0c;训练自己的数据集。-CSDN博客 我再详细说一下自己标注的文件放在什么位置 我发的文件里有这几个文件 在dataset里面有 自己的数据集分为&#xff0c;图片部分和标注文件部分 打开VOCdevkit文件夹 里面有三个文件夹 自己的图片的话&…

商城数据库88张表结构完整示意图

36 CREATE TABLE operates (operateId int(11) NOT NULL AUTO_INCREMENT COMMENT 自增ID,staffId int(11) NOT NULL DEFAULT 0 COMMENT 职员ID,operateTime datetime NOT NULL COMMENT 操作时间,menuId int(11) NOT NULL COMMENT 所属菜单ID,operateDesc varchar(255) NOT NUL…

(C++) 内类生成智能指针shared_from_this介绍

文章目录 &#x1f601;介绍&#x1f914;类外操作&#x1f605;错误操作&#x1f602;正确操作 &#x1f914;类内操作&#x1f62e;std::enable_shared_from_this<>&#x1f62e;奇异递归模板 CRTP&#xff08;Curiously Recurring Template Pattern&#xff09;&#…

carrier开利触摸屏ICVC控制面板维修CEPL130445

开利离心机19XR空调ICVC显示面板维修CEPL130445-03-R/04-R/02-R 人机界面触摸维修故障有&#xff1a;花屏、白屏、按触摸屏无反应或反应慢(触摸不好)、内容错乱、无背光、背光暗、有背光无字符、不能通信、按键无反应等&#xff08;可更换液晶屏&#xff09;黑屏、对触摸屏触摸…

QML 中的状态

Qt hello – 专注于Qt的技术分享平台 状态描述了当前用户界面样子&#xff0c;QML中一个状态定义了一组属性的改变&#xff0c;并且会在一定条件下被触发。 假设有这么一个场景&#xff0c;红黄绿三个灯&#xff0c;用一个按钮&#xff0c;点击后依次切换三个灯亮起。使用QWi…

js如何获取对象的属性值

获取对象的属性值&#xff0c;有两种方式。 方式一&#xff1a; 对象.属性名 let obj {name:张三,age:23 }; console.log(obj.name); //张三方式二&#xff1a; 对象[属性名] let obj {name:张三,age:23 }; console.log(obj[name]); //张三 两种方式有什么不同&am…

AWR报告采集

一、windows下采集 自动负载信息库&#xff08;Automatic Workload Repository&#xff0c;AWR&#xff09;是在Oracle 10g中被引入的&#xff0c;缺省地被安装到Oracle10g数据库中&#xff0c;用于收集关于该特定数据库的操作统计信息和其他统计信息。AWR的采样工作由后台进程…

Linux-线程互斥和死锁

目录 一.线程互斥 1.1 进程线程间的互斥相关背景概念 1.2 互斥量mutex 二.互斥量的接口 2.1 初始化互斥量 2.2 销毁互斥量 2.3 互斥量加锁和解锁 2.4 改进后售票代码 三.死锁 3.1.什么是死锁&#xff1f; 3.2.死锁四个必要条件 3.3 避免死锁 一.线程互斥 1.1 进程…

吴恩达2022机器学习专项课程(一) 6.1 动机第三周课后实验:Lab1使用逻辑回归进行分类

问题预览/关键词 什么是逻辑回归&#xff1f;什么是二分类问题&#xff1f;二分类问题案例如何表达二分类的结果&#xff1f;逻辑回归通常用哪种表达形式&#xff1f;什么是正样本和负样本&#xff1f;什么是阈值&#xff1f;可视化线性回归解决二分类线性回归面对二分类产生的…

Android 跨进程通信

Android中常用的跨进程通信方法有以下几种&#xff1a; Intent、Binder、AIDL、Messenger、ContentProvider。 Intent 可以通过Intent传递数据和消息&#xff0c;但是只能传递一些简单的数据类型&#xff0c;比如字符串、整数等。 示例&#xff1a; 从一个应用程序发送一个字…

jmeter之跨线程关联

1&#xff09;_setproperty函数&#xff1a;将值保存成jmeter属性 2&#xff09;_property函数&#xff1a;在其他线程组中使用property函数读取属性 一、跨线程接口引用变量 1. 法一&#xff1a;jmeter自带函数_setProperty和_property 1. 1线程组 01 创建登录的【HTTP请求】…

1、k8s问题pod从service中剔除

一、起因 redis原来由两服务器的集群变为三服务器的集群&#xff0c;通过statefulset扩展了两节点&#xff0c;并把redis-app-0和redis-app-3从集群中去除&#xff0c;但是由于service路由后端不变&#xff0c;导致程序连接后端仍然可能到redis-app-0和redis-app-3 二、处理 …

常用的跨平台笔记软件OneNote, GTD

keywords: OneNote, GTD 快捷键 C --> Ctrl S --> Shift M --> Alt Cmd --> Command 调整文本格式 功能WindowsMac OS X高亮选中文本C-S-h 或 C-M-h插入超链接C-kCmd-k复制选中文本的格式&#xff08;格式刷&#xff09;C-S-cCmd-M-c应用格式刷到选中文本C-…

分类算法——决策树(五)

认识决策树 决策树思想的来源非常朴素&#xff0c;程序设计中的条件分支结构就是if-else结构&#xff0c;最早的决策树就是利用这类结构分割数据的一种分类学习方法。 决策树分类原理详解 为了更好理解决策树具体怎么分类的&#xff0c;通过一个问题例子&#xff1a; 问题…

C++入门----内联函数auto范围fornullptr指针

1.内联函数 顾名思义&#xff0c;内联函数也是函数的一种&#xff0c;我们在C语言的学习过程里面知道了函数和宏之间的区别和各自的优缺点&#xff1b; 函数的使用需要建立栈帧&#xff0c;宏的使用需要考虑各种符号的优先级问题&#xff0c;很容易出错&#xff0c;因为宏在使…

HarmonyOS开发案例:【闹钟】

介绍 使用后台代理提醒&#xff0c;实现一个简易闹钟。要求完成以下功能&#xff1a; 展示指针表盘或数字时间。添加、修改和删除闹钟。展示闹钟列表&#xff0c;并可打开和关闭单个闹钟。闹钟到设定的时间后弹出提醒。将闹钟的定时数据保存到轻量级数据库。 相关概念 [Canva…

MySQL创建表时添加约束

创建表时添加约束 ①列级约束 演示&#xff1a; CREATE TABLE students( id INT PRIMARY KEY,#主建约束&#xff08;唯一性&#xff0c;非空&#xff09; s_name VARCHAR(10) NOT NULL, #非空 s_sex CHAR(1) CHECK(s_sex男 OR s_sex女),#检查约束(Mysql无效) s_seat INT UNI…

数学建模完整版

模型与适用题型 微分方程传染病预测模型 神经网络 层次分析法 粒子群算法 matlab 优劣解距离法