GBase 8s 事务型数据库产品介绍
GBase 8s 事务型数据库产品介绍
一、产品基础定位与核心概述

1. 产品定义
GBase 8s 是国产事务型安全数据库,支持共享存储集群、两地三中心部署,具备百 TB 级数据承载能力,适配金融、电信核心交易场景和对信息安全性有较高要求的业务场景,可在 80% 以上场景替换 Oracle 及 Oracle RAC 集群。
2. 三大重要特性
- 强一致性 + 高性能 面向事务密集型业务,满足金融核心交易严苛的事务一致性与并发性能需求。
- 健壮的高可用能力 支持本地共享存储集群(SSC)架构,完整适配两地三中心容灾部署方案。
- 完善国产生态支持 兼容全栈国产处理器、国产操作系统、国产中间件软硬件生态。
3. 三大核心价值
- 金融级核心业务能力 严格满足事务 ACID 特性,系统可用性达 99.999%,适配核心交易系统高可靠要求。
- 海量数据、海量并发 最大支撑 200TB 业务数据,可承载 10000 并发连接请求,支撑高吞吐业务。
- 计算与存储分离,弹性扩展 支持分钟级弹性扩容、读写分离架构,混合业务性能线性扩展系数可达 0.7。
4. 整体架构分层
4.1. 上层应用接入层
- 接口层:兼容 JDBC、ODBC、ADO.NET、OCI 等标准驱动;适配东方通、中创、Druid、MyBatis 等国产中间件。
- 连接层:配套 Connection Manager 连接管理器统一管理数据库连接。
4.2. 数据库集群部署架构
- 本地部署 Primary 主服务节点搭配多组 SSC 共享存储节点,对接本地共享存储设备。
- 同城中心 部署 HAC 同城高可用组件,实现同城就近容灾切换。
- 异地灾备中心 部署 RHAC 异地容灾组件,通过网络链路完成异地数据同步,达成两地三中心架构。
4.3. 底层基础环境
硬件架构支持 x86_64;操作系统适配 Linux、UOS、麒麟;芯片兼容鲲鹏、龙芯、飞腾、申威、兆芯、海光等全品类国产 CPU。
5. 发展历程(2005-2020 关键节点)
| 年份 | 核心里程碑事件 |
|---|---|
| 2005 | 南大通用正式启动 GBase 8s 数据库研发工作 |
| 2009 | 发布 8s V8.3 版本,同步获取商用密码资质 |
| 2011 | 迭代 8s V8.3 版本,取得等保三级资质 |
| 2012 | 迭代 8s V8.3 版本,获取 3C 认证证书 |
| 2014 | 迭代 8s V8.3 版本,完成单品测试、入围 AK 名录 |
| 2015 | 推出 8s V8.4 版本,重点增强安全特性,拿下等保四级资质 |
| 2016 | 发布 8s V8.7 共享存储集群版本;完成等保三级资质、对比测试、组合测试、入围 AK 名录 |
| 2017 | 发布 8s V8.8 版本,全面强化安全特性;推出专用机版本,取得等保四级资质、SM 资质,完成一致性测试、升级测试 |
| 2019.12 | 8s V8.8 深度增强 Oracle 兼容性;完成等保四级续证、SM 资质续证、商用密码型号续证 |
| 2020 | 8s V8.8 首家参与信创标准测试,完成 BMZYJ 相关认证适配 |
二、核心产品架构
GBase 8s 采用自研多进程 / 多线程架构,区别于传统数据库单进程 / 每连接单进程低效模型,分为三层核心模块:共享内存、虚拟处理器 VP、分层存储。

