openGauss是一款开源关系型数据库管理系统,采用木兰宽松许可证v2发行。openGauss内核深度融合华为在数据库领域多年的经验,结合企业级场景需求,持续构建竞争力特性。与其他开源数据库相比,openGauss具有以下特点:
- 高性能——两路鲲鹏性能150万tpmC
- 高可靠—— 故障切换时间RTO<10s
- 高安全 —— 端到端全方位安全防护
- 易运维——基于AI的智能参数调优
课时1:openGauss全景介绍
1、介绍 openGauss 全景
1.1.openGauss总体架构介绍
本章节主要介绍了openGauss发展的历史,现状以及未来。对当前的DataPod和DataKit 2种openGauss当前主推的场景化产品进行了介绍。同时对openGauss的整个逻辑模块的视图进行了讲解。





1.2.openGauss传统主备架构介绍
本章节主要介绍了数据库的几种部署架构,然后对openGauss的传统主备架构的原理、运行机制进行了介绍,同时对传统主备中的重点功能模块极致RTO进行了介绍。

说明:
- 单主机:除了数据库服务还部署有其他服务
- 独立主机:只部署数据库服务

1.2.1.openGauss传统主备架构

1.2.2.openGauss传统主备原理

1.2.3.openGauss传统主备极致RTO原理

1.2.4.openGauss传统主备极致RTO时间

1.3.openGauss资源池化主备架构介绍

说明:
- hot data:频繁访问的数据
- warm data:访问不那么频繁的数据



2、介绍资源池化架构原理,和传统 HA 架构区别
3、资源池化安装部署
资源池化介绍
openGauss资源池化是openGauss推出的一种新型的集群架构.通过DMS和DSS组件,实现集群中多个节点的底层存储数据共享和节点间的内存实时共享,达到节省底层存储资源以及集群内部支持一写多读且可以实时一致性读的目的。
资源池化架构图

- 在社区上正式发布的企业版安装包中, 如果需要搭建资源池化架构, 在硬件上需要准备磁阵, 服务器和光交换机,且需要部署CM和OM组件。
- 本文主要介绍可用于开发者进行开发的编译环境搭建方式, 不需要磁阵、CM和OM组件, 仅需要一台普通的物理机就可以搭建出资源池化的环境。
- 需要注意的是, 因为没有使用到真正的CM, 这种方式搭建的环境不能用于调试主备倒换或failover场景, 只能用于验证集群正常运行时的场景。
组件说明:
| OM | 运维管理模块(Operation Manager)。提供数据库日常运维、配置管理的管理接口、工具。 |
|---|---|
| CM | 数据库管理模块(Cluster Manager)。管理和监控数据库系统中各个功能单元和物理资源的运行情况,确保整个系统的稳定运行。 |

- 读写节点和只读节点共享一份底层存储。
- 读写节点和只读节点之间通过TCP或RDMA协议使用DMS组件共享Shared Buffer Pool中的热数据页。
- 读写节点和只读节点通过DSS API和DSS Server的协同访问底层共享存储中的持久化的数据。
服务器环境
| ip | OS version | 配置 | 官方要求 | |
|---|---|---|---|---|
| 实验环境 | 192.168.40.122 | Centos7.3 | 1C4G40GB | 磁盘空余空间大于200GB |
- 已经自行使用编译方式编译出了openGauss带资源池化代码的debug版本的安装包, 可以通过确认生成的bin目录下是否有dssserver, dsscmd, lib目录下是否有libdms.so, libdssapi.so , libdssaio.so, 来判断,同时要保证编译openGauss时使用的是测试版本的DSS组件和DMS组件,详细参考下面的步骤。
编译安装
说明:
- openGauss必须用Debug模式编译,不能使用Release模式,DMS和DSS组件需要使用测试版本。
- 手动编译安装的方式中,没有包含CM和OM组件,而正式的使用环境中DSS组件和DMS组件对CM有依赖,所以在编译openGauss之前需要先用测试的模式分别编译DSS和DMS组件。
课时2:DataKit工具介绍
1、Datakit的整体介绍
Datakit的定位

DataKit的全景图

DataKit的整体架构

DataKit主要功能

2、Datakit的部署
环境准备
DataKit的搭建依赖于java 11+服务,所以在安装之前需要先安装openJDK11,并下载相应的DataKit安
装包。相关说明和软件包的下载链接如下:



3、DataKit基础插件

基础运维插件

数据迁移插件


业务开发插件

智能运维

