GBase 8c 学习笔记 001 —— GBase 8c V5 产品简介

GBase 8c 学习笔记 001 —— GBase 8c V5 产品简介

概念

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

产品简介

“多模多态”之多模——多存储模式

GBase 8c支持多个存储引擎以满足不同场景的业务需求

  • 行存储引擎: 主要面向OLTP场景设计,例如订货、发货、银行交易系统;
  • 列存储引擎: 主要面向OLAP场景设计,例如数据统计报表分析系统;
  • 内存引擎: 主要面向极致性能场景设计,例如银行风控场景

“多模多态”之多态——多部署模式

  • 分布式形态
    • 方案: GBase 8c 分布式形态,支持分布式全组件冗余的高可用,支持计算存储分离的部署。
    • 优势: 可以根据业务需求对计算和存储能力分别进行水平扩展,适用于大数据量高并发且追求数据高安全性的场景。
  • 主备式形态
    • 方案: GBase 8c 主备式形态,支持一主多备部署方式。
    • 优势: 部署简洁,交付高效,适用于较低数据量、追求极致单机性能且要求数据备份的**场景。
  • **单节点形态
    • 方案: GBase 8c 单节点形态,支持单节点部署。
    • 优势: 低成本,部署简洁。

GBase 8c 架构——分布式形态

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

GBase 8c 架构——主备/单机形态

  • HA Center: GBase 8c高可用模块,负责在故障情况下判断节点状态并进行状态切换。
  • GBase 8c主(备): 负责存储业务数据(支持行存、列存、内存表存储)、执行数据查询及向客户端驱动返回执行结果。
  • Storage: 服务器的本地存储资源,持久化存储数据。

GBase 8c 产品家庭

  • GBase 8c Platform 通用管理平台
    • 系统部署
    • 配置管理
    • 运维监控
    • 告警管理
    • 日志审计
    • 备份恢复
    • 扩容缩容
    • 灰度发布
    • 性能分析
    • ……
  • GBase 8c 数据库
    • 稳定可靠
    • 兼容国产生态
    • 强一致性分布式事务
    • 弹性伸缩
    • 兼容主流语法
    • 部署灵活
  • GBase 8c DMT数据迁移平台
    • 数据库对象/数据迁移
    • 迁移结果比对
    • 支持Oracle、MySQL、PostgreSQl等主流数据库的迁移

产品特性

核心特性

  • 稳定可靠
    • 全局无单点,高可用达99.999%;
    • 支持两地三中心,数据永不丢失;
    • 支持异地多活,业务连续在线;
  • 分布式事务
    • 强一致性分布式事务
    • 支持RC和RR隔离级别
  • 主流数据库兼容
    • 支持标准SQL语法
    • 兼容PostgreSQL语法
    • 兼容Oracle常见语法
  • 多模多态
    • 支持单机、主备式与分布式三种部署,支持行存、列存、内存三种存储引擎,满足用户各种业务需求。
  • 弹性伸缩
    • 支持在线扩容缩容
    • 联邦架构,计算存储分离
  • 生态兼容
    • 支持物理服务器部署、容器、私有云、混合云、公有云部署
    • 支持国产主流芯片、服务器、操作系统、中间件产品,服务完全本地化

OLTP特性

  • 完全支持 SQL-92、99、2003标准
  • 兼容主流数据库语法
  • 支持主流字符集
  • 支持常见数据类型
  • 支持自定义数据类型
  • 支持具有ACID特性的事务
  • 支持RC和RR事务隔离级别
  • 支持视图、索引(B-TREE索引、GIN倒排索引、Gist空间索引等)、触发器、外部表
  • 支持AI功能。数据库自治运维,数据库驱动AI,数据库内AI功能,ABO优化器
  • 支持MVCC、悲观锁和闪回功能
  • 支持数据库表分区

分布式特性

  • 并行处理
    • 支持多分片数据并行处理和执行
  • 并发事务
    • 支持多节点集群部署下,多节点事务并发和数据写入,同时满足事务隔离级别要求
  • 数据分片
    • 根据指定的一列或多列数据,采用一定算法进行映射支持复制表、分布表
  • 数据安全
    • 强一致性的多副本数据安全
  • 高可用
    • 多节点部署,单节点发生故障不会导致服务中断
  • 分布式事务处理
    • 支持完备的分布式事务处理能力,包括事务的原子性、一致性、隔离性、数据持久性
    • 支持跨节点事务,支持多节点写操作

企业级特性

  • 弹性伸缩
    • 在线扩容/缩容、灰度发布
  • 异地多活
    • 支持异地多活部署
    • 异地多活数据强一致性
  • 两地三中心
    • 支持两地三中心部署,数据中心之间采用异步数据复制支持数据完整性和最终一致性
      *** 数据安全特性**
    • 支持自主访问控制、基于安全标签的强制访问控制、用户角色三权分立、审计、加密、身份识别与验证等安全功能。
    • 支持案例管理功能和审计功能等。
  • CDC(Changed Data Capture)
    • 支持CDC,CDC提供强一致性事务支持
  • 数据备份还原
    • 对数据进行物理/逻辑备份还原,全局备份还原以及增量备份还原。
  • 国产生态
    • 多种国产CPU:飞腾/鲲鹏/海光等
    • 基于国产CPU的服务器:浪潮/泰山/华三/曙光等
    • 国产操作系统:麒麟/统信等

