openGauss5.0企业版使用指南之系统架构

news2024/11/24 14:15:20

文章目录

  • 1. 产品定位
  • 2. 3.x版本和5.x版本比对
  • 3. openGauss 5.0版本架构
  • 4. openGauss 5.0 特点

在这里插入图片描述

背景:今年3月openGauss 5.0发布,升级了资源池化内核能力和DataKit数据全生命周期管理工具,整体在性能、安全性与易用性方面均有大幅提升。本次大会上,共7家数据库伙伴、企业用户基于openGauss 5.0发布商业版和自用版,其中,openGauss嵌入式商业发行版首次发布。至此,openGauss覆盖场景从服务器、边缘扩展到嵌入式,场景更加丰富。 作为之前被 openGauss 3.1版本 踩坑的艰辛过程,又持续的跟进了解了一下Opengauss的近况,特地了分享一下。

1. 产品定位

我们先来看下产品定位,根据官网和发布会我们可以了解到OpenGauss5.0的基本产品定位

  • openGauss是一款支持SQL2003标准语法,支持主备部署的高可用关系型数据库。
  • 多种存储模式支持复合业务场景,新引入提供原地更新存储引擎。
  • NUMA化数据结构支持高性能。
  • Paxos一致性日志复制协议,主备模式,CRC校验支持高可用。
  • 支持全密态计算、账本数据库等安全特性,提供全方位端到端的数据安全保护。
  • 通过Table Access Method接口层支持多存储引擎。

openGauss是一款提供面向多核的极致性能、全链路的业务和数据安全,基于AI的调优和高效运维的能力,全面友好开放,携手伙伴共同打造全球领先的企业级开源关系型数据库,采用木兰宽松许可证v2发行。openGauss深度融合华为在数据库领域多年的研发经验,结合企业级场景需求,持续构建竞争力特性。

2. 3.x版本和5.x版本比对

相比于之前版本,我们公司当时使用的是openGauss 3.1.0
所以我的结论,是基于之前的使用过程和感受,具有主观描述,如果有问题可以在评论区留言或者私信给我


在这里插入图片描述

技术指标3.0版本最大值5.0版本最大值
数据库容量受限于操作系统与硬件受限于操作系统与硬件
单表大小32TB32TB
单行数据大小1GB1GB,astore包含CLOB/BLOB类型单行上限为32TB。
每条记录单个字段的大小1GB1GB,astore包含CLOB/BLOB类型单字段上限为32TB。
单表记录数248最大为232* ((8k - 页面头)/行宽)。代码层面的限制是单表最多232个页面,每个页面大小为8k。假设当前数据行宽是1k(包括tuple头),则单表记录数约为7 * 232 行(当前页面大小是8k,除了页面头,每个页面包含7行数据)。
单表最大列数250~1600(随字段类型不同会有变化)1600(随字段类型不同会有变化,建表时不校验字段类型,存入数据时校验,例如bigint类型的字段,每个字段存入8字节数据,1600个字段,需要存入12800个字节,超过一个页面8K,插入时会报错)
单表中的索引个数无限制无限制
复合索引包含列数3232
数据库名长度无限制63
对象名长度(除数据库名以外的其他对象名)无限制63
单表约束个数无限制无限制
并发连接数1000010000
分区表的分区个数32768(范围分区)/64(哈希分区/列表分区)220 - 1个
分区表的单个分区大小32TB32TB
分区表的单个分区记录数255最大为232 * ((8k - 页面头)/行宽)。代码层面的限制是单表最多232个页面,每个页面大小为8k。假设当前数据行宽是1k(包括tuple头),则单表记录数约为7 * 232 行(当前页面大小是8k,除了页面头,每个页面包含7行数据)。
LOB最大容量无限制(1G -8203)B
SQL文本最大长度无限制约为1GB,不同报文接口和处理流程会使用额外空间而略微减少最大可行SQL长度。

3. openGauss 5.0版本架构

