昨天的推文介绍了墨天轮社区的国产数据库排名第一的开源分布式关系型数据库TiDB。
《知识篇 | 目前国产数据库排行榜排名第一的TiDB!》可点击链接
国产数据库开源的除了TiDB外,还有一种国产开源数据库OpenGaussDB。
今天再来介绍下OpenGaussDB。
先看一下OpenGaussDB在墨天轮国产数据库中的排名。
(https://www.modb.pro/dbRank)

大家可以看到,为啥有华为数据库有GaussDB和OpenGaussDB两种,
这是为个啥?
GaussDB为云原生数据库(没有开源),GaussDB 数据库是2019年 5 月 15 日华为在北京面向全球发布的,它被称为全球首个人工智能原生(AI-Native)数据库。
OpenGaussDB是在2019年9 月 19 日,在华为 CONNECT 大会上,华为宣布将开源其 GaussDB 数据库,开源后的产品被命名为 openGauss,这也是openGauss的“open”开头的由来。
但openGauss于2020年6月30日才最终正式开源出来。
简单来说:
opengauss是GaussDB T的开源版,可免费下载使用;
opengauss支持单机和一主多备部署方式,但不支持分布式集群部署。
GaussDB(openGauss)是华为云深度融合在数据库领域多年的经验,结合企业级场景需求,推出的新一代企业级分布式数据库,支持集中式(openGauss)与分布式(GaussDB)两种部署形态。
先简要介绍下GaussDB分布式数据库。
华为自研数据库GaussDB系列有如下核心技术优势:存算分离架构,DFV存储、NDP算子下推等等。
以GaussDB(for MySQL)为例,它基于华为最新一代DFV分布式存储,采用计算存储分离架构,支持1写15读的只读节点的极速扩展,最高支持128TB的海量存储,可实现超百万级QPS吞吐,单节点相比原生MySQL性能提升7倍,业界第一。
GaussDB NoSQL系列拥有极强的多模数据管理能力,在并发读写能力、扩容时间缩、故障重构时间、备份效率、恢复效率等方面也都实现了业界领先,相比纯开源软件能力有了质的飞跃。
既然今天要说的是开源数据库,
就重点来说一说OpenGaussDB这一开源数据库。
openGauss是一款开源关系型数据库管理系统,采用客户端/服务器,单进程多线程架构,支持单机和一主多备部署方式,备机可读,支持双机高可用和读扩展。
采用木兰宽松许可证v2发行。openGauss内核源自PostgreSQL,深度融合华为在数据库领域多年的经验,结合企业级场景需求,持续构建竞争力特性。
openGauss于2020年6月30日正式开源,10月12日发布第一个正式公开版本——openGauss 1.0.1版本,满足企业级用户对数据库的高性能、高可用、高安全要求,与鲲鹏协同性能优化上,基于2路鲲鹏服务器,1000wh数据量可跑到150万tmpC,相对业界主流产品的性能超过50%,在主备模式下60%满负载故障切换时间10秒以内。
产品特点
openGauss相比其他开源数据库主要有复合应用场景、高性能和高可用等产品特点。
复合应用场景
行存储,支持业务数据频繁更新场景。
列存储,支持业务数据追加和分析场景。
内存表,支持高吞吐,低时延,极高性能场景。
高性能
通过多核数据结构,增量检查点,大内存缓冲区管理实现百万级tpmC。
服务端连接池,支持万级并发。
高可用
支持主备同步,异步多种部署模式。
数据页CRC校验,损坏数据页通过备机自动修复。
备机并行恢复,10秒内可升主提供服务。
AI能力
具备AI4DB能力,包括参数智能调优与诊断、慢SQL发现、索引推荐、时序预测、异常检测等。
具备DB4AI能力,兼容MADlib生态,支持70+算法,性能比原生MADlib有数倍提升,支持XGBoost、GBDT等高级算法。
软件架构
openGauss主要包含了openGauss服务器,客户端驱动,OM等模块。
openGauss软件的架构如图1所示。在openGauss的文档中,将openGauss服务器称为实例。
图 1 软件架构

图中各模块的含义详见表1。
名称 | 描述 | 说明 |
OM | 运维管理模块(Operation Manager)。提供openGauss日常运维、配置管理的管理接口、工具。 | 不同于服务器和客户端驱动模块,OM为用户提供了相关工具对openGauss实例进行管理。 |
客户端驱动 | 客户端驱动(Client Driver)。负责接收来自应用的访问请求,并向应用返回执行结果;负责与openGauss实例的通信,下发SQL在openGauss实例上执行,并接收命令执行结果。 | 负责接收来自应用的访问请求,并向应用返回执行结果。客户端驱动负责建立到openGauss实例的链接,把应用的SQL命令传输给openGauss实例,接收openGauss实例命令执行结果。 客户端驱动和应用运行在同一个进程内,部署在同一个物理节点。 |
openGauss主(备) | openGauss主(备)。负责存储业务数据(支持行存、列存、内存表存储)、执行数据查询任务以及向客户端驱动返回执行结果。 | 负责存储业务数据、执行数据查询任务以及向客户端驱动返回执行结果。 openGauss实例包含主、备两种类型。支持一主多备。建议将主、备openGauss分散部署在不同的物理节点中。 |
Storage | 服务器的本地存储资源,持久化存储数据。 | - |
2020年10月12日,openGauss 正式发布1.0.1版本,新版本推出分区表自动扩展分区、物化视图、增量备份/恢复、逻辑复制、外键等新特性。
2021年1月1日,华为正式发布openGauss1.1.0版本。
openGauss1.1.0版本为Update版本,与原来的1.0.1版本特性功能保持兼容。同时,在此基础上增加了以下亮眼新特性:LIST分区和HASH分区、DDL权限授权和回收、级联备机、字符数据类型长度兼容PG、自动索引推荐、plpython、备机备份、自治事务重构,并行查询重构、数据类型支持sysdate、支持增删备机节点、支持多版本python、在线添加索引、升级工具、安装与om工具解耦。
相关链接:
openGauss社区官网:https://opengauss.org/zh/
openGauss代码托管平台:https://gitee.com/opengauss
【参考】
https://opengauss.org/zh/docs/1.1.0/docs/Quickstart/了解产品.html
【参考】
https://www.modb.pro/wiki/601
文章至此。

欢迎关注个人微信公众号:

近期热文
你可能也会对以下话题感兴趣。点击链接便可查看。




