本文整理介绍一下openGauss,以解初次接触者之谜~
1.什么是openGauss?
内部自用孵化 —> 联创产品化 —> openGauss开源
源自PG开源数据库,孵化自华为GaussDB商业数据库,具备企业级能力的开源数据库。
openGauss是一款携手伙伴共同打造的、全面友好开放的、全球领先的企业级开源关系型数据库,它具有面向多核的极致性能、全链路的业务和数据安全以及AI调优和高效运维的能力。其采用的是木兰宽松许可证v2发行。openGauss深度融合华为在数据库领域多年的研发经验,结合企业级场景需求,持续构建竞争力特性。
openGauss内核早期源自PostgreSQL9.2 和PG XC;
openGauss总代码行约120w行:1)其中内核95w行,内核中修改和新增约70w行,也就是说约74%是自研;2)保留了PG的接口和公共函数约25w行;
openGauss着重在架构、事务、存储引擎、优化器、鲲鹏芯片优化上进行了深度的修改。
补充一下自研的概念:
首先,自研数据库有两条路径,第一条路径是基于开源数据库。刚开始直接用开源数据库,用到一定阶段再基于开源数据库打补丁,成为开源数据库的commiter,然后再进一步改变开源数据库中一些非常核心的模块,基于开源数据库做半自研,直到最终完完全全掌控开源数据库。第二条路径是从头开始完全自研,这是一条鲜有人选的道路,一条从零开始自研的路径。两条路径其实并不存在孰优孰劣,但这两条路径的终局都是为了解决中国数据库当前所面临的自主创新的问题。
2.面向的对象
数据库管理员、数据库开发者、数据库使用者等。
3.应用场景
交易型应用、物联网应用等。

4.软件架构
openGauss主要包含了openGauss服务器,客户端驱动,OM等模块,penGauss软件的架构如下所示。在openGauss的文档中,将openGauss服务器称为实例。

说明:
|
名称
|
描述 |
说明 |
|
OM |
运维管理模块(Operation Manager)。提供openGauss日常运维、配置管理的管理接口、工具。 |
不同于服务器和客户端驱动模块,OM为用户提供了相关工具对openGauss实例进行管理。 |
|
客户端驱动 |
客户端驱动(Client Driver)。负责接收来自应用的访问请求,并向应用返回执行结果;负责与 openGauss实例的通信,下发SQL在openGauss实 例上执行,并接收命令执 行结果。 |
负责接收来自应用的访问请求,并向应用返 回执行结果。客户端驱动负责建立到
openGauss实例的链接,把应用的SQL命令 传输给openGauss实例,接收openGauss实 例命令执行结果。 客户端驱动和应用运行在同一个进程内,部 署在同一个物理节点。 |
|
openGauss主
(备) |
openGauss主(备)。负
责存储业务数据(支持行 存、列存、内存表存 储)、执行数据查询任务 以及向客户端驱动返回执 行结果。 |
负责存储业务数据、执行数据查询任务以及 向客户端驱动返回执行结果。 openGauss实例包含主、备两种类型。支持
一主多备。建议将主、备openGauss分散部 署在不同的物理节点中。 |
|
Storage |
服务器的本地存储资源, 持久化存储数据。 |
- |
5.优势
openGauss相比于其他开源数据库主要有以下几个主要特点:
● 高性能
– 提供了面向多核架构的并发控制技术结合鲲鹏硬件优化,在两路鲲鹏下TPCC Benchmark达成性能150万tpmc。
– 针对当前硬件多核numa的架构趋势, 在内核关键结构上采用了NumaAware的数据结构。
– 提供Sql-bypass智能快速引擎技术。
● 高可用
– 支持主备同步,异步以及级联备机多种部署模式。
– 数据页CRC校验,损坏数据页通过备机自动修复。
– 备机并行恢复,10秒内可升主提供服务。
● 高安全
支持全密态计算,访问控制、加密认证、数据库审计、动态数据脱敏等安全特 性,提供全方位端到端的数据安全保护。
● 易运维
– 基于AI的智能参数调优和索引推荐,提供AI自动参数推荐。
– 慢SQL诊断,多维性能自监控视图,实施掌控系统的性能表现。
– 提供在线自学习的SQL时间预测。
欢迎补充~




