了解产品

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

产品特点

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

  • 高性能

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

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

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

  • 易运维

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

    • 采用木兰宽松许可证协议,允许对代码自由修改,使用,引用。
    • 数据库内核能力全开放。
    • 提供丰富的伙伴认证,培训体系和高校课程。
    • openGauss相比其他开源数据库主要有多存储模式,NUMA化内核结构和高可用等产品特点。

软件架构

openGauss主要包含了openGauss服务器,客户端驱动,OM等模块,本章将介绍这些模块之间的相互关系。

openGauss软件的架构如图1所示。在openGauss的文档中,将openGauss服务器称为实例。

图 1 软件架构

了解产品 - 图1

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

表 1 模块说明

名称

描述

说明

OM

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

不同于服务器和客户端驱动模块,OM为用户提供了相关工具对openGauss实例进行管理。

客户端驱动

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

负责接收来自应用的访问请求,并向应用返回执行结果。客户端驱动负责建立到openGauss实例的链接,把应用的SQL命令传输给openGauss实例,接收openGauss实例命令执行结果。

客户端驱动和应用运行在同一个进程内,部署在同一个物理节点。

openGauss主(备)

openGauss主(备)。负责存储业务数据(支持行存、列存、内存表存储)、执行数据查询任务以及向客户端驱动返回执行结果。

负责存储业务数据、执行数据查询任务以及向客户端驱动返回执行结果。

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

Storage

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

-

典型组网

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

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

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

表 2 网络划分

类型

描述

数据库管理存储网络

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

前端业务网络

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

该典型组网有如下优点:

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

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

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

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