了解产品

openGauss是一款开源的关系型数据库,采用客户端/服务器、单进程多线程架构,支持单机和一主多备部署方式,备机只读,支持双机高可用和读扩展。

产品特点

openGauss相比于其他开源数据库主要有以下几个主要特点:

  • 高性能

    • 提供了面向多核架构的并发控制技术结合鲲鹏硬件优化,在两路鲲鹏下TPCC Benchmark达成性能150万tpmc。
    • 针对当前硬件多核numa的架构趋势, 在内核关键结构上采用了Numa-Aware的数据结构。
    • 提供Sql-bypass智能快速引擎、融合引擎技术。
  • 高可用

    • 支持主备同步、异步和级联备机多种部署模式。
    • 数据页CRC校验,损坏数据页通过备机自动修复。
    • 备机并行恢复,10秒内可升主提供服务。
  • 高安全

    支持全密态计算、访问控制、加密认证、数据库审计和动态数据脱敏等安全特性,提供全方位端到端的数据安全保护。

  • 易运维

    • 基于AI的智能参数调优和索引推荐,提供AI自动参数推荐。
    • 慢SQL诊断,多维性能自监控视图,实时掌控系统的性能表现。
    • 提供在线自学习的SQL时间预测。
  • 全开放

    • 采用木兰宽松许可证协议,允许对代码自由修改、使用和引用。
    • 数据库内核能力全开放。
    • 提供丰富的伙伴认证,培训体系和高校课程。

软件架构

openGauss是单机系统,在这样的系统架构中,业务数据存储在单个物理节点上,数据访问任务被推送到服务节点执行,通过服务器的高并发,实现对数据处理的快速响应。同时通过日志复制可以把数据复制到备机,提供数据的高可靠和读扩展。

openGauss支持主备部署,openGauss逻辑架构如图1所示。

图 1 openGauss逻辑架构图

了解产品 - 图1

图中各模块的含义详见表1

表 1 模块说明

名称

描述

OM

运维管理模块(Operation Manager),提供数据库日常运维、配置管理的管理接口、工具。

客户端驱动

客户端驱动(Client Driver),负责接收来自应用的访问请求,并向应用返回执行结果。客户端驱动负责与openGauss实例通信,发送应用的SQL命令,接收openGauss实例的执行结果。

openGauss(主备)

openGauss主备(Datanode),负责存储业务数据、执行数据查询任务以及向客户端返回执行结果。

openGauss实例包含主、备两种类型,支持一主多备。建议将主、备openGauss实例分散部署在不同的物理节点中。

Storage

服务器的本地存储资源,持久化存储数据。

典型组网

为了保证整个应用数据的安全性,建议将openGauss的典型组网划分为两个独立网络,前端业务网络和数据库管理存储网络。

图 2 典型组网
了解产品 - 图2

网络划分说明如表2所示。

表 2 网络划分

类型

描述

数据库管理存储网络

DBA通过此网络调用OM脚本管理和维护openGauss实例。同时,用于openGauss主备通信组网。数据库管理存储网络也是应用执行系统监控的网络。

前端业务网络

外部客户端通过此网络访问openGauss数据库。

该典型组网有如下优点:

  • 业务网络与数据库管理存储网络的隔离,有效保护了后端存储数据的安全。
  • 业务网络和数据库管理存储网络的隔离,可以防止攻击者通过互联网试图对数据库服务器进行管理操作,增加了系统安全性。

网络独占性及1:1的带宽收敛比是openGauss数据库网络性能的基本要求。因此,在生产系统中,对图1中的后端存储网络,需满足独占性及至少1:1收敛比的要求。例如,图2中,其本质是Fattree组网方式。为实现收敛比1:1,交换网络层级每提高一层,带宽增加一倍。图中每根加粗连接线代表80GE带宽,即8台物理机带宽上限之和。接入层每单台交换机下行带宽160GE,上行带宽160GE,收敛比1:1;汇聚层每单台交换机接入带宽320GE。

对于测试系统,上述要求可以适当降低。

图 3 数据库管理存储网络组网示例
了解产品 - 图3