GBase 8s 学习笔记

0    30    1

Tags:

👉 本文共约87347个字,系统预计阅读时间或需329分钟。

GBase 8s 学习笔记 001 —— GBase 8s 数据库产品介绍

熟悉 GBase 8s 产品功能与应用场景

GBase 8s 是什么

GBase 8s 是一款支持共享存储集群、两地三中心部署的、成熟稳定的、具有TB数据支撑能力的国产事务型案例数据库。
适用于金融、电信等行业核心交易系统和对信息案例性有较高要求的信息系统,能够在80%以上场景中替换 Oracle 及 Oracle RAC 集群。

  • 重要特性
    • 强一致性+高性能
    • 面向事务密集型业务场景
    • 有效支撑金融行业核心交易系统
    • 健壮的高可用能力
    • 支持本地共享存储集群(SSC)
    • 完美支持两地三中心部署方案
    • 完美的国产生态支持
    • 支持全部国产处理器平台
    • 支持国产操作系统和国产中间件
  • 核心价值
    • 金融级核心业务能力
    • 满足严苛的事务ACID要求
    • 99.999%可用性
    • 海量数据、海量并发
    • 可支撑200TB业务数据
    • 可响应10000并发连接请求
    • 计算与存储分离,弹性扩展
    • 分钟级弹性扩展
    • 支持读写分离和业务架构
    • 混合业务性能线性扩展能力0.7

GBase 8s 功能

  • 关系型数据库集群
    • SQL标准:SQL92+
    • 标准开发接口:JDBC、ODBC等
  • 企业级的事务处理能力
    • 刚性事务,ACID
    • 数据完整性
    • 复杂事务处理
  • 国产平台支持
    • 国产芯片:鲲鹏、海光、飞腾、龙芯、申威、兆芯
    • 国产OS:麒麟、统信、中科方德、凝思等
  • 高性能
    • DSA动态可伸缩架构
    • SMP对称多处理
    • 支持高并发访问
    • 高度并行计算
  • 高可用性
    • 完备的高可用方案
    • 对标Oracle的RAC、DataGuard和GoldenGate
    • 两地三中心最佳方案
    • 99.99%可用性

掌握 GBase 8s 产品架构

GBase 8s 数据库架构概览(Architecture)

GBase 8s 学习笔记

GBase 8s 数据库服务架构

GBase 8s 学习笔记GBase 8s 学习笔记

GBase 8s 数据库服务组件

GBase 8s 学习笔记GBase 8s 学习笔记

  • 进程/线程管理
    • 多线程技术,实现了数据库的高性能。
    • DSA架构,实现了数据库的可扩展性。
    • 虚拟处理器技术,保障了数据库版本的稳定性。
    • 专有的线程库技术,完全不依赖操作系统的线程库,保障了数据库版本在不同平台上的可迁移性。
  • 多进程架构
    • 传统的多进程服务
    • 每个连接(Session)需要启动新的进程为其提供服务每个进程的起始(Initialization)与终止(Termination)均耗费系统资源(CPU)。
    • 进程间通信需执行上下文切换(Context Switch),该切换由操作系统调用CPU来处理,耗费系统资源。
    • 基于虚拟处理器的多进程/多线程架构
    • 虚拟处理器中的线程库
      • 不依赖于操作系统的线程库。
      • 用户态实现,定义了一系列的控制块和堆栈。
      • 类协程技术,支持跨进程的线程调度线程间可高度、高效并发。
    • 优势
      • 更好移植性。
      • 更高效的资源利用。
      • 高并发场景下更稳定的性能表现。
    • 虚拟处理器

GBase 8s 学习笔记GBase 8s 学习笔记

GBase 8s 学习笔记GBase 8s 学习笔记

  • 共享内存管理
    • 基于共享内存的进程间通讯

GBase 8s 学习笔记GBase 8s 学习笔记

  • 共享内存段管理

GBase 8s 学习笔记GBase 8s 学习笔记

  • 物理日志缓冲区

GBase 8s 学习笔记GBase 8s 学习笔记