使用的是在openGauss 5.0.0中,传统的主备复制架构向资源池化架构演进,逻辑架构图如下所示。
字技术正在加速落地行业应用,支撑着丰富的在线应用与服务,产业数字化加速产生了海量的数据,图、流、时序和地图空间等多种数据类型层出不穷,这需要不同的算力架构做处理,数据库对计算的需求由单一的通用CPU向GPU、NPU等多样性计算演进。同时,为了有效应对大规模数据库可靠性、性能、易用性的终极诉求,业界数据库逐渐走向统一的标准化资源池化架构。

针对多样性计算演进的趋势,openGauss实现了资源池化架构,首次实现计算、内存和存储三层解耦,层层池化带来更好的资源调度效率,更好的处理性能和创新的敏捷性。基于数据多模融合的趋势,实现了HTAP架构,同时在openGauss社区联合打造图数据库和时序数据库等不同模型的数据处理能力,这使得openGauss可以实现多模数据的融合处理与分析。

面向未来的openGauss资源池化架构由3层池化、1个平台和1个标准组成。架构示意图如下所示:

架构示意图

三层池化包括存储池化、内存池化和计算池化。存储池化支持多种存储,如分布式存储、企业存储,实现一份数据服务于多种计算,并通过SQL算子卸载的NDP技术,大幅提升了SQL处理效率、消减了网络I/O流量。内存池化实现计算节点间内存的互联,通过同步事务信息和数据库缓存,实现了多节点下的多版本快照一致性读能力,结合RoCE和SCM等硬件,实现极致的Commit加速和大容量内存访问等能力。计算池化支持多样性算力,基于X86、鲲鹏等算力,为应用提供从TP行存加速、AP列存加速、AI训练推理等全方位的数据服务。在三层池化之上,是全场景的SQL标准,为应用提供数据分析、AI推理、图查询等的一系列查询接口,充分释放数据价值。同时,一体化平台实现智能运维、集群管理、资源编排等能力,实现数据库在高负载下的稳定运行和弹性伸缩。
openGauss逻辑架构图

输入图片说明
openGauss资源池化架构支持1主7备,主节点支持读写,备机横向扩展读能力,以满足现实世界典型负载性能要求。多节点数据实时一致的能力支持数据一致性敏感型应用负载从单个节点透明扩展到多个节点。去除传统主备日志复制开销,存储成本下降50%以上。基于高性能RDMA网络实现轻量级RPC框架,CPU资源开销显著降低,实现us级网络时延。SCM多级缓存能力实现同等内存成本下性能提升30%。

DMSDMS是动态库,集成在数据库内部,通过TCP/RDMA网络传输PAGE内容,将主备内存融合,提供内存池化能力,以此实现备机实时一致性读功能。
DSSDSS是独立进程,直接管理磁阵裸设备,并对外提供类似分布式文件系统的能力。通过共享内存和客户端API动态库,为数据库提供创建文件、删除文件、扩展和收缩文件、读写文件的能力。
共享存储支持企业级存储和分布式存储。与传统建库相比,资源池化将目录分为三种类型,每实例独占且不共享、每实例独占且共享、所有实例共享。其中需要共享的目录均需存放到共享存储上,而不共享的目录存放在本地盘上。另外备机建库只需要建隶属于自己的目录,不需要再次创建所有实例共享的目录结构。
OCK-RDMA可选通过OCK RDMA降低DMS主备页面交换时延,开启OCK RDMA,备机一致性读时延性能提升20%+。
SCM基于持久化内存的SCM加速,实现同等内存成本下性能提升30%。

4. openGauss 5.0 特点

