openGauss与GaussDB系统架构对比

openGauss与GaussDB系统架构对比

系统架构对比

openGauss架构

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

组件名称 描述
OM 运维管理模块(Operation Manager)。提供数据库日常运维、配置管理的管理接口、工具。
CM 数据库管理模块(Cluster Manager)。管理和监控数据库系统中各个功能单元和物理资源的运行情况,确保整个系统的稳定运行。
DN Datanode主备实例节点。负责存储业务数据、执行数据查询任务以及向客户端返回执行结果。openGauss实例包含主、备两种类型,支持一主多备。建议将主、备openGauss实例分散部署在不同的物理节点中。
客户端驱动 客户端驱动(Client Driver)。负责接收来自应用的访问请求,并向应用返回执行结果。客户端驱动负责与openGauss实例通信,发送应用的SQL命令,接收openGauss实例的执行结果。
Storage 服务器的本地存储资源,持久化存储数据。

GaussDB架构

GaussDB是华为自主创新研发的关系型数据库,既支持分布式部署,也支持集中式部署。

组件名称 描述
OM 运维管理模块(Operation Manager)。提供数据库日常运维、配置管理的管理接口、工具。
CM 集群管理模块(Cluster Manager)。管理和监控分布式系统中各个功能单元和物理资源的运行情况,确保整个系统的稳定运行。
CN 协调节点(Coordinator),负责接收来自应用的访问请求,并向客户端返回执行结果;负责分解任务,并调度任务分片在各DN上并行执行。
GTM 全局事务管理器(Global Transaction Manager),负责生成和维护全局事务ID、事务快照、时间戳、Sequence信息等全局唯一的信息。
DN 数据节点(Datanode),负责存储业务数据、执行数据查询任务以及向CN返回执行结果。
ETCD 分布式键值存储系统(Editable Text Configuration Daemon)。用于共享配置和服务发现(服务注册和查找)。
Storage 服务器的本地存储资源,持久化存储数据。

⭐️各组件的在openGauss和GaussDB不同部署形态中的情况如下:

组件名称 OM CM CN GTM ETCD DN
openGauss主备 有 有 无 无 无 有
Gauss集中式 有 有 无 无 有 有
Gauss分布式 有 有 有 有 有 有

GaussDB集群管理组件

GaussDB集群管理组件(CM)包含以下模块:

  • OMM :对应的二进制文件为om_monitor。管理服务组件,由crontab定时任务控制拉起(周期为1min)。OMM组件主要负责OMM、etcd、cm_agent进程的保活和启停。
  • etcd :对应的二进制文件为etcd。管理服务组件,由OMM组件拉起(周期为1s)。etcd是集群高可用的顶层组件,负责协助CMS选主、持久化集群仲裁信息。etcd组件故障会导致CMS无主,进而导致无法查看集群状态、无法进行高可用切换。
  • CM Agent :对应的二进制文件为cm_agent 。管理服务组件,由OMM组件拉起(周期为1s)。CMA主要负责CMS、DN进程的保活和启停,仲裁指标采集、仲裁命令执行等。CMS组件故障会导致以下影响:
    • CMS、DN进程和保活能力丢失;
    • 节点脱管,实例级故障检测能力丢失,被管理实例状态未知。
  • CM Server :对应的二进制文件为cm_server 。管理服务组件,由CMA组件拉起(周期为1s)。CMS是集群的仲裁中心,依赖etcd(或启用DCC)实现自助选主。CMS组件故障会导致以下影响:
    • 集群状态无法查看;
    • 整个集群的高可用切换能力丢失(DCF自仲裁模式除外);
    • 容灾barrier无法推进;
    • DCC模式下,无法持久化集群信息。
  • DN :对应的二进制文件为gaussdb 。数据服务组件,由CMA组件拉起(周期为1s)。DN组件故障会产生以下影响:
    • 单异步备故障:集群无影响;
    • 单同步备故障:数据服务卡顿,卡顿时间取决于异步备到同步的日志量;
    • 主故障:数据服务不可用;
    • 多数派故障:数据服务卡顿直至恢复多数派或者降副本。

组件相关的日志路径如下:

复制代码
$GAUSSLOG/cm/cm_ctl/cm_ctl*.log
$GAUSSLOG/cm/cm_agent/*.log
$GAUSSLOG/cm/cm_server/*.log
$GAUSSLOG/cm/om_monitor/*.log

Reference

【1】https://docs.opengauss.org/zh/docs/5.0.0/docs/AboutopenGauss/系统架构.html

【2】https://support.huaweicloud.com/productdesc-gaussdb/gaussdb_01_003.html

【3】https://blog.csdn.net/HCIS_HENGCHI/article/details/133774888

相关推荐
HRTOS9 小时前
HRTOS:一个名字背后的目标——不断逼近硬实时
经验分享·单片机·系统架构·51单片机
沫璃染墨14 小时前
《从零入门Linux系统篇(五十七):线程篇·十——生产者消费者模型进阶:从环形缓冲区到POSIX信号量》
linux·运维·服务器·开发语言·c++·系统架构·信号处理
树下困觉眯18 小时前
View绘制流程学习--获取WindowManager的三种方式
android·系统架构·view design
沫璃染墨2 天前
《从零入门Linux系统篇(五十六):线程篇·九——生产者消费者模型:从条件变量到BlockingQueue实现》
linux·服务器·c++·驱动开发·设计模式·架构·系统架构
艺杯羹2 天前
Anthropic突袭发布Claude Code Mods!用TypeScript编写智能体中间件:告别AI误删与失控
人工智能·typescript·系统架构
沫璃染墨2 天前
《从零入门Linux系统篇(五十四):线程篇·七——互斥锁底层原理:从原子交换到线程竞争与锁实现》
linux·运维·服务器·开发语言·c++·驱动开发·系统架构
诚心呈意共享外卖配送系统3 天前
共享骑手与聚合配送的区别及系统架构设计:运力池与订单聚合如何落地
架构·系统架构·创业创新
风123456789~3 天前
【架构设计】第17章 通信系统架构设计 2/2
系统架构
诚心呈意共享外卖配送系统3 天前
众包配送调度系统选什么?聊聊派单、抢单、合单与结算的技术设计
架构·系统架构·创业创新
abigalexy4 天前
图解AI应用架构设计
人工智能·ai·架构·系统架构·aigc