1. 整体架构四层总览
| 层级 | 核心定位 | 关键组件 |
|---|---|---|
| 客户端 & 运维接入层 | 连接入口、运维管控、SQL 执行入口 | 企业管理器、DB-ACCESS、ONSTAT、Listener、CPU VP、SQLEXEC |
| 共享内存区 | 数据缓存、元数据管理、事务调度核心中枢 | Buffer Pool、日志缓冲区、锁表、LRU 队列、各类元数据表与缓存 |
| VP 虚拟处理器层 | 多类型任务分工调度 | 不同虚拟处理器各司其职,算力、IO、管控、扩展能力解耦,调度更精细,故障隔离性强 |
| 持久化存储层 | 数据与日志落地、备份恢复 | 数据文件、物理日志文件、逻辑日志文件、ON-BAR 备份工具 |
2. 客户端 & 运维接入层
承载客户端连接、运维管控、SQL 执行全链路入口能力:
- 运维工具组件 企业管理器、DB-ACCESS、ONSTAT:配套运维管理、会话查看、状态监控、数据库交互式访问工具; Listener:监听客户端网络连接请求,完成连接接入分发;
- 核心执行 VP
- CPU VP:负责 SQL 计算、事务逻辑、业务运算核心算力调度;
- SQLEXEC:承接 SQL 语句解析、执行计划生成、SQL 任务下发执行。
3. 共享内存管理
GBase 8s 共享内存四大分段:常驻内存段、缓冲池段、虚拟内存段、消息段,四段自上而下有序排布,各司其职构成数据库内核共享内存核心载体,支撑多 VP 线程、事务、IO、会话全流程运行。

