GaussDB 100采用Shared-nothing架构的分布式系统,它是由众多拥有独立且互不共享CPU、内存、存储等系统资源的逻辑节点组成。在这样的系统架构中,业务数据被分散存储在多个主机上,数据访问任务被推送到数据所在位置就近执行,通过控制模块的协调,并行地完成大规模的数据处理工作,实现对数据处理的快速响应。
单机部署产品架构请参见图1。
GaussDB 100提供多种不同的数据库CLI管理工具(例如gs_om、GaussRoach.py等),帮助用户更好地维护GaussDB 100。
- Database Manager是一款基于Web的数据库监控工具,提供丰富的界面展示,可有效监控多个集群数据库。通过管理员用户和普通用户区分查看和操作权限,对集群数据库进行安全的监控和运维操作。Database Manager提供的主要功能包括:
导入并监控集群
集群、主机和实例运行监控
数据库运行监控
故障诊断分析和上报
告警分析和上报
- Data Studio是一个集成开发环境,帮助数据库开发人员便捷地构建应用程序的一款工具,以图形化界面形式提供数据库关键特性。Data Studio主要为数据库开发人员提供以下功能:
浏览数据库对象。
创建和管理数据库对象(例如:数据库、user、表、索引)。
执行SQL语句和SQL脚本。
编辑和执行PL/SQL语句。
软件架构如图2所示。
各个模块的详细介绍请参见表1。
名称 | 描述 | 说明 |
---|---|---|
CM | 集群管理模块(Cluster Manager)。管理和监控分布式系统中各个功能单元和物理资源的运行情况,确保整个系统的稳定运行。 | CM由CM Agent、daemon和CM Server组成。
GaussDB 100提供了CM Server的主备实例方案,以保证集群管理系统本身的高可用性。正常情况下,CM Agent连接主CM Server,在主CM Server发生故障的情况下,备CM Server会主动升为主CM Server,避免出现CM Server单点故障。 |
DN | 数据节点(Datanode)。负责存储业务数据,执行数据查询任务以及向CN返回执行结果。 | 在集群中,DN有多个。每个DN支持设置多个存储备机。 DN主、备机1、备机2、备机3间的工作原理如下:
|
ETCD | ETCD是一个高可用的分布式键值(key-value)数据库。 | 负责存储集群各个节点和实例集群状态,便于集群CM管理各个实例。 在集群中,ETCD部署3~7个,推荐部署奇数(3、5、7)个,奇数个节点和其配对的偶数个节点相比,容错能力相同,却可以少一个节点。角色分leader和follower。ETCD leader和ETCD follower间工作原理如下:
|
Storage | 服务器的本地存储资源,持久化存储数据。 | - |