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 主页:
GitHub 镜像:
源码开放地址:
评论