openGauss相比于其他开源数据库主要有以下几个主要特点:

  • 高性能

    • 提供了面向多核架构的并发控制技术,结合鲲鹏硬件优化,在两路鲲鹏下,TPCC Benchmark可以达到150万tpmc的性能。
    • 针对当前硬件多核numa的架构趋势, 在内核关键结构上采用了Numa-Aware的数据结构。
    • 提供Sql-bypass智能快速引擎技术。
    • 针对频繁更新场景,提供ustore存储引擎。
  • 高可用

    • 支持主备同步、异步以及级联备机多种部署模式。
    • 数据页CRC校验,损坏数据页通过备机自动修复。
    • 备机并行恢复,10秒内可升主提供服务。
    • 提供基于paxos分布式一致性协议的日志复制及选主框架。
  • 高安全

    支持全密态计算、访问控制、加密认证、数据库审计、动态数据脱敏等安全特性,提供全方位端到端的数据安全保护。

  • 易运维

    • 基于AI的智能参数调优和索引推荐,提供AI自动参数推荐。
    • 慢SQL诊断,多维性能自监控视图,实时掌控系统的性能表现、预测指标的未来走势,还可以进行异常检测和慢SQL的根因分析。
  • 全开放

    • 采用木兰宽松许可证协议,允许对代码自由修改、使用、引用。
    • 数据库内核能力全开放。
    • 提供丰富的伙伴认证,培训体系和高校课程。

大家好我是冰点,本次分享内容就基本上是这些了 ,感谢大家的阅读,如果对你所帮助,如果有问题可以在评论区留言。
在这里插入图片描述

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

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

相关文章

vue-admin-template_home增加全屏开关

1. 安装 npm install screenfull --save 这个指令安装最新版本 npm install screenfull3 VUE2.x的可以指定对应的版本,这样是安装最新的3.x的版本 2. 导入svg文件 在src\icons\svg文件夹下,导入exit-fullscreen.svg和fullscreen.svg, exit-fullsc…

Git仓库相关操作

目录 Git作用 集中式 分布式 Git操作Git区域概念 Git命令 远程仓库 新建项目 新建仓库 克隆项目 推送项目 拉取项目 Git作用 作用:版本控制多人协作 集中式 典型代表:SVN 特点:所有的版本库都存在中央服务器,本地备份…

线性代数3:矩阵

目录 矩阵研究的是什么呢? 逆阵 什么叫做逆阵? 例题1: 例题2: 逆阵的存在性 定理1: 定理2: 定理3: 定理4: 拉普拉茨方程 方阵可以的条件 例题3: Note1&#xff…

Hive 巡检工具-对表数据量、主键重复数量以及每个字段标签的空值检测

目录 背景 巡检工具 数据准备 1、准备一张配置信息表,该表保存需要巡检的数据信息(规则code不可重复) 2、pyspark代码编写 结果表数据展示 规则自动检测并自增 数据准备 背景 该需求是利用pyspark对部分重点产出表进行数据质量监控。主…

如何使用二三层仪表模拟无状态的DDOS攻击测试

什么是DDOS攻击 分布式拒绝服务攻击(Distributed Denial of Service,简称DDoS)是指通过大规模互联网流量淹没目标服务器或其周边基础设施,以破坏目标服务器、服务或网络正常流量的恶意行为。 大量虚假的用户占用网络资源,把资源耗尽&#x…

PREP黄金沟通法则

PREP黄金沟通法则 掌握PREP黄金沟通四步法则,改善沟通困局,让交流更高效! 模型介绍 Point: 结论先行让对方第一时间知道你想表达的观点。Reason: 摆出依据摆出你观点的依据,要做到客观公正、统一度量、表达准确、不出现歧义。Exa…

软件测试的案例分析 - 闰年4.2