课时3:MySQL迁移介绍
初步了解迁移全流程,掌握MySQL和openGauss之间数据迁移和校验的实现原理,了解openGauss工具一体化平台Datakit,并能运用该平台进行数据迁移。
01数据迁移概述


02openGauss迁移工具集
介绍了MySQL迁移全流程中五个关键步骤: 全量迁移、全量校验、增量迁移、增量校验、反向迁移的实现原理,接着介绍了一键式迁移portal,并对迁移工具集进行总结。































03工具一体化平台DataKit
介绍了工具一体化平台Datakit的能力,接着讲述了DataKit的部署方式,着重介绍了如何用DataKit实现MySQL迁移全流程。























04MySQL迁移全流程demo

1、了解MySQL迁移原理和迁移工具
2、MySQL的迁移演示
课时4:基于驱动的应用程序开发流程介绍
JDBC介绍
完成了JDBC的介绍,使学员们了解了JDBC的作用,同时也可以掌握openGauss社区的jdbc开源地址、发布包等内容,为下一步的驱动开发做好准备。



openGauss驱动原理
了解openGaussidbc驱动的协议、实现原理,掌握dbc代码的编译、调试能力,可以参与到idbc的社区问题实战活动。










纯JDBC应用程序开发
了解openGaussjdbc的加载过程和基本的jdbc应用程序编写。



使用ORM框架和连接池的应用程序开发
了解与驱动密切相关的ORM和连接池概念,以及掌握mybatis和druid的使用。


课时5:资源池化双中心容灾介绍
openGauss容灾架构介绍
通过本课程,学员可以对openGauss当前传统主备,资源池化,资源池化双中心容灾的架构都有所了解。对openGauss核心容灾故障恢复机制能够有基本的了解,着重掌握openGauss资源池化基于DORADO存储同城双中心方案
背景:金融、银行业对数据的安全有着较高的要求,当主集群机房发生断网、停电、火灾等情况下,需要保证数据的安全性以及服务的可用性,因此需要采用双集群的高可用方案。主集群在出现故障的情况下,备机房的数据还具备能继续提供服务的能力
本特性主要实现基于华为高端存储设备Dorado同步复制能力的RPO=0的双集群











课时6:资源池化开发者入门
在本课程中,会介绍资源池化的起源、特点,相对于传统单机、分布式的差异与共同,以及资源池化的架构,关键组件DMS\DSS的架构原理。同时教授大家如何安装部署一个资源池化的集群环境
还会向大家介绍资源池化的代码框架,openGauss 在传统单机模式上如何修改以实现资源池化功能。
期望大家可以从架构原、操作使用、实现方案三个层面都能够有一定程度的概念和理解。
资源池化架构简介








在本章节中,学员们了解了openGauss资源池化架构的起源以及主要原理,资源池化内两个关键组件DMS、DSS的概念、功能和原理。以及openGauss在传统架构上进行了哪些模块的修改,来对接DMS/DSS,支持资源池化能力。
安装部署方案

代码框架结构


开发逻辑适配





课时7:CM工具介绍
CM简介及架构部署介绍






CM主要模块及流程分析







主要故障场景及处理措施




CM其他相关特性介绍













CM客户端工具使用介绍





课时8:Dolphin插件介绍
在本课程中,会介绍openGauss插件的基本知识、如何使用等,再进一步介绍基于该机制实现的兼容性插件dolphin,包括总体架构、流程图等。期望大家通过该课程,能对openGauss的插件化架构有一定的概念和理解。
openGauss插件机制介绍





在本部分中,学员们了解了openGauss插件模块的基本内容,组成插件的重要元素,以及编译和使用方式等。
Dolphin插件介绍






在本部分中,学员们了解了openGauss兼容性插件dolphin的总体架构和流程图插件点如何设置,以及dolphin插件当前存在的局限性。
课时9:openGauss性能调优介绍
性能调优的总体思路与流程

性能分析














本节主要介绍了性能瓶颈分析的方法分析系统CPU、I/0、内存、网络状况
查看WDR
查询最耗性能的SQL等
系统调优













SQL调优






















课时10:openGauss和openLooKeng结合,提供大数据能力
通过本课程,学员可以对大数据分析工具openLooKeng和openGauss +shardingsphere分布式解决方案有整体的了解,并了解openGauss分布式模式和openLooKeng的安装部署方法,了解openGauss分布式模式和openLooKeng简单使用方法
openLooKeng介绍





openGauss分布式解决方案




openGauss分布式+openLooKeng



openGauss分布式+openLooKeng安装部署及使用







