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

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

所以我的结论,是基于之前的使用过程和感受,具有主观描述,如果有问题可以在评论区留言或者私信给我

78a504e1c89048758825e1ac71160df0.png

技术指标 3.0版本最大值 5.0版本最大值
数据库容量 受限于操作系统与硬件 受限于操作系统与硬件
单表大小 32TB 32TB
单行数据大小 1GB 1GB,astore包含CLOB/BLOB类型单行上限为32TB。
每条记录单个字段的大小 1GB 1GB,astore包含CLOB/BLOB类型单字段上限为32TB。
单表记录数 248 最大为232* ((8k - 页面头)/行宽)。代码层面的限制是单表最多232个页面,每个页面大小为8k。假设当前数据行宽是1k(包括tuple头),则单表记录数约为7 * 232 行(当前页面大小是8k,除了页面头,每个页面包含7行数据)。
单表最大列数 250~1600(随字段类型不同会有变化) 1600(随字段类型不同会有变化,建表时不校验字段类型,存入数据时校验,例如bigint类型的字段,每个字段存入8字节数据,1600个字段,需要存入12800个字节,超过一个页面8K,插入时会报错)
单表中的索引个数 无限制 无限制
复合索引包含列数 32 32
数据库名长度 无限制 63
对象名长度(除数据库名以外的其他对象名) 无限制 63
单表约束个数 无限制 无限制
并发连接数 10000 10000
分区表的分区个数 32768(范围分区)/64(哈希分区/列表分区) 220 - 1个
分区表的单个分区大小 32TB 32TB
分区表的单个分区记录数 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逻辑架构图

4656859800b5412e88f31a2d293fe22a.png

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

DMS DMS是动态库,集成在数据库内部,通过TCP/RDMA网络传输PAGE内容,将主备内存融合,提供内存池化能力,以此实现备机实时一致性读功能。
DSS DSS是独立进程,直接管理磁阵裸设备,并对外提供类似分布式文件系统的能力。通过共享内存和客户端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的根因分析。

全开放


采用木兰宽松许可证协议,允许对代码自由修改、使用、引用。

数据库内核能力全开放。

提供丰富的伙伴认证,培训体系和高校课程。

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

目录
相关文章
|
运维 JavaScript 前端开发
Neo4j 企业版和系统运维企业版特性概览
Neo4j 企业版和系统运维企业版特性概览
1133 0
Neo4j 企业版和系统运维企业版特性概览
|
3月前
|
存储 SQL 关系型数据库
openGauss6.0单点企业版部署_openEuler22.03_x86
openGauss6.0单点企业版部署_openEuler22.03_x86
|
8月前
|
关系型数据库 分布式数据库 PolarDB
开源PolarDB-X 部署安装全过程
本文介绍了开源PolarDB-X的部署安装步骤:首先,下载并解压PXD工具,配置至系统路径;然后,使用PXD工具进行部署,选择模式,输入参数,并等待部署完成;最后,验证集群状态。在遇到问题时,参考官方文档、社区支持或进行排查。建议包括优化文档、增强错误处理和建立用户反馈机制。
|
7月前
|
关系型数据库 OLAP 分布式数据库
PolarDB产品使用问题之是否可以部署到linux中
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
8月前
|
关系型数据库 MySQL Docker
PolarDB-X安装部署初体验
本文档介绍了体验阿里云PolarDB-X分布式数据库的安装和使用过程。首先提到PolarDB-X在稳定性及性能上的优势,然后详细描述了在CentOS 7环境下遇到的Python版本不兼容和Docker容器iptables配置问题的解决方法。通过创建Python 3.8的虚拟环境解决PyYAML依赖问题,接着在解决Docker容器内部网络问题后,成功安装并启动PolarDB-X。文中强调PolarDB-X完全兼容MySQL,适合熟悉MySQL的用户,并分享了安装历史记录以供参考。
239 7
|
8月前
|
关系型数据库 MySQL 分布式数据库
快速体验开源PolarDB -X 部署安装
在CentOS上部署PolarDB-X标准版集群的体验包括三步:安装python3和docker(如果未预装),然后使用venv创建环境,安装pxd并验证。接着,通过`pxd tryout -t standard`部署集群,该过程需拉取大量镜像,可能耗时且占用数GB空间,建议事先清理空间并了解资源需求。部署后,可查询集群状态和健康信息。最终,使用`pxd cleanup`清理。过程中因磁盘空间不足遇到问题,建议体验前提供系统配置需求,并允许用户自定义MySQL参数。
|
8月前
|
关系型数据库 分布式数据库 PolarDB
PolarDB产品使用合集之关于在Docker环境中部署和维护PolarDB-X,有相关文章可以参考吗
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
8月前
|
运维 Cloud Native 大数据
号外号外!ClickHouse企业版正式商业化啦!
欢迎预约「ClickHouse企业版商业化发布会」直播~
|
8月前
|
关系型数据库 Linux 分布式数据库
源码编译实现PolarDB-X部署安装的体验报告
本文档记录了编译安装PolarDB-X的步骤,包括设置CentOS开发环境、从GitHub获取源码、编译(耗时较长)、解决依赖和权限问题、安装部署及测试验证。作者建议优化文档细节、减少编译时间、改进错误提示,并提议提供一键安装依赖脚本、新手视频教程及加强社区支持。整个过程虽有挑战,但具有成就感。
172 0
|
8月前
|
关系型数据库 MySQL 分布式数据库
PolarDB MySQL企业版与标准版功能对比:如何选择适合您的版本?
随着数字化时代的到来,企业对于数据处理的需求越来越高,而数据库作为数据处理的核心,其性能和成本成为了企业关注的焦点。阿里云全新推出的PolarDB MySQL企业版和标准版,以全新的架构和优化,为企业提供了高性能、低成本的数据库解决方案。但在功能上,这两个版本有很多差异,我们该如何选择呢?
176 2