这篇博客的目录 文章目的正文错误之一出错后怎么改正?正确而简明的算法 文章目的 显示不同的博客能获得多少博客质量分 (这是关于博客质量分的测试 https://www.csdn.net/qc) 这个博客得了 60 分。 希望在新的质量分系统中,获得 80 - 90 分左…

Goby 漏洞更新 |MDT KNX 管理面板默认口令

漏洞名称:MDT KNX 管理面板默认口令 English Name:MDT KNX manager panel default credentials vulnerability CVSS core: 7.5 影响资产数:1135 漏洞描述: MDT是一家智能楼宇自动化服务商,基于KNX技术进行产品制造…

互联网产品的帮助中心页面制作方法?

帮助中心(Help Center)是企业或组织为了向客户提供技术支持和解决方案而设立的一个资源库,为客户提供常见问题解答、使用指南、教程等信息,旨在提高客户满意度和降低客户支持成本。帮助中心通常提供多种服务方式,包括在…

企业级微服务架构实战项目--xx优选2

一 常用核心功能 1.1 mp返回分页工具类 1.2 返回统一的数据格式 第2部分 1.3 异常统一的处理 系统在运行过程中如果出现了异常,默认会直接返回异常信息,比如500错误提示。但是我们想让异常结果也显示为统一的返回结果对象,并且统一处理系统的…

Vue 组件化: 计算属性、内容分发、自定义事件

目录 1. 计算属性 1.1 计算属性的特点 2. 内容分发 2.1 使用插槽的示例 3. 自定义事件 1. 计算属性 什么是计算属性 ? 计算属性的重点突出在属性两字, 首先它是个属性, 其次这个属性有计算的能力, 这里的计算就是个函数; 简单来说, 它就是一个能够将计算结果缓存起来的属…

认识 SpringCloud 核心组件

✅作者简介:大家好,我是Cisyam,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Cisyam-Shark的博客 💞当前专栏: 微服务探索之旅 ✨特色专…

Linux进程间通信【共享内存】

✨个人主页: 北 海 🎉所属专栏: Linux学习之旅 🎃操作环境: CentOS 7.6 阿里云远程服务器 文章目录 🌇前言🏙️正文1、什么是共享内存?2、共享内存的相关知识2.1、共享内存的数据结构…

人工智能十大新星揭晓,华人学者占90%

人工智能领域著名杂志 IEEE Intelligent Systems发布了 2022 年度“人工智能十大新星”(AIs 10 to Watch)名单 ,其中有九位都是华人研究者。知识人网小编推荐给大家。 近日,人工智能领域著名杂志 IEEE Intelligent Systems公布了 …

在JavaScript中的栈数据结构(Stack )

文章目录 导文什么是Stack 类?如何创建一个Stack如何修改Stack中的值栈声明方法举例添加移除查看查看栈顶元素检查栈是否为空检查栈的长度 清空栈元素打印栈元素 完整的Stack函数:创建Stack的其他方法-用 ES6 语法声明 Stack 类 使用Stack类在 JavaScrip…

关于GDPR体系文件介绍,介绍GDPR体系文件的内容和意义

随着数字化时代的到来,个人数据保护成为了一个日益受到关注的问题。欧盟于2018年5月25日颁布了“通用数据保护条例”(GDPR),旨在加强对欧洲公民个人数据的保护。GDPR对企业和组织的数据保护和处理流程提出了严格的要求&#xff0c…

自助化打印面单教程

我们都知道,这几年快递行业,从传统纸质面单过渡到了电子面单。以往企业寄快递,能够自行填写纸质面单,等待收件员上门收件,现如今,企业寄件能否自行打印电子面单? 首先我们要先对比一下传统面单和…

云智研发笔试编程题(一):图像相似度

题目描述 给出两幅相同大小的黑白图像 (用0-1矩阵) 表示求它们的相似度。若两幅图像在相同位置上的像素点颜色相同,则称它们在该位置具有相同的像素点。两幅图像的相似度定义为相同像素点数占总像素点数的百分比。 输入描述 第一行包含两个整数m和n,表…

C++概述——浅谈C++对C的拓展

纵有疾风起,人生不言弃。本文篇幅较长,如有错误请不吝赐教,感谢支持。 💬C核心编程一 一.C简介二.第一个程序Hello,world!三.C的特点四.C对C的扩展1️⃣作用域运算符::2️⃣C命名空间(namespace)①名字控制②为什么有…

golang性能分析 pprof的使用 graphviz

golang性能分析 pprof的使用 graphviz 1 参考文档2 pprof、Graphviz介绍3 Graphviz下载 安装4 使用 1 参考文档 参考1:golang性能分析,pprof的使用,graphviz,火焰图 参考2:Golang中的pprof分析环境搭建【Windows环境】…