GBase 8s 学习笔记GBase 8s 学习笔记

  • 逻辑日志缓冲区

GBase 8s 学习笔记GBase 8s 学习笔记

GBase 8s 学习笔记
GBase 8s 学习笔记

GBase 8s 学习笔记GBase 8s 学习笔记

  • 存储管理
    • 物理存储

GBase 8s 学习笔记GBase 8s 学习笔记

  • 逻辑存储

GBase 8s 学习笔记GBase 8s 学习笔记

  • 存储管理(页:Page)

GBase 8s 学习笔记GBase 8s 学习笔记

  • 存储管理(段:Extent)

GBase 8s 学习笔记GBase 8s 学习笔记

  • 存储管理(块:Chunk)

GBase 8s 学习笔记GBase 8s 学习笔记

  • 存储管理(数据库空间:DBSpace)

GBase 8s 学习笔记GBase 8s 学习笔记

  • 存储管理(表:Table)

GBase 8s 学习笔记GBase 8s 学习笔记

  • 存储管理(数据库:Database)
    GBase 8s 学习笔记
    GBase 8s 学习笔记
  • 存储管理(表空间:TableSpace)
    GBase 8s 学习笔记
    GBase 8s 学习笔记
  • 物理日志
    • 数据库服务器在修改数据页前,将这些数据页进行保存。保存的这些数据页(数据页的前映像)称为物理日志。
    • 数据库服务器将物理日志记录在物理日志数据库空间中。
    • 在系统异常时(如电源掉电,操作系统重启,进程宕机等),数据库服务器重新启动过程中,会先根据物理日志进行物理恢复,然后根据逻辑日志进行逻辑恢复。
  • 逻辑日志
    • 数据库服务器对数据的操作进行记录。这些记录称为逻辑日志。
    • 数据库服务器将逻辑日志记录在逻辑日志数据库空间中。
    • 在灾难发生时,数据库恢复程序会先根据历史备份数据中的L0/L1/L2备份,进行物理恢复,再根据历史备份中的逻辑日志备份,进行逻辑恢复。
  • 临时数据库空间
    • 临时数据库空间是专门为临时表的存储而保留的数据库空间。
    • 数据库服务器在不正常关闭时不保留任何临时数据库空间内容。
    • 数据库服务器不会为临时数据库空间执行逻辑或物理日志记录。
  • 大对象数据库空间
    • BLOB Space是由一个或多个只存储 TEXT 和 BYTE 数据的块组成的逻辑存储单元。
    • BLOB Space的 Blobpage大小是在创建 BLOB Space时指定的,大小是页的整数倍。
    • Blob Space 中的所有 Blobpage 的大小都是相同的,但是不同BLOB Space中的Blobpage 的大小可以不同。
    • 存储在 BLOB Space中的数据直接写入磁盘,不会透过共享内存进行读写。
    • 数据库服务器不会将TEXT或BYTE对象写入逻辑日志或物理日志。
  • 智能大对象数据库空间
    • 智能大对象数据库空间是由存储智能大对象的一个或多个块组成的逻辑存储单元。
    • 智能大对象由 CLOB(字符大对象)和 BLOB(二进制大对象)数据类型组成。
    • 用户定义的数据类型也可以使用智能大对象数据库空间。
    • 智能大对象的页大小不可以定义,其与数据页大小相同。
    • • 智能大对象的数据写入物理日志和逻辑日志,在故障发生时,智能大对象可恢复。

了解 GBase 8s 部署模式

共享存储集群:SSC

  • 基于共享存储的高可用架构
  • 由CM进行管理并自动维护
  • 主节点写/辅节点读
  • 主节点故障时,辅节点自动接管服务,升级为主节点
  • 在有多个辅节点时,CM会根据辅节点负载情况选择把哪个节点升级为主节点
  • 故障切换时间在 1 分钟以内
  • 较好的可伸缩性
  • 对应用透明

GBase 8s 学习笔记GBase 8s 学习笔记

高可用集群:HAC

