openGauss

开源数据库

openGauss社区官网

开源社区

openGauss 3.0.0 版本正式发布

openGauss2022-04-01theme

4 月 1 日,openGauss 3.0.0 版本正式上线!

openGauss 3.0.0 版本是 openGauss 社区继 2.0.0 之后发布的又一个 Release 版本,版本维护生命周期为 3.5 年。 3.0.0 版本在高性能、高可用、高安全、高智能、工具链等方面都有持续创新和突破。 3.0.0 版本除了包含企业版外同时发布了 openGauss 社区首个轻量版(Lite 版)。

一、高性能

1、鲲鹏单机性能持续保持领先

单机鲲鹏 64 核 2P TPCC 满足 150 万 tpmC 之后,3.0.0 版本持续性能优化,支持行存转向量化、外键锁优化等技术,同时单机鲲鹏 32 核 2P TPCC 达到 100 万 tpmC。

2、In-place Update 存储引擎

openGauss 支持 In-place Update 存储引擎(原地更新),实现基于 NUMA-Ware 架构的高可扩展 UNDO 子系统、基于多版本的索引及闪回等关键技术,实现稳定场景下高性能。

3、并行逻辑解码

在使用 JDBC 或 pg_recvlogical 解码时,通过设置 parallel-decode-num 参数来开启并行解码特性,数据库内核通过一个读取线程、多个解码线程以及一个发送线程之间的流水线协同运行进行逻辑解码操作,解码速度显著提升。

二、高可用

1、CM(Cluster Manager)

实现企业级集群管理能力,支持自定义资源监控,提供了数据库主备的状态监控、网络通信故障监控、文件系统故障监控、故障自动主备切换等能力。

2、Paxos 分布式一致性协议

实现基于 Paxos 分布式一致性协议的日志复制及选主框架,支持在线添加、删除节点,在线转让 Leader 能力,通过自仲裁、多数派选主、优先级选主能力摆脱第三方仲裁组件,极大缩短 RTO 时间,且可预防任何故障下的脑裂双主。

3、Global SysCache

将系统缓存与会话解耦,绑定到线程上,结合线程池特性达到降低内存占用的目的,同时结合全局缓存,提升缓存命中率,保持性能稳定。

三、高安全

1、原生多方共识,账本数据库

融合区块链中的密码学校验技术,对用户指定的防篡改表中数据进行修改时,突破传统链式生成校验信息的串行化限制,高效生成、记录篡改校验信息,且内置高性能篡改校验接口供用户调用。

2、全密态数据库能力持续增强

密态等值查询能力扩展支持 JDBC 开发接口,并支持存储过程和函数中的密态等值查询能力,使得存储过程和函数中的数据也可以以密文形态参与运算。

3、支持国密算法体系

口令登录认证支持使用 SM3 国密算法,加解密函数 API 接口支持使用 SM4 国密算法,密态等值查询支持使用 SM4 加密算法存储数据并运算。

4、支持 ANY 权限管理

新增支持数据库级别的 ANY 权限管理,即对数据库内的某一类对象的所有实体具有特定的操作权限,新增语法 GRANT/REVOKE ANY 权限 TO/FROM user 来执行 ANY 权限授予和回收,同时新增系统表 gs_db_privilege 来记录用户的数据库级 ANY 权限。

四、高智能

1、AI4DB 自治运维平台 DBMind
  • 实现 DBMind 系统组件化,支持通过组件命令执行方式,实现 AI 自治功能的调用;

  • 集成基于 openGauss exporter 的采集能力,实现监控、采集、诊断和优化端到端能力。慢 SQL 根因分析实现基于 KNN 算法和根因特征权重矩阵的慢 SQL 根因分析召回,覆盖 20+慢 SQL 场景;

  • 支持分区表索引推荐能力;

  • 实现轻量化趋势预测能力,实现线性时序、非线性时间和周期时序多种场景下的预测能力。