3.1. 常驻内存段(基础管控核心区)
| 模块名称 | 核心功能解读 |
|---|---|
| Shared Mem Header | 共享内存全局头部,记录内存总大小、分段边界、初始化参数、全局锁基础信息,是整个共享内存的入口索引 |
| Buffer-header Table | 缓冲页头部元数据表,记录每个 Buffer 页归属表空间、脏页标记、引用计数、归属事务等元数据 |
| LRU Queues | 冷热页淘汰队列,管理 Buffer Pool 页面置换规则,热页留存、冷页淘汰,保障热点数据常驻内存 |
| Lock Table | 全局锁表,存放表级、行级、意向锁等锁资源信息,管控并发事务锁竞争、死锁检测、锁等待队列 |
| Physical Log Buffer | 物理日志缓冲区,缓存数据页修改前镜像,故障重启时用于页面回滚恢复,保障数据页一致性 |
| Logical Log Buffer | 逻辑日志缓冲区,缓存事务 DML 操作日志,用于备份恢复、RHAC/HAC 集群日志同步、时间点恢复 |
3.2. 缓冲池段(数据读写性能核心)
- 核心模块:Buffer Pool
- 作用:数据库磁盘数据页高速缓存,热点表页、索引页优先加载至内存,规避频繁磁盘 IO,是 OLTP 场景并发性能的关键组件,配合常驻段 LRU 队列完成页面调度。
3.3. 虚拟内存段(业务运行扩展资源区)
承载数据库运行时各类元数据、会话、缓存、计算资源,细分模块能力:
- 底层存储管控表
- Chunk Table/Mirrored-Chunk Table:管理磁盘 Chunk 块与镜像 Chunk 信息,管控存储扩容、故障镜像切换;
- Dbspace Table:数据库空间元数据,记录各类 Dbspace 归属、存储属性;
- Tablespace Table:表空间管理;Page Cleaner Table:后台刷页线程调度表,管控脏页后台落盘时机。
- 事务与会话管控
- Transaction Table:全局事务记录表,存储事务状态、回滚点、锁持有信息;
- User Table:用户权限、会话基础信息;Session/Thread Structures:会话上下文、VP 线程运行结构。
- 各类高速缓存
- Dictionary Cache:数据字典缓存(表结构、字段、索引、权限元数据),避免重复查询系统表;
- SQL Statement Cache:SQL 执行计划缓存,复用执行计划,减少硬解析开销;
- UDR Cache:自定义存储过程缓存,加速 UDR 重复调用。
- 计算与线程资源
- Sorting Pool:排序内存池,支撑 ORDER BY、GROUP BY、PDQ 并行查询排序运算;
- Thread Stacks/Thread Heaps:VP 线程栈、堆内存,承载线程运行私有资源;
- Big Buffers:大对象专属缓冲区,适配 TEXT/BYTE 等大对象读写;
- Global Pool:全局通用内存池,用于动态临时内存分配;
- Unallocated Memory:预留空闲内存,支撑运行时动态扩容分配。
3.4. 消息段(进程 / 客户端通信层)
- 模块:Client/Server IPC messages
- 作用:客户端与数据库服务端、集群多节点间进程通信缓冲区,承载 SQL 请求、结果集、集群同步指令、连接管控消息,实现跨进程 / 跨节点数据交互。
3. 进程 / 线程:虚拟处理器 VP(核心竞争力)
- 传统数据库缺陷:每连接新建独立进程,频繁上下文切换,大量占用 CPU 系统资源,高并发性能衰减;
- GBase 自研 VP 优势
- 内置独立线程库,不依赖操作系统原生线程,跨国产平台移植性极强;
- 用户态类协程调度,线程并发效率高,大幅降低操作系统上下文切换开销;
- 多类型 VP 分工解耦,业务、IO、审计、加密、网络任务隔离,互不抢占资源;
- 主流 VP 分类与用途:
| VP 类别 | 包含 VP | 核心职责 |
|---|---|---|
| 核心算力 VP | CPU VP(多实例) | SQL 运算、事务处理、CPU 密集型业务计算,核心算力载体 |
| IO 处理 VP | AIO VP(多实例)、PIO VP、LIO VP | AIO 负责业务数据异步读写;PIO/LIO 分别负责物理日志、逻辑日志的刷盘落盘 |
| 系统管控 VP | ADM VP、SHM VP、SOC VP、CSM VP、MSC VP、MQ VP、ADT VP | 承担系统管理、共享内存管控、安全管控、集群管控、消息队列、审计日志等后台管控能力 |
| 扩展能力 VP | WFS VP、IDSXML VP、Encrypt VP、UDF VP、Java VP、BTS VP、 | 分别适配文件服务、XML 解析、数据加密、自定义函数、Java 存储过程、全文检索等扩展业务能力。 |
4. 分层存储管理(物理 → 逻辑完整层级)
4.1. 物理存储层级
4.1.1. 单元基础定义与核心作用
| 物理单元 | 官方定义 | 载体形态 | 核心用途 |
|---|---|---|---|
| 块(Chunk) | 数据库专属物理磁盘最大存储单元 | 操作系统普通文件、裸设备、裸设备分区片段 | 构成数据库空间(Dbspace)的底层物理载体,是实例管理磁盘资源的基础单元,支持扩容、镜像、离线迁移 |
| 页(Page) | GBase 8s 读写磁盘的最小物理单元 | 块内划分的固定大小存储页(默认常见 2KB/4KB 等规格) | 数据库 IO 读写最小单位,存放行数据、索引条目、事务元数据,Buffer 缓存以页为单位管理 |
| 段(Extent) | 存储表数据的连续多个页的集合 | 同一块内连续分配的一组数据页 | 表、索引分配存储空间的基础粒度,一次性分配连续页减少磁盘碎片,提升顺序读写性能 |
4.1.2. 层级从属与协作关系
物理磁盘 → Chunk 块 → Extent 段 → Page 页 → 行数据 / 索引
- 块与页:块由大量连续页组成,页隶属于具体块,所有数据页最终都归属某一个 Chunk;
- 段与页:段是连续页集合,一张表会分配多个段,每个段内部页连续排布;
- 段与块:段只能在单个 Chunk 内部分配,不会跨块拆分段,保障存储连续性;
- 三者交集:表数据最终以段为单位分配页、页承载真实数据,全部托管在 Chunk 物理空间中。
4.2. 逻辑存储层级
数据库空间 Dbspace(承载日志、数据表)是最底层存储底座,创建数据库时必须指定归属 Dbspace;数据库内创建表时,表归属指定表空间,表空间依托 Dbspace 分配物理磁盘块。
完整层级链路:物理磁盘 Chunk → 数据库空间 → 数据库 → 表空间 → 表 / 索引
| 逻辑单元 | 核心定义 | 关键能力 & 承载内容 |
|---|---|---|
| 数据库空间(DBSpace) | 可容纳 1~32766 个块的顶层逻辑存储单元 | 承载数据库实例、数据表、逻辑日志文件、物理日志文件,是底层存储资源的容器底座,对接磁盘 Chunk 物理文件 |
| 数据库(Database) | 承载表与索引的业务逻辑单元 | 业务层面数据库对象集合,隔离不同业务库的表、视图、存储过程等业务对象 |
| 表空间(Table Space) | 绑定表 / 分段与索引的磁盘空间单元 | 分配目标表(含分区分段)、关联索引对应的全部磁盘存储空间,管控单表存储资源上限与存储位置 |
| 表(Table) | 关系型核心结构化数据单元 | 由列定义(字段名 + 数据类型)+ 多行业务数据组成,存储业务明细数据,是数据读写最小业务单元 |
-
数据库空间(Dbspace)
- 可拆分普通数据 Dbspace、物理日志 Dbspace、逻辑日志 Dbspace、临时 Dbspace,实现日志、业务数据、临时数据存储隔离;
- 支持 Chunk 扩容、镜像备份,保障底层存储可靠性与容量弹性。
-
数据库(Database) 业务租户、项目环境隔离载体,不同业务数据库权限、配置独立隔离,互不干扰。
-
表空间(Table Space) 精细化管控单表存储资源,可按业务冷热数据拆分不同表空间,配合存储介质(SSD / 机械盘)分层部署,优化读写性能;同时可独立管控表空间扩容、回收、迁移,运维更灵活。
-
表(Table) 业务数据载体,支持行级事务、约束、关联查询,支撑 OLTP 业务日常增删改查。
4.3. 专用存储分区
4.3.1. 物理日志
- 核心定义:修改数据页前先留存数据页前映像(旧数据页),该前置快照即为物理日志,专属存放在物理日志数据库空间。
- 核心作用:数据库异常宕机重启时,优先依据物理日志完成物理恢复,修复内存脏页未落盘导致的数据页损坏问题,后续再配合逻辑日志完成事务级逻辑恢复,保障数据一致性。
4.3.2. 逻辑日志
- 基础定义:记录数据库各类数据操作行为,存储于专属逻辑日志数据库空间。
- 灾难恢复流程:故障后先通过 L0/L1/L2 层级备份完成物理恢复,再依托逻辑日志备份回放事务操作,完成逻辑恢复,补齐备份后新增业务数据。
4.3.3. 临时空间
- 用途:专门用于存放临时表;
- 数据特性:数据库异常关闭后该空间数据不会保留;
- 日志规则:不会对其记录物理日志、逻辑日志,不参与事务恢复。
4.3.4. BLOB 空间
- 定位用途:专属逻辑存储单元,仅存放 TEXT、BYTE 大对象数据;
- 页规则:创建时指定 Blobpage 大小(页整数倍),同空间页尺寸统一、不同空间可自定义页大小;
- 读写机制:数据直接落盘读写,不经过共享内存;
- 日志规则:TEXT、BYTE 大对象不记录物理、逻辑日志。
4.3.5. 智能大对象空间
- 基础定位:存储智能大对象的逻辑存储单元,承载 CLOB 字符大对象、BLOB 二进制大对象,也支持用户自定义数据类型使用。
- 页规格规则:页大小不可自定义,固定和数据库数据页大小保持一致。
- 日志与容灾能力:数据会记录物理日志 + 逻辑日志,故障场景下支持完整数据恢复。
5. 并行查询 PDQ
支持 SQL 多线程并行执行,一条查询自动拆分为扫描线程、哈希连接线程、排序线程多层并行流水线,大幅提升 OLAP 统计分析性能,同时兼容 OLTP 在线交易混合负载。
四、三大高可用集群与两地三中心容灾方案
GBase 8s 提供三层集群,组合实现标准两地三中心架构,整体切换时间 ≤1 分钟,对业务应用完全透明。
1. SSC 本地共享存储集群