GBase 8s 学习笔记GBase 8s 学习笔记

远程高可用集群:RHAC

GBase 8s 学习笔记GBase 8s 学习笔记

两地三中心实现

GBase 8s 学习笔记GBase 8s 学习笔记

GBase 8s 学习笔记 002 —— GBase 8s 安装与卸载

安装环境

检查服务器内存大小

检查服务器磁盘空间大小

检查服务器网络配置信息

检查操作系统版本

安装前的准备工作

创建用户

GBase 8s数据库需要一个名字为gbasedbt的操作系统用户,做为数据库的超级用户。我们在安装前,需要创建好这个用户。

如果我们在安装时,没有提前创建这个用户,在安装过程中,会提示要创建这个用户,并输入密码。不过在安装过程中创建的用户,没有创建一个新的目录做为gbasedbt的Home,这可能导致在后续的创建数据库实例时,无法自动生成实例的环境变量。

为了减少后面的麻烦,记得提前创建gbasedbt用户,并设置好密码。

检查操作系统是否存在gbasedbt用户

检查操作系统是否存在gbasedbt组

创建gbasedbt组和用户,并设置用户密码

创建gbasedbt后,再次查看

gbasedbt的组和用户已经创建成功。

准备软件安装包

上传GBase 8s安装包到服务器。

创建一个目录,将安装包解压到该目录

至此,安装数据库需要的软件包和用户都准备好了。

GBase 8s 学习笔记GBase 8s 学习笔记

安装GBase 8s

安装GBase 8s数据库组件

GBase 8s数据库安装,支持图形界面方式和控制台的命令行方式。默认的安装方式是控制台命令行方式。如果希望使用图形界面安装,只需要在启动安装程序时,后面加上参数./ids_install -i swing即可。

安装过程中,会显示产品的License,内容较长,在控制台的命令行方式中,可以连续按5次回车。在图形界面方式中,需要用鼠标拉动界面右侧的滚动条到底部,就可以点那个复选框,确认License了。

在root用户下,进入安装包目录,运行安装命令ids_install,启动安装程序。

GBase 8s 学习笔记GBase 8s 学习笔记

回车继续

GBase 8s 学习笔记GBase 8s 学习笔记

回车继续

GBase 8s 学习笔记GBase 8s 学习笔记

回车继续

GBase 8s 学习笔记GBase 8s 学习笔记

回车继续

GBase 8s 学习笔记GBase 8s 学习笔记

回车继续

GBase 8s 学习笔记GBase 8s 学习笔记

接受License,输入y,按回车开始安装。

安装程序提示用户输入GBase 8s的安装路径。我们输入/opt/gbase。

  • 说明:
    • /opt目录的默认用户和用户组是root:root,如果被修改成其它用户和用户组,可能会导致安装时,报权限错误。请检查指定的安装路径用户和用户组是否为root:root。
    • 如果数据库安装在/opt下,可以不用手动创建后面的目录,安装程序会自动创建。
    • 为了保障数据安全,GBase 8s的安装路径,不能允许其它用户有写权限,即安装路径不能设置为777。建议将安装路径的权限设置为755.
    • 安装目录中,必须为空。

GBase 8s 学习笔记GBase 8s 学习笔记

输入y,确认安装路径。

GBase 8s 学习笔记GBase 8s 学习笔记

安装程序支持典型安装和自定义安装方式,我们选择典型安装,所以输入1。

GBase 8s 学习笔记GBase 8s 学习笔记

在安装过程中,可以自动创建一个数据库的实例。由于典型安装中创建的实例在配置上非常简单,不适合后期深入的学习GBase 8s,因此选择不创建实例,在安装后,可以手动执行一个脚本,方便了创建一个新的数据库实例。此处输入2。

重要说明:

这个选择很重要。选择不创建实例,不但可以减少你的整体安装时间,也会让你对这款数据库,有更深入地了解。

