作者 | JiekeXu

来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT)

如需转载请联系授权 |(个人微信 ID:JiekeXu_DBA)

大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看国产数据库|GBase 8s V8.8 学习笔记之架构介绍,欢迎点击上方蓝字“JiekeXu DBA之路”关注我的公众号,标星或置顶,更多干货第一时间到达!

GBase 8s 简介

GBase 8s 是天津南大通用数据技术股份有限公司自主研发的、成熟稳定的企业级国产交易型数据库,拥有自主知识产权。产品达到国标第四级安全标准,支持国密算法,支持 SQL99/2003、ODBC、JDBC、ADO.NET 等国际数据库规范和开发接口。支持共享存储集群、支持两地三中心高可用部署。

GBase 8s 总体上由三大部分组成:管理工具、应用接口、数据库主服务,GBase 8s 数据库服务总体架构如下:

GBase 8s 六大功能

GBase 8s 发展史

国产数据库四朵金花
  • 1999年人大金仓成立,属于中国电子科技集团

  • 2000年武汉达梦成立,属于中国电子信息产业集团

  • 2004 年南大通用成立

  • 2008 年神州通用公司成立,属于中国航天科技集团

GBase 8s 架构

GBase 8s 是多进程多线程架构,和 Oracle 内存架构非常相似,学过 Oracle 的朋友对这个架构图还是比较熟悉的,基于 Shared Memory 的共享内存架构,各种“VP”的进程/线程结构管理,物理日志/逻辑日志的存储管理。

共享内存段

共享内存段共分为以下四个部分:常驻内存段、Buffer Pool 缓存池段、虚拟内存段、消息段。

存储结构

块>段>页

块是专用于数据库服务器数据存储的物理磁盘最大单元。
块可以为管理员提供用于分配磁盘空间的特别大的单元。单个块的最大大小是 4 TB。允许的块数为 32766。

页是数据库服务器用于在 GBase 8s 数据库中读取和写入的物理磁盘存储单元。在多数 UNIX™ 平台上,页大小是 2 KB。因为硬件会确定页的大小,所以您不能更改此值。

逻辑存储

物理日志

数据库服务器在修改数据页前,将这些数据页进行保存,保存的这些数据页(数据页的前映像)称为物理日志。这个就有点像 Oracle 的 undo 日志,可用于异常掉电、回滚等的操作。

逻辑日志

数据库服务器对数据的操作进行记录,这些记录称为逻辑日志。这个就有点像 Oracle 的 rodo 日志,记录数据库的操作记录。

临时数据库空间

临时数据库空间是专门为临时表的存储而保留的数据库空间,数据库服务器在不正常关闭时不保留任何临时数据库空间内容,数据库服务器不会为临时数据库空间执行逻辑或物理日志记录。这个就和 Oracle 的临时表空间一样了。

大对象数据库空间

BLOB Space 是由一个或多个只存储 TEXT 和 BYTE 数据的块组成的逻辑存储单元。BLOB Space 的 Blobpage 大小是在创建 BLOB Space 时指定的,大小是页的整数倍。Blob Space 中的所有 Blobpage 的大小都是相同的,但是不同 BLOB Space 中的Blobpage 的大小可以不同。存储在 BLOB Space 中的数据直接写入磁盘,不会透过共享内存进行读写。数据库服务不会将 TEXT 或者 BYTE 对象写入逻辑日志或者物理日志。

智能大对象数据库空间

智能大对象数据库空间是由存储智能大对象的一个或多个块组成的逻辑存储单元。智能大对象由 CLOB(字符大对象)和 BLOB(二进制大对象)数据类型组成。用户定义的数据类型也可以使用智能大对象数据库空间。智能大对象的页大小不可以定义,其与数据页大小相同。智能大对象的数据写入物理日志和逻辑日志,在故障发生时,智能大对象可恢复。

GBase 8s 支持多种部署方式,包括单机、共享存储集群、主备集群、两地三中心集群等。支持应用与数据库部署在同一台或者不同服务器上。