1.1. 整体架构
1.1.1 架构层级组成
- 上层应用层:多业务应用程序统一接入,无节点绑定限制;
- 接入调度层:连接管理器,统一承接应用连接、分发访问请求,屏蔽底层节点细节;
- 数据库节点层:1 个主节点 + 多个辅助节点,所有节点挂载同一份共享存储;
- 底层存储层:全局共享存储设备,全节点共用一份数据副本,不存在节点间数据同步冗余。
1.1.2. 核心管控组件:CM(集群管理器)
集群全局管控核心,负责集群状态监控、节点运维、故障检测、主节点选举、自动切换全流程自动化维护,无需人工介入干预集群日常运维。
1.2. 核心运行机制详解
1.2.1. 读写业务分工规则
- 主节点:唯一承载全量写入、DDL、事务修改类操作,保障数据写入一致性;
- 辅助节点:仅承接查询类只读业务流量,实现读写分离,分摊主节点查询压力,提升整体查询并发能力。
1.2.2. 故障自动切换逻辑
- 故障感知:CM 实时探测主节点运行状态,识别主节点宕机、失联等故障;
- 候选筛选:多辅助节点场景下,CM 采集各辅助节点 CPU、内存、业务负载等指标,择优选择负载最优节点作为新主节点;
- 角色升级接管:选中辅助节点自动升级为主节点,接管全量写入服务权限;
- 切换时效:整套故障切换流程控制在 1 分钟以内,业务中断窗口极短;
- 应用无感:连接管理器自动调整路由转发规则,上层应用无需修改配置、无感知完成切换。
1.2.3. 集群扩展性能力
架构支持横向新增辅助节点,新增节点直接挂载共享存储即可加入集群承接只读业务,无需数据迁移、无需全量副本同步,横向扩容便捷,具备优秀可伸缩性,适配业务读量持续增长场景。
1.2.4. 共享存储底层特性
所有节点共用一套存储数据,天然保证多节点数据强一致,不存在主从复制延迟、同步异常、副本数据不一致问题;仅单份数据存储,节省多副本存储成本。
2. HAC 同城高可用集群(同城灾备)