安装过程中,自动创建一个数据库实例,在个别情况下,可能出现安装后,不能创建数据库现象(执行create database卡住,一段时间后报错退出)。这个问题的原因是sqlhosts文件中使用了机器名,需要我们修改成服务器的IP地址,并重启数据库,就可以解决。也许有其它好的解决方法,不过这是目前知道的一个方法,而且好用。

GBase 8s 学习笔记GBase 8s 学习笔记

安装程序给出一个报告,列出了本次将要安装的数据库组件。按回车将继续安装。

GBase 8s 学习笔记GBase 8s 学习笔记

安装程序再次让用户确认安装程序的位置。按回车键,确认安装位置并继续安装。

开始安装…

GBase 8s 学习笔记GBase 8s 学习笔记

安装完成。按回车键退出安装程序。

至此,数据库的组件,全部安装完成。
再创建一个数据库实例,就可以工作了。

创建数据库实例

创建数据库实例,需要切换到gbasedbt用户。

在数据库安装目录的etc目录有,有一个GBaseInit_gbasedbt.sh脚本,可以采用向导方式,让我们一步一步,方便地创建一个新的数据库实例。

GBase 8s不同于Oracle,MySQL和SQL Server等,支持在一台服务器上,部署多个实例,听说甚至可以部署不同版本的多个实例,对于那些服务器紧张的小伙伴,是个福利。

GBase 8s 学习笔记GBase 8s 学习笔记

执行创建实例的脚本

开始创建数据库实例。

脚本默认的实例名称为gbaseserver,可以在冒号后面输入希望的名称,也可以直接回车,使用默认的实例名。

说明:实例的名称可以是字母,数字和下划线。

不要用减号,不要用减号,不要用减号。

安装脚本询问GBase 8s的程序安装在哪个路径下,默认是之前安装时指定的路径。直接回车继续。

安装脚本询问服务器的IP地址,输入服务器的IP地址。如果默认的IP地址是希望的IP,直接回车继续。

安装脚本询问数据库监听使用的端口号,默认为9088。使用默认值,回车继续。

安装脚本询问初始化的类型,选择CUSTOM,输入2,回车继续。

安装脚本询问数据库使用哪种字符集,此处使用UTF8,输入3,回车继续。

安装脚本询问数据保存在哪个目录中,使用默认值,回车继续。

安装脚本询问,保存逻辑日志的数据库空间大小,输入200,回车继续。

说明:这个地方指定的值很大时,数据库会按该值分配磁盘空间,可能用时较长。

安装脚本询问,保存物理日志的数据库空间大小,输入200,回车继续。

说明:这个地方指定的值很大时,数据库会按该值分配磁盘空间,可能用时较长。

安装脚本询问,保存智能大对象的数据库空间大小,输入100,回车继续。

说明:这个地方指定的值很大时,数据库会按该值分配磁盘空间,可能用时较长。

安装脚本询问,保存临时数据的数据库空间大小,输入100,回车继续。

说明:这个地方指定的值很大时,数据库会按该值分配磁盘空间,可能用时较长。

安装脚本询问我们,是否进行一些高级设置,我们输入y,回车继续。

安装脚本询问我们,创建几个保存数据的数据库空间,输入5,回车继续。

提示:这点很重要,方便后面学习分片表。

安装脚本询问,创建几个保存临时数据的数据库空间,输入3,回车继续。

安装脚本询问,是否启用GL_USEGLU,默认不启用,直接回车继续。

安装脚本列出创建实例的配置信息。输入y,回车继续。

安装脚本开始创建实例。

至此,数据库实例创建完成。

环境变量

安装脚本会在gbasedbt的Home路径下,自动生成一个名称为profile.gbaseserver的文件,记录了新创建数据库实例需要的环境变量。

可以使用cat命令查看文件的内容。

可以使用source命令,使环境变量生效。

可以使用env查看环境变量。

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!
GBase 8s 学习笔记后续精彩内容已被小麦苗无情隐藏,请输入验证码解锁本站所有文章
验证码:
请关注本站微信公众号,回复“小麦苗博客”,获取验证码。在微信里搜索“DB宝”或者“www_xmmup_com”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部