国产数据库|GBase 8s V8.8 学习笔记之架构介绍

news2024/12/23 23:04:07

48276f437148a1e6a40de5aab547d279.gif

作者 | 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 数据库服务总体架构如下:

d2985f0feef62bacbf5495e1c8154cb6.png

GBase 8s 六大功能

35e8e86576895591c708f644416ede43.png

GBase 8s 发展史

2619b61375ae794100d7c35283249bb2.png

国产数据库四朵金花

  • 1999年人大金仓成立,属于中国电子科技集团

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

  • 2004 年南大通用成立

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

GBase 8s 架构

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

638f47b2dd1bd42551d5e75b1e1639f1.png

共享内存段

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

76a825b136c9baccaf7f6d5c54cfa3cc.png

存储结构

块>段>页

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

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

c459e5c9801578832154edf76bb9a9fa.png

逻辑存储

5767bd2c523d55b7fbd3953ecb7efaa8.png

物理日志

数据库服务器在修改数据页前,将这些数据页进行保存,保存的这些数据页(数据页的前映像)称为物理日志。这个就有点像 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 具有安装简单、应用无感知、故障自动切换、低成本等特点。

5925b11a561c911df986f57c4e86cf95.png

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

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

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

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

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

数据发送示意图

166cd69b782500c019bcffafa1b9303d.png

高可用集群 HAC

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

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

796e06f5c1903e9cde4eb1f1b2ca558e.png

远程高可用集群 RHAC

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

8110e6ee98abcdf8c98e3cc8c179ded0.png

两地三中心部署

ebc6a689ac02c23b3773d8aa0f5fb68b.png

三种集群架构比较

2625753fd92c30cb934e6a1f839270e1.png

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
———————————————————————————

c90220494912799a44223bf14122ff97.gif

分享几个数据库备份脚本

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 主从同步环境

9629a1ff495813c2bd232ebcec2aecf9.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/591804.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《计算机组成原理》唐朔飞 第10章 控制单元的设计 - 学习笔记

写在前面的话:此系列文章为笔者学习计算机组成原理时的个人笔记,分享出来与大家学习交流。使用教材为唐朔飞第3版,笔记目录大体与教材相同。 网课 计算机组成原理(哈工大刘宏伟)135讲(全)高清_…

Office project 2021安装

哈喽,大家好。今天一起学习的是project 2021的安装,Microsoft Office project项目管理工具软件,凝集了许多成熟的项目管理现代理论和方法,可以帮助项目管理者实现时间、资源、成本计划、控制。有兴趣的小伙伴也可以来一起试试手。…

Spring事务与事务传播

文章目录 一、什么是事务?二、Spring事务实现编程式事务声明式事务 三、Transactional的使用参数作用Spring事务的隔离级别事务失效的场景Transactional工作原理 四、Spring事务传播机制Spring有哪些事务传播机制? 一、什么是事务? 事务:事务是一组操…

Python十类常见异常类型(附捕获以及异常处理方式)

目录 前言十类异常1.TypeError2.ValueError3.NameError4.IndexError5.KeyError6.ZeroDivisionError7.IOError8.ImportError9.AttributeError10.KeyboardInterrupt 异常捕获以及处理总结 前言 大家好,我是辣条哥!今天给大家讲讲我们刚开始写代码是都会出现…

系统学习】Java基础3之反射

Java反射 反射机制概述 Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内 部属性及方法 加载完类之后,在堆内存的方法区中就产…

美债提高上限的后果

* * * 原创:刘教链 * * * 号外:今天在小号“刘教链Pro”发表了一篇《再论以太坊的自限性》,谈了一下对比特币和以太坊自限性问题的再研讨,欢迎关注“刘教链Pro”并阅读。 * * * 隔夜比特币小幅回落至28k下方。昨日在28k上方遭遇了…

在Centos Stream 9上Docker的实操教程(四) - Docker腾讯云远程仓库和本地私有仓库

在Centos Stream 9上Docker的实操教程 - Docker腾讯云远程仓库和本地私有仓库 本地镜像发布到腾讯云注册开通腾讯云初始化个人版服务创建仓库推送拉取镜像 私有仓库结语 本地镜像发布到腾讯云 由于官方的docker hub访问由于网络原因,可能会比较慢,博主推…

0301依赖使用以及配置优先级-基础-springboot2.7.x系列

文章目录 1 依赖方式1.1 spring-boot-starter-parent依赖1.2 spring-boot-dependencies依赖1.3 对比 2 使用方式2.1 SpringbootApplication2.2 高度定制 3 springboot各种配置优先级顺序4 sprinboot配置文件解析顺序结语 1 依赖方式 这里项目以开源的renren和pig为例&#xff…

Meta发布Megabyte AI模型抗衡Transformer