2.1. 整体架构
HAC 是 GBase 8s 一主一备双节点同城高可用集群,基于逻辑日志复制实现主备数据同步,两节点各自独立挂载本地存储,无共享存储依赖,适配同城机房容灾场景。
| 层级 | 主节点组件作用 | 备节点组件作用 |
|---|---|---|
| 服务进程 VP | 数据库核心调度进程,执行业务事务、生成逻辑日志 | 回放同步日志,支撑只读业务,故障后升级接管读写 |
| 共享内存缓冲区 | 逻辑日志缓冲区:缓存事务日志;发送缓冲区:转发日志至备节点 | 接收缓冲区:接收主节点日志;逻辑日志缓冲区:缓存待回放日志 |
| 磁盘存储 | 独立本地磁盘,落地业务数据与逻辑日志 | 独立本地磁盘,回放日志后落地同步数据 |
| 传输链路 LAN | 主备节点内网高速传输日志数据流 | 接收日志数据流,保障同城低延迟传输 |
2.2. 完整日志同步流程
- 主节点事务生成日志 业务事务执行完成后,数据写入主节点逻辑日志缓冲区,同时缓冲区内容落盘至本地存储保障持久化。
- 日志转发封装 逻辑日志缓冲区数据同步拷贝至发送缓冲区,通过内网 LAN 链路发送至备节点接收缓冲区。
- 备节点日志接收与缓存 备节点接收缓冲区接收日志数据,转入本地逻辑日志缓冲区完成缓存。
- 备节点日志回放落盘 备节点回放逻辑日志缓冲区的日志,完成数据更新并写入自身本地磁盘存储,实现主备数据一致性。
2.3. 核心关键特性
2.3.1. 三种同步模式(一致性 & 性能灵活选择)
| 同步模式 | 机制说明 | 适用场景 |
|---|---|---|
| 完全同步 | 主节点事务提交需等待备节点日志接收确认,零数据丢失 | 金融核心、强一致性要求业务 |
| 近似同步 | 主节点落盘本地日志即可提交,后台异步同步备节点,极低延迟 | 同城核心业务,兼顾一致性与性能 |
| 异步同步 | 主节点事务提交与日志传输解耦,日志后台异步推送,性能最优 | 读多写少、可容忍微小数据延迟场景 |
2.3.2. 读写能力规则
- 主节点:承载完整读写、DDL、事务修改业务;
- 备节点:常态可承接只读查询业务,分担主节点查询压力,实现读写分离;故障切换后备节点自动升级为主节点,完整接管读写服务。
2.3.3. 高可用切换能力
- 故障检测:集群管控组件实时探测主节点状态,识别宕机、断连故障;
- 自动切换:备节点快速升级为主节点,业务切换对上层应用透明,无需业务改造;
- 故障恢复:原主节点修复后可自动加入集群作为新备节点,继续同步数据。
3. RHAC 远程异地高可用集群(异地灾备)