2、DB4AI 库内 AI 引擎
  • 提供原生 SQL 语法(Create Model、Predict By),实现简易 AI 训练和推理执行;

  • 通过内置 AI 原生算子方式,与优化器、执行器完美融合,实现性能超越 MADlib 10 倍;

  • 支持 10 种常用机器学习算法,包括线性回归、逻辑回归、SVM、KMeans、XGBoost、PCA 等,实现普惠 AI。

五、分布式解决方案

1、支持使用中间件 ShardingSphere 构建分布式数据库

基于分布式中间件 ShardingSphere 使 openGauss 具备分布式数据库能力。使用 16 个鲲鹏 920 节点组网完美 sharding 性能>1000 万 tpmc。

2、支持 Kubernetes 部署分布式数据库

支持一键式部署分布式数据库,通过 patroni 实现计划内 switchover 和故障场景自动 failover, 通过 haproxy 实现 openGauss 主备节点读写负载均衡,通过 ShardingSphere 实现分布式能力,所有功能打包至镜像并提供一键式部署脚本。

六、轻量版

轻量版定位是在软硬件资源受限场景下仍可应用 openGauss,例如边缘场景。其保留了企业版大部分的特性。轻量版的特点如下:

(1)占用资源少:本次发布轻量化版本安装包实际大小小于 30MB,空载内存小于 250MB。

(2)易安装:相比于企业版,其安装流程更简单快捷。

(3)轻量版与之前版本大部分特性功能保持兼容。

七、工具链

1、Data Studio 工具代码正式开源

DataStudio 是面向开发人员和数据库管理员的图形化通用集成开发环境。它简化了 openGauss 数据库的开发和管理,支持如下功能:

(1)管理和创建数据库、模式、表、索引等各类数据库对象。

(2)执行 SQL 语句或 SQL 脚本,高效进行 SQL 开发。

(3)创建和执行 PL/SQL 语句,支持存储过程调试。

(4)表数据增、删、改、查操作,导入和导出表数据、DDL、连接信息。

(5)支持 SQL 执行历史记录查询,显示执行计划、ER 图。

2、MySQL 到 openGauss 的迁移工具 chameleon

chameleon 工具是一个基于 Python 语言的 MySQL 到 openGauss 的实时复制工具。该工具提供了初始全量数据的复制以及增量数据的实时复制能力,可实现数据从 MySQL 迁移至 openGauss。

八、其他企业级特性

1、发布订阅

企业版支持发布订阅,此特性基于逻辑复制实现,其中有一个或者更多订阅者订阅一个发布者节点上的一个或者更多发布。订阅者从它们所订阅的发布节点拉取数据。实现跨数据库集群的数据实时同步。

2、行存表压缩

支持行存表数据压缩,提供通用压缩算法,通过对表和索引数据页的透明页压缩和维护页面存储位置的方式,做到高压缩、高性能。磁盘持久化用 2 个文件存储,分别是压缩地址文件(扩展名.pca)和压缩数据文件(扩展名.pcd)。

3、Libpq 支持 ipv6 和多 IP

Libpq 驱动支持 IPV6 能力;Libpq 支持多 IP 能力,外部使用 Libpq 库时,可配置主备多个 IP,在连接字符串中, host、hostaddr 和 port 选项接受以‘,’分割的字符串。

开放治理,共建、共享、共治最具创新力的数据库开源社区

作为一个开源社区,openGauss 秉承共建、共享、共治的理念。通过开放、成熟的治理,与企业、伙伴、开发者,共同建设开源社区。截至目前,全球下载量超过 57 万,遍布全球 85 个国家,608 个城市,110 家企业签署企业贡献者协议 CLA 加入到社区,来自企业和高校的 2800 名开发者积极参与 openGauss 社区贡献,同时 openGauss 已经在政府、金融、能源、教育、制造等行业规模商用落地。未来 openGauss 将围绕客户场景和需求持续构建更多竞争力,打造最具创新力的数据库开源社区。

感谢 openGauss 社区所有贡献者!