共享存储集群 SSC

GBase 8s SSC(共享存储高可用集群)采用共享磁盘方式实现计算节点高可用,数据仅存储一份,有效利用硬件资源,避免数据重复存储问题。SSC 集群中各节点均能对外提供服务,适合写少读多,对读性能有线性扩展需求的场景,集群节点数最多可达 128 个。SSC 具有安装简单、应用无感知、故障自动切换、低成本等特点。

  • 由CM进行管理并自动维护

  • 主节点用来写,辅助节点用来读查询。

  • 主节点故障时,辅节点自动接管服务,升级为主节点。

  • 在有多个辅节点时,CM会根据辅节点负载情况选择把哪个节点升级为主节点。

  • 故障切换时间在 1 分钟以内

数据发送示意图

高可用集群 HAC

GBase 8s HAC(高可用容灾集群)采用逻辑日志复制技术实现节点高可用,同城容灾集群支持一主一从的部署方式,异地灾备集群支持一主多备的部署方式,HAC 集群主节点执行读写业务的同时,备节点可承担查询、报表等读业务,HAC 集群具有安装简单、应用无感知、故障自动切换、无须额外付费等特点。HAC 要求主备服务器的数据库版本完全相同,主备服务器的硬件和操作系统版本尽量相同。使用时,HAC 主节点接收业务请求,写逻辑日志,将逻辑日志置于发送缓冲区,通过局域网或广域网发送给各备节点,备节点接收到逻辑日志,在内存中进行重放,从而达到主备节点数据状态一致,集群通过 CM(连接管理器)实现主备节点间互相切换。

GBase 8s HAC 有点像 Oracle 的主备架构,支持同步、半同步和异步日志模式。同步模式:逻辑日志同步更新模式下备实例上的事务始终和主实例保持一致,所以在发生故障时不会丢失数据。适用于主备节点距离较近(同机房或跨机房)的同城容灾集群。半同步模式:逻辑日志半同步更新模式下,主实例在将逻辑日志刷新到磁盘之前要确保备实例日志已回放完成。适用于对主备节点相距几十或上百公里的同城容灾集群。异步模式:逻辑日志异步更新模式下,主实例在将逻辑日志刷新到磁盘之前不需要收到备实例的确认信息,所以此模式可以提高日志的复制速度,适用于主备节点相距上千公里异地灾备集群。

远程高可用集群 RHAC

远程高可用集群 RHAC,需要使用广域网、远距离部署,一般为一千公里以上的距离,部署模式为异步模式。有可能会丢失一小部分数据。

两地三中心部署

三种集群架构比较

Reference

《GBase 8s V8.8 技术白皮书》【BGase 学堂】01 GBase 8s 产品介绍

全文完,希望可以帮到正在阅读的你,如果觉得此文对你有帮助,可以分享给你身边的朋友,同事,你关心谁就分享给谁,一起学习共同进步~~~

欢迎关注我的公众号【JiekeXu DBA之路】,第一时间一起学习新知识!

———————————————————————————
公众号:JiekeXu DBA之路
CSDN :https://blog.csdn.net/JiekeXu
墨天轮:https://www.modb.pro/u/4347
腾讯云:https://cloud.tencent.com/developer/user/5645107
———————————————————————————

分享几个数据库备份脚本

Oracle 表碎片检查及整理方案

OGG|Oracle GoldenGate 基础2022 年公众号历史文章合集整理

Oracle 19c RAC 遇到的几个问题

OGG|Oracle 数据迁移后比对一致性

OGG|Oracle GoldenGate 微服务架构

Oracle 查询表空间使用率超慢问题一则

Oracle 11g升级到19c需要关注的几个问题

国产数据库|TiDB 5.4 单机快速安装初体验

Oracle ADG 备库停启维护流程及增量恢复

Linux 环境搭建 MySQL8.0.28 主从同步环境