openGauss

分布式数据库
授权协议 MulanPSL-2.0
开发语言 C/C++
所属分类 数据库相关、 数据库服务器
软件类型 开源软件
地区 国产
投 递 者 邢曦
操作系统 跨平台
开源组织 华为
适用人群 未知
 软件概览

openGauss是一款开源的关系型数据库管理系统(前身为华为 GaussDB),它具有多核高性能、全链路安全性、智能运维等企业级特性。 openGauss内核早期源自开源数据库PostgreSQL,融合了华为在数据库领域多年的内核经验,在架构、事务、存储引擎、优化器及ARM架构上进行了适配与优化。

openGauss架构

高性能

openGauss突破了多核CPU的瓶颈,实现两路鲲鹏128核150万tpmC,内存优化表(MOT)引擎达350万tpmC。

数据分区

内部线程共享的关键数据结构进行数据分区,减少加锁访问冲突。比如CLOG就采用分区优化,解决ClogControlLock锁瓶颈。

NUMA化内核数据结构

关键数据结构NUMA化分配,减少跨CPU访问。比如全局PGPROC数组按照NUMA Node的数目分为多份,分别在对应NUMA Node上申请内存。解决ProcArrayLock锁瓶颈。

绑核优化

把网络中断绑核和后台业务线程绑核区分开,避免运行线程在核间迁移造成的性能不稳定。

ARM指令优化

结合ARM平台的原子操作lse进行优化,实现关键互斥变量原子高效操作。

SQL BY PASS

通过SQL BY PASS优化SQL执行流程,简化CPU执行开销。

高可靠

正常业务负载情况下,RTO小于10秒,降低节点故障导致的业务不可用时间。

并行恢复

主机日志传输到备机时,备机日志落盘的同时,发送给重做恢复分发线程,分发线程根据日志类型和日志操作的数据页发给多个并行恢复线程进行日志重做,保证备机的重做速度跟上主机日志的产生速度。这样备机实时处于ready状态,从而实现瞬间故障切换。

MOT引擎(Beta发布)

内存优化表(MOT)存储引擎是一个专为多核大内存优化的存储引擎,具有极高的联机事务处理(OLTP)性能和资源利用率。MOT的数据和索引完全存储在内存中,通过NUMA感知执行,算法消除闩锁争用以及查询JIT本地编译,提供低时延数据访问及高效事务执行。更多请参考MOT引擎文档

安全

openGauss支持账号管理,账号认证,口令复杂度检查,账号锁定,权限管理和校验,传输加密,操作 审计等全方位的数据库安全能力,保护业务满足安全要求。

易运维

openGauss将AI算法集成到数据库中,减少数据库维护的负担。

  • SQL预测

openGauss根据收集的历史性能数据进行编码和基于深度学习的训练及预测,支持SQL执行时间预测。

  • SQL诊断器

openGauss支持SQL执行语句的诊断器,提前发现慢查询。

  • 参数自动调整

openGauss通过机器学习方法自动调整数据库参数,提高调参效率,降低正确调参成本。

  • openGauss数据库常用操作命令(超详细) 1. 以操作系统用户omm登录数据库主节点 su - omm 1.1 启动服务 分布式openGauss: gs_om -t start 启动服务 gs_om -t restart 重启服务 集中式openGauss: gs_om -t stop 关闭服务 gs_om -t start 启动服务 1.2 使用“gs_om -t st

  • 本文作者:华军         Helm 是 Kubernetes 的包管理器,包管理器类似于我们在 Ubuntu 中使用的apt、Centos中使用的yum一样,能快速查找、下载和安装软件包,本篇文章探索编写openGauss的 Helm Chart的包,方便openGauss的在Kubernetes的快速部署. 1.环境清单 #检查k8s运行环境 [root@n-k8s-m ~]# kubec

  • 一、opengauss 的背景和行业现状 2022 年,七大 openGauss 商业版发布,是基于 openGauss3.0 推出商业发行版 目前海量数据库 Vastbase 表现最佳,一直是 TOP 1 作者认为之所以海量数据库 Vastbase 目前无法被同行超越,和各家研发实力和技术背景有关 众所周知,opengauss 起源于 postgresql,在此基础上做了改良 海量数据库从 po

  • openGauss 官网   openGauss 下载地址  支持的操作系统 ● ARM:   ● openEuler 20.03LTS(推荐采用此操作系统)   ● 麒麟V10   ● Asianux 7.5 ● X86:   ● openEuler 20.03LTS   ● CentOS 7.6   ● Asianux 7.6 准备软硬件安装环境 # Step 1: 新建用户组、用户 grou

 相关资料
  • 分布式支持 数据访问层支持分布式数据库,包括读写分离,要启用分布式数据库,需要开启数据库配置文件中的deploy参数: return [ // 启用分布式数据库 'deploy' => 1, // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => '192.168.1.1,19

  • 一个成功的技术,现实的优先级必须高于公关,你可以糊弄别人,但糊弄不了自然规律。 ——罗杰斯委员会报告(1986) 在本书的第一部分中,我们讨论了数据系统的各个方面,但仅限于数据存储在单台机器上的情况。现在我们到了第二部分,进入更高的层次,并提出一个问题:如果多台机器参与数据的存储和检索,会发生什么? 你可能会出于各种各样的原因,希望将数据库分布到多台机器上: 可扩展性 如果你的数据量、读取负载、写

  • 这里我的疑问是,如果我使用多个分布式数据库,cam如何在配置(application.properties)中提到不同的DB源URL?目前我正在使用以下结构来使用一个数据库, 就像上面那样。 所以,如果我使用多个DB用于多个区域,我如何在这里给出有条件的配置?我是微服务世界和分布式数据库设计模式的新手。

  • 我将hazelcast服务器分布在多个节点上。我假设hazelcast将在集群中分发任何IMap数据,这样每个节点都将拥有属于映射的数据。这是建立集群后默认情况下应该发生的事情,还是需要在hazelcast.xml中设置代码或配置?

  • 本文向大家介绍NoSQL数据库的分布式算法详解,包括了NoSQL数据库的分布式算法详解的使用技巧和注意事项,需要的朋友参考一下 今天,我们将研究一些分布式策略,比如故障检测中的复制,这些策略用黑体字标出,被分为三段: 数据一致性。NoSQL需要在分布式系统的一致性,容错性和性能,低延迟及高可用之间作出权衡,一般来说,数据一致性是一个必选项,所以这一节主要是关于 数据复制 和 数据恢复 。 数据放置

  • 主要内容:并行化集合,外部数据集RDD(弹性分布式数据集)是Spark的核心抽象。它是一组元素,在集群的节点之间进行分区,以便我们可以对其执行各种并行操作。 有两种方法可以用来创建RDD: 并行化驱动程序中的现有数据 引用外部存储系统中的数据集,例如:共享文件系统,HDFS,HBase或提供Hadoop InputFormat的数据源。 并行化集合 要创建并行化集合,请在驱动程序中的现有集合上调用的方法。复制集合的每个元素以形成