华为正式开源openGauss数据库,采用木兰宽松协议,半年一个小版本

作者 | 田晓旭

6 月 30 日,华为正式开源单机数据库 openGauss,开源协议采用木兰宽松许可证 v2。

2019 年 5 月,华为发布了人工智能原生(AI-Native)数据库 GaussDB,2019 年 9 月,华为宣布将开源 GaussDB,开源后将其命名为 openGauss。2020 年 6 月 30 日,openGauss 正式面世,数据库源代码对外开放。

据了解,目前 openGauss 版本规划是按照 6 个月一个小版本,1 年一个大版本的节奏,版本生命周期暂定 3 年。

什么是 openGauss 呢?openGauss 主页给出的官方解释是:

openGauss 是一款开源关系型数据库管理系统,采用木兰宽松许可证 v2 发行。openGauss 内核源自 PostgreSQL,深度融合华为在数据库领域多年的经验,结合企业级场景需求,持续构建竞争力特性。同时 openGauss 也是一个开源的数据库平台,鼓励社区贡献、合作。

openGauss 是单机系统,业务数据可存储在单个物理节点上,数据访问任务由服务节点执行,通过服务器的高并发实现对数据处理的快速响应,通过日志复制将数据复制到备机,实现数据的高可靠和读扩展。目前 openGauss 支持两种部署模式,单机部署和一主多备部署。

openGauss 逻辑架构图

与其它开源数据库相比,openGauss 具备支持多存储模式、NUMA 化内核结构和高可用等特点:

  • 多存储模式:支持行存储、列存储以及内存表;

  • NUMA 化内核结构:关键数据结构分区、关键数据结构 NUMA 化、关键业务线程绑核;

  • 高可用:支持主备同步、异步多种部署模式,支持数据页 CRC 校验,支持备机并行恢复、10 秒内升主。

2019 年,华为宣布开源 GaussDB 时,有博主发文称:“GaussDB 内核具备超越现有开源数据库 MySQL、PostgreSQL 的极致性能,在鲲鹏 920 服务器上 TPC-C 性能能够达到 150 万 TPMC,具备业内最快的故障恢复时间。”

在 openGauss 主页,我们也确实看到了这样的描述:openGauss 两路鲲鹏性能 150 万 tpmc,故障切换时间 RTO<10s。openGauss 的内核虽然是源自 PostgreSQL,但是在 PostgreSQL 基础上又做了很多优化内核的工作,例如将进程模型改为线程模型、将 XID 事务号从 32 位改为 64 位、使用 etcd 集群存储全局事务号、优化了集群日志、监控视图、安装部署、时间线 timeline 等。

目前 openGauss 主要支持两大应用场景,一是大并发、大数据量、以联机事务处理为主的交易型应用,如电商、金融、O2O、电信 CRM/ 计费等,二是物联网数据,物联网场景下传感监控设备多、采样率高、数据存储为追加模型,操作和分析并重的场景。

相关链接

  • openGauss 主页:

    https://opengauss.org/zh/

  • GitHub 镜像:

    https://github.com/opengauss-mirror

  • 源码开放地址:

    https://gitee.com/opengauss

点个在看少个 bug :point_down: