【国产数据库】GBase学习④ - GBase 8c 介绍

【国产数据库】GBase学习④ - GBase 8c 介绍

  • GBase 8c 介绍
  • GBase 8c 分布式架构介绍

GBase 8c 介绍

MOT是一种内存数据库存储引擎,其中所有表和索引完全驻留在内存中。同时,事务更改(WAL)同步到磁盘上来保证严格一致性。

GTM采用基于全局事务提交时间戳的方案代替全局活跃事务列表的方案来管理全局事务。
DN节点部分场景仍采用活跃事务列表的方式管理事务。

分布式数据库的诞生是为了解决集中式数据库横向扩展的问题。
中间件的分布式数据库,底层不具备分布式能力,跨节点事务能力、关联能力较差。
采用LSM-tree的分布式数据库,适用于写多读少的场景,读性能不高。
多模多态的分布式数据库GBase 8c 兼具高扩展性与高性能,适合各类复杂业务场景。

GBase 8c 的原位更新技术,是将dead tuple 集中存放在undo的方式。
GBase 8c 的原位更新技术类似于mysql undo的功能。

GBase 8c 支持弹性伸缩,可以进行在线扩容/缩容的操作,对上层业务无影响。
GBase 8c 的扩容/缩容操作,数据库分布对上层应用无感知。
GBase 8c 支持hash的数据分布策略。
GBase 8c 具备灰度发布的能力,可以保证业务持续可用的情况下,进行数据库版本升级和功能发布。

GBase 8c 是首个基于openGauss3.0构建的分布式数据库。
GBase 8c 支持行存、列存、内存三种存储模式。
GBase 8c 支持单机、主备、分布式三种部署形态。

GBase 8c 采用了业界主流的2pc的方式,解决分布式一致性的问题。

GBase 8c 的列存引擎适用于数据统计,报表分析。
GBase 8c 的行存表和列存表可以互相调用。
GBase 8c 的内存引擎完全支持ACID特性,包括严格的持久性和高可用性支持。

GBase 8c 目前的方案是按表做hash,做扩容/缩容。建表时可指定该表为一致性hash表或普通表,其中一致性hash表在扩缩容时性能较好,但是因为表拆分太多导致增删改查都慢,一般建议大表可以创建一致性hash,小表采用普通hash表(建表默认是普通hash)。

GBase 8c 检测到全局死锁时,将自动解除。

GBase 8c 当CN故障后,其他存活的CN节点,将自动接管。

GBase 8c 的数据迁移平台,支持GBase 8c 到GBase 8a的实时同步。

GBase 8c 的CN,DN,GTM组件都支持在线扩容。
GBase 8c 的在线扩容功能,支持任意节点的扩容。

GBase 8c 分布式架构介绍

8c 各部分作用:

  • GHA Server 高可用管理器;管理整个集群个节点的高可用状态,类似于patroni;主备高可用架构,主备之间可以配置同步或异步的方式。
  • DCS 集群状态管理器;存储各个节点的高可用状态,负责在故障情况下判断集群各个节点状态;采用Raft的复制协议。
  • GTM 全局事务管理器;负责生成并维护全局时间戳,保证集群数据一致性;主备高可用架构,主备之间可以配置同步或异步方式。
  • CN/Coordinator 协调器;对外提供接口,负责进行SQL解析和优化、生成执行计划,并协调数据节点进行数据查询和写入;采用完全对等的部署方式。
  • DN/Datanode 数据节点;用于处理存储本节点相关的元数据以及所采的业务数据的分片;主备高可用架构,主备之间可以配置同步或异步方式。

GBase 8c 多模多态分布式数据库:分布式形态、主备形态、单节点形态。

分布式架构:

  • 全局事务管理器:生成并维护全局事件戳,保证集群数据强一致性
  • 协调器:负责接收客户端请求,进行SQL解析和优化、生成执行计划,并协调数据节点进行数据查询和写入;
  • 数据节点:完成数据存储和本地数据查询和写入

分布式安装与卸载:
检查配置—集群规划—安装准备(关闭防火墙-关闭SELINUX-环境检查-创建用户并配置sudo-NTP同步-配置节点互信)—上传并解压包—编辑配置文件—安装集群

配置要求:

配置项 CPU 内存 硬盘 网络
物理机 2.4GHz以上 128GB以上 500G+ 10GB+
虚拟机 2.4GHz以上 单节点8G及以上 100G+ 1000MB或10GB=

软件配置要求:
Linux操作系统:
(ARM:CentOS7.6-7.9 麒麟V10 统信V20 Debian 10.3 Uniontech 20 Redhat openEuler 20.3LTS
X86:CentOS7.6-7.9 麒麟V10 统信V20 Debian 10.3 Uniontech 20 openEuler 20.3LTS)
Linux文件系统: 剩余inode个数>15亿(推荐)

依赖检查
rpm -q bison flex patch bzip2

指令集
cat /proc/cpuinfo | grep rdtscp

yml(gbase8c.yml)介绍:

host:由数据节点(CN、DN)访问连接的IP
port:集群节点连接端口
agent_host:由控制面访问连接的IP
role:节点角色类型,gtm、cn、dn节点必须设置的参数
agent_port:高可用端口号
work_dir:节点数据存放路径
cluster_type:集群类型,分布式下参数值为multiple-nodes
pkg_path:安装目录 owner为gbase
prefix:运行目录 owner为gbase
version:安装包版本,仅修改后两位数字

你可能感兴趣的:(GBase学习,数据库,mysql,java)