3.1. 整体架构
3.1.1. 拓扑结构
- 架构模式:单主节点 + 多异地辅助节点架构,依托广域网 WAN 完成跨地域日志同步;
- 链路:主节点通过 WAN 专线,向多个异地机房的辅助节点同步逻辑日志;
- 存储模式:各节点独立本地存储,无共享存储依赖,适配异地多机房灾备场景。
3.1.2. 核心定位
RHAC 是 GBase 面向异地多活、跨城灾备设计的集群方案,在 HAC 同城主备能力基础上扩展多辅助节点、WAN 远距离传输适配能力,解决跨城市机房容灾、异地数据备份、多站点读写分流需求。
3.2. 核心运行机制
3.2.1. 数据同步原理
沿用 GBase 日志复制核心机制:
- 主节点业务事务生成逻辑日志,本地落盘持久化;
- 日志封装后通过 WAN 链路异步分发至全部异地辅助节点;
- 各辅助节点接收日志、本地回放落地,完成数据同步;
- 适配 WAN 网络延迟、抖动特性,内置流量控速、断点续传、日志校验机制,保障远距离同步稳定。
3.2.2. 节点分工规则
- 主节点:全权承载业务写入、DDL 变更、事务操作,统一生成日志向外分发;
- 异地辅助节点
- 常态:承接本地机房只读业务流量,实现异地读写分离,就近访问降低跨城访问延迟;
- 故障:主节点机房整体故障、断网失联时,集群管理器根据预设策略、节点负载、数据同步点位,自动选举最优辅助节点升级为新主节点,接管全量业务。
3.2.3. 故障切换策略
- 支持多辅助节点优先级配置 + 负载智能选主,可自定义异地站点接管优先级;
- 适配异地机房级灾难场景(机房断电、光缆中断、区域故障),实现跨城市容灾切换;
- 切换逻辑对上层应用透明,配合连接管理器自动路由转发,业务无需改造适配。
4. 两地三中心实现

- 本地主中心:SSC 共享存储集群(生产读写);
- 同城备中心:HAC 集群(同城快速切换);
- 异地灾备中心:RHAC 集群(跨城长期容灾); 三层集群由统一连接管理器调度,应用无感知切换,满足金融行业最高级容灾合规要求。
评论
热门帖子
- 12025-12-01浏览数:183888
- 22023-05-09浏览数:26558
- 42023-09-25浏览数:20251
- 52020-05-11浏览数:19039