管理平台特性

  • 部署配置
    • 系统部署
    • 配置管理
    • 扩容缩容
    • 滚动升级
  • 系统管理
    • 数据库对象管理:模式、表、视图、索引
    • 数据库用户管理:用户、角色、权限
  • 运维监控
    • 系统信息查看
    • 性能指标监控
    • 日志分析
    • 告警管理
  • 企业特性
    • 备份恢复
    • 跨数据中心同步
    • 数据加载
    • 数据双向同步

核心技术

数据分布策略

  • 复制表: 每个节点上都复制一份数据关联时在节点本地完成(全量复制)
  • 分布表: 一份数据根据某个键值水平拆分到不同的节点上(水平拆分)

事务处理

机制
  • 刚性事务: 保障事务的ACID
  • 本地事务:直接处理,落在本地节点的事务直接走本地事务引擎,无须启动分布式事务
  • 跨节点事务:按需分配资源,多节点事务,当需要时再加入节点
  • 自动路由: 本地/分布式引擎自动选择
本地事务
  • 根据应用SQL判断Sharding落到单HG或者应用指定HG,此时只启动本地事务,直接发给具体HG的节点。
  • 性能高。不走两阶段提交过程,并发度高,满足吞吐量要求。
Begin /*+db.t1.id=1*/;
1. Select * from t1 where id = 1; //单节点查询
2. insert into t1 values(1, 'aaa'); //单节点写入
3. Update t1 set name = 'bbb' where id = 1; //
单节点更新
Commit /*+db.t1.id=1*/;
分布式事务
  • 跨节点的事务,通过GTM管理来执行分布式事务。
  • 刚性事务。严格的两阶段提交过程,实现跨节点分布式事务。
Begin; //Transaction Start
1. Select * from t1 where id = 1; //单节点查询
2. Select * from t1, t2 where t1.id = t2.id;//跨节点查询
3. insert into t1 values(1, 'aaa'); //单节点写入
4. Update t1 set name = 'bbb' where id = 1; // 单节点更新
5. Delete from t2 where id < 10; //跨节点删除
Commit; //Transaction Commit

查询优化

单表查询下推
  • 分片键上的where条件, 直接下推到对应DN执行
  • 非分片键where条件, DN先计算,CN做结果汇总,order by可以直接下推到DN
JOIN查询下推
  • 分片键上的join条件, 直接下推到对应DN执行
  • 非分片键join条件, DN直接做数据交换,避免CN成为性能瓶颈

高可用

同机房、同城/异地多活
  • 同机房
    • 数据库集群部署在同一机房的不同服务器/机架上。
    • 可以抵御硬件级别故障,不能抵御城市级别和机房级别灾难。
    • 故障自动切换,RPO=0,RTO秒级。
  • 同城
    • 数据库集群部署在同一城市的不同机房间。
    • 可以抵御硬件级别故障和机房级别灾难,不能抵御城市级别灾难。
    • 故障自动切换,RPO=0,RTO秒级。
    • 同城容灾需要其中两机房之间距离小于50千米。
异地灾备

支持异地灾备

  • GBase 8c集群不同节点采用各自对应的高可用部署方式,两地间采用异步复制的备份方式。
  • 可以抵御硬件级别故障和机房级别、城市级别灾难,两地之间距离可以大于1000千米。
异地多活

支持异地多活

  • GBase 8c支持多集群部署,集群间数据双向同步,数据以某一维度进行分区调度。
  • 可以抵御硬件级别故障和机房级别、城市级别灾难,两地之间距离可以大于1000千米。

核心技术

基于全局事务提交时间戳TSO
  • GTM负责维护全局时间戳CSN;
  • 当开启事务时从GTM获取当前的时间戳
  • 当事务提交的时候重新获取一遍时间戳(CSN+1)
全局死锁解除
  • 全局死锁
    • 数据库集群内,多个CN、DN上的多个数据库进程间互相调用资源而出现循环等待的情况,称为全局死锁。
  • 全局死锁解除
    • 节点间检测出死锁环之后,将首个发现死锁环节点的事务退出的操作,从而解决全局死锁的问题。
原位更新
  • GBase 8c采用原位更新技术
    • 将new tuple放在原位,将dead tuple集中存放在undo;
    • 去除vacuum,保证数据回收时IO稳定;
    • 数据空间缩减。
灰度发布
  • GBase 8c 支持灰度发布,可以在保证业务持续可用的条件下,进行数据库版本升级和发布。
  • 在灰度发布的过程中,GBase 8c 可以秒级切换,具备系统持续可用的能力。
弹性收缩
  • GBase 8c 具备弹性伸缩能力,用户可以根据业务需求和策略设置伸缩规则。在业务需求增长时,系统自动增加数据库节点以保证计算存储能力,在业务需求下降时,系统自动减少数据库节点以节约成本。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值