🚀 Meta发布Megabyte AI模型抗衡Transformer:解决后者已知问题、速度提升4成 摘要:Meta团队开发的Megabyte AI模型可以抗衡当前在自然语言处理领域非常流行的Transformer模型, 解决了Transformer模型所面临的训练速度较慢、难以…

【Java 并发编程】深入理解 AQS - AbstractQueuedSynchronizer

深入理解 AQS - AbstractQueuedSynchronizer 1. AQS1.1 什么是 AQS1.2 AQS 具备的特性 2. AQS 原理解析2.1 AQS 原理概述2.1.1 什么是 CLH 锁2.1.2 AQS 中的队列 2.2 AQS 共享资源的方式:独占式和共享式2.2.1 Exclusive(独占式)2.2.2 Share&a…

用 GPT-4 来面试,简直开挂啊!

公众号关注 “GitHubDaily” 设为 “星标”,每天带你逛 GitHub! 众所周知,ChatGPT 凭其超强的文本生成能力,成为了 2023 年最为火爆的 AI 应用之一。 几个月前,GPT-4 发布,又将 ChatGPT 的能力提升到了一个…

redis为何这么快

文章目录 概述基于内存的操作高效的数据存储结构设计高效的数据结构string底层实现SDS字符串长度处理杜绝缓冲区溢出减少内存重新分配的次数空间预分配惰性空间释放 list底层实现压缩列表(zipList)双端链表(linkList) hsah底层实现ziplist字典 set底层实现 zset底层实现ziplist…

“大厂的人一毕业,讲师就多了起来”——但培训行业,早就卷起来了

“大厂的人一毕业,讲师就多了起来”,很多中年产品经理都把去做培训当成一个后备选项,也许,作为十几年前就淌过路的人,可以给你一些信息。 总体来说,今年有个特别的体感,就是产品经理/产品思维/产…

【分布式应用】ELFK集群部署(Filebeat+ELK)Logstash的过滤模块

一、ELFK集群部署(FilebeatELK) ELFK ES logstashfilebeatkibana 实验环境 服务器类型系统和IP地址需要安装的组件硬件方面node1节点192.168.126.21JDK、elasticsearch-6.7.2、kibana-6.7.22核4Gnode2节点192.168.126.22JDK、elasticsearch-6.7.22核4…

chatgpt赋能python:Python中的快捷键:提高编程效率的利器

Python中的快捷键:提高编程效率的利器 作为一名有10年Python编程经验的工程师,我深刻体会到快捷键的重要性。在日常编程中,快捷键可以大大提高编程效率,让我们更快地完成工作。本文将介绍Python中一些常用的快捷键,并…

【Git】常用命令

Git命令游戏教程网站&#xff1a;https://learngitbranching.js.org/?localezh_CN 日常使用 命令 git push 1.不省略的写法 适合<本地分支名>和<远程分支名>不一样的情况 将本地的dev分支上的代码推送到远程主机名为origin中test的分支上。如果远程的test分支不存…

Go开发学习 | 如何使用日志记录模块包针对日志按天数、按大小分隔文件示例...

欢迎关注「全栈工程师修炼指南」公众号 点击 &#x1f447; 下方卡片 即可关注我哟! 设为「星标⭐」每天带你 基础入门 到 进阶实践 再到 放弃学习&#xff01; “ 花开堪折直须折&#xff0c;莫待无花空折枝。 ” 作者主页&#xff1a;[ https://www.weiyigeek.top ] 博客&…

比较专业的成体系OJ题库和近期整理的比赛题目

比较专业的成体系OJ题库和近期整理的比赛题目&#xff0c;一个优秀的OJ系统是不断剔除和补充题目的完善过程 &#xff0c;不是越多越好&#xff0c;而是符合孩子们学习阶段的需求&#xff0c; 类似的题目有2-3题就好&#xff0c;方便学生举一反三&#xff0c;另外同一题 要求回…

两个offer:一个996,月薪3万;一个885,月薪2万,怎么选?

找工作时&#xff0c;钱和闲&#xff0c;你选哪个&#xff1f; 一位网友拿到了两个offer&#xff0c;一个996&#xff0c;月薪3万&#xff0c;一个885&#xff0c;月薪2万&#xff0c;怎么选&#xff1f; 一部分网友选择885&#xff0c;因为自己是打工人&#xff0c;不是打工奴…

为什么职场中35岁之后很难找到合适的工作?

(点击即可收听) 为什么职场中35岁之后很难找到合适的工作 无论是初入职场还是,职场多年的老司机,都听过一个35岁危机的一个话题 无论是企业还是一些招聘者,针对35,甚至就是30的人,充满了不是这样,就是那样的偏见的理由 每个公司都喜欢有激情,有想法,有干劲的年轻人,无论哪个公司…