暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss训练营学习心得

原创 古飞 2022-05-17
848

第一讲 openGauss概述

openGauss 核心技术及实践
高性能:NUMA多核优化 线程池原理 增量检查点原理 行列混合引擎 MOT内存表原理 Inplace Update引擎
可用性:极致RTO优化 Paxos协议自选主
安全性: 全密态等值查询原理 账本数据库
易运维: AI4DB自治数据库 DB4AI库内AI引擎

第二讲 主备HA集群部署 - 主备部署

HA 部 署:支持一台主机或者多台备机的配置方式,仅支持xml方式安装
部署流程描述
image.png

主备HA架构图
image.png
异步复制流程:(主机日志落盘后即可提交事务,性能高,可靠性差)
image.png
同步复制流程:(默认备机日志落盘后主机提交事务,强同步模式,有性能损耗,可靠性高)
image.png

常用的运维工具:gs_om、gs_expansion、gs_dropnode、gs_upgradectl、gs_ssh、gs_backup、gs_collector、
gs_checkperf、gs_checkos、gs_check
image.png

第三讲 主备HA部署 - 集群管理组件

常见的故障处理

故障类别
	1、实例故障(Monitor、CMA、DN、CMS)
	2、磁盘故障/网卡故障/网络故障
	3、节点故障 (节点上包含组合实例)
	4、AZ级别 (AZ内包含多个节点)
管理面的实例故障
	1、Monitor故障,借助操作系统定时任务进行恢复。
	2、Agent故障,由Monitor进行恢复。
	3、CMS故障,由Agent负责拉起,会基于paxos协议自选主。
DN实例故障
	1、DN备故障,由Agent拉起,如果拉不起来,不影响DN主业务。
	2、DN主故障,由Agent拉起,如果拉不起来,CM仲裁DN备升主。

主实例故障仲裁过程
image.png

第四讲 WDR报告和性能调优

系统级: 集群级别或节点级别指标
	• OS
	• Instance Time
	• Memory
	• Session, Thread
	• Events, Utility
对象级:数据库对象指标
	• Database、Table、Index
	• File
	• Lock
应用级:表征应用负载性能
	• Transaction、Statement
	• Active session Profile
	• Slow query
	• Full SQL trace

WDR- - WDR Snapshot

定期对DBE_PERF内global/summary视图采集快照
	dbe_perf.summary_statement -> snapshot.snap_summary_statement
	dbe_perf.summary_workload_sql_count -> snapshot. snap_summary_workload_sql_count
查看当前WDR snapshot列表:
	select * from snapshot.snapshot order by start_ts;
查看某次WDR snapshot中相关summary/global快照的时间花费
	select * from snapshot.tables_snap_timestamp where snapshot_id = 1 order by start_ts;
手工创建WDR snapshot
	select create_wdr_snapshot();
	CCN + monadmin
默认:
	1小时自动运行一次
	数据保留8天

WDR- - 集群级报表

• Summary
	Database Stat
	Load Profile
	Instance Efficiency Percentages
	IO Profile
• SQL Statistics
• Cache IO Stats
• Object Stats
• SQL Detail

WDR- - 节点级报表

• Summary
	Instance Efficiency Percentages
	Top 10 Events by Total Wait Time
	Wait Classes by Total Wait Time
	IO Profile
	Memory Statistics
• Time Model
• SQL Statistics
• Wait Events
• Cache IO Stats
• Utility Status
• Object stats
• Configuration Settings

性能调优案例分析- - 整体性能问题
image.png

性能调优案例分析- - 单语句性能 问题
image.png

第五讲 openGauss的AI特性

openGauss AI整体架构
image.png

image.png

第六讲 安全

openGauss 整体安全架构
image.png

全密态数据库

数据安全
	在客户端,数据被加密
	在其他介质,数据以密文形式传输、
	计算、存储、同步、备份等
管理可信
	密钥仅保存在客户端,特权角色仅能
	查看数据密文
法律合规
	数据安全法律法规相继发布,密评、
	等保、分类分级等要求出台,对数据
	全生命周期保护提出了更严格要求

第七讲 openGauss与PostgreSQL的部分特性对比

内存相关配置
image.png
参数配置管理
image.png

数据库初始化创建
image.png
安装插件
image.png

主从同步配置
image.png

用户加密配置
image.png

客户端HBA安全配置
image.png

第八讲 如何正确连接openGauss

failed_login_attempts:为了保证帐户安全,如果用户输入密码次数超过一定次数(failed_login_attempts),系统将自动锁定该帐户,默认值为10

postgres=# SHOW failed_login_attempts;
 failed_login_attempts
-----------------------
 10
(1 row)

password_lock_time: 当帐户被锁定时间超过设定值(password_lock_time),则当前帐户自动解锁,默认值为1天

password_encryption_type:用户密码存储在系统表pg_authid中,为防止用户密码泄露,openGauss对用户密码进行加密存储,所采用的加密算法由配置参数password_encryption_type决定
取值范围:*0、1、2、3
	0表示采用md5方式对密码加密。
	1表示采用sha256和md5两种方式分别对密码加密。
	2表示采用sha256方式对密码加密。
	3表示采用sm3方式对密码加密。

图形界面连接

• Data Studio:是一个集成开发环境(IDE),帮助数据库开发人员便捷地构建应用程序,以图形化界面形式提供数据库
关键特性。
• Dbeaver:跨平台的数据库开发者工具,包括SQL编程、数据库管理和分析。它支持任意适配JDBC驱动的数据库系统。
同时该工具也支持一些非JDBC的数据源,如MongoDB、Cassandra、Redis、DynamoDB等。
• Navicat:Navicat for PostgreSQL 是一套易于使用的图形化 PostgreSQL 数据库开发工具。从编写简单的 SQL 查询到
开发复杂的数据库,支持 Amazon Redshift、Amazon Aurora、Amazon RDS、Microsoft Azure、阿里云、腾讯云、
华为云等云数据库和所有 PostgreSQL 数据库对象。
• DbVisualizer:DbVisualizer is the ultimate database tool for developers, analysts and DBAs. It runs on all
major OSes and connects to all major databases.
• Pgadmin4:pgAdmin 4 is a rewrite of pgAdmin III (see below) in Python/Javascript. It isable to be run either in
it’s own C++ based Desktop Runtime, or as a webapplication for multiple users.

第九讲 openGauss扩缩容、升级及监控管理

扩缩容工具

gs_expansion
openGauss提供了gs_expansion工具对数据库的备机进行扩容。支持从单机或者一主多备最多扩容到一主
八备。
gs_dropnode
openGauss提供了gs_dropnode工具从一主多备的数据库中移除不需要的备机,最多可以删除到只剩下单
机。

扩容步骤

1.新节点创建omm用户和用户组dbgrp
2. 检查新节点环境变量
3.创建互信,包括root和omm用户
4.创建新的xml文件
5.进行扩容

gs_expansion -U omm -G dbgrp -h 172.20.10.6 -X /home/omm/clusterconfig.xml

-U 
运行openGauss的操作系统用户名。新增扩容的备机用户名必须与已安装数据库的主机保持一致,且要提前创建好
-G
运行openGauss的操作系统用户组。新增扩容的备机用户组必须与已安装数据库的主机保持一致
-X
openGauss配置文件路径
-h
指定扩容备机的IP地址
-L 
如果要扩容的节点已经安装了单机版的数据库,扩容时候添加 –L参数可以跳过在新扩容备机上安装数据库的步骤,直接建立主备关系
--time-out=SECS 
普通用户参数,重启或加载生效

缩容步骤

1.确认当前数据库状态和环境变量
2.执行命令删除节点
3.确认摘除节点数据是否需要保留
4.不需要保留的话,手动清理

gs_dropnode -U omm -G dbgrp -h 172.20.10.6
gs_uninstall --delete-data -L

-U
运行openGauss的操作系统用户名。新增扩容的备机用户名必须与已安装数据库的主机保持一致,且要提前创建好
-G
运行openGauss的操作系统用户组。新增扩容的备机用户组必须与已安装数据库的主机保持一致
-h
指定扩容备机的IP地址

openGauss升级

当前支持的升级模式为就地升级和灰度升级。升级方式的策略又分为大版本升级和小版本升级用户挑选升级方式后,系统会自动判断并选择合适的升级策略
就地升级:升级期间需停止业务进行,一次性升级所有节点。
灰度升级:灰度升级支持全业务操作,也是一次性升级所有节点。
升级过程中,不允许对wal_level、max_connections、max_prepared_transactions、
max_locks_per_transaction这四个GUC参数的值进行修改。如果修改,会导致回滚后实例启动异常。

1.备份数据
2.上传并解压新版本的软件包
3.执行gs_preinstall脚本进行预安装    (gs_preinstall -U omm -G dbgrp -X /home/omm/single.xml)
4.执行gs_upgradectl升级       (gs_upgradectl -t autoupgrade -X /home/omm/single.xml --grey)
5.检查版本并测试
验证无误,升级提交  / 回滚到上个版本

gs_upgradectl -t commit-upgrade -X /home/omm/single.xml
一旦提交操作完成,则不能再执行回滚操作

gs_upgradectl -t auto-rollback -X /home/omm/single.xml

-t
gs_upgradectl命令的类型。
取值范围:chose-strategy、auto-upgrade、auto-rollback和commit-upgrade
-l
用于记录升级或回滚过程中的日志信息。
取值范围:任意存在的可访问的绝对路径。
默认值:/var/log/gaussdb/用户名/om/gs_upgradectl-YYYY-
MM-DD_hhmmss.log
-X 
openGauss配置文件路径
--grey
使用灰度升级方式来进行升级操作
--force 
当openGauss状态不正常,无法支持正常回滚时,用此参数进行强制回滚操作


第十讲 数据库日常使用

规范的意义

为了确保团队内以及团队之间可以快速顺利的进行工作交接,在最小的成本下理解已经存在的数据库对象。
• 规范需要持续维护,不断改善来适应自身业务的发展。
• 标准的规范可以减少出错的概率,保证程序安全稳定运行。
• 可以快速定位问题原因并有效解决。
• 标准的规范可以提升开发效率,也可自动化管理。

规范说明:

强制:必须遵守
推荐:最佳实践
参考:建议遵守

规范分类:

• 设计规范
• 开发规范
• 使用规范
• 运维规范
• 安全规范

运维关注点

• 集群状态、节点状态、角色切换、如何监控
• 数据库日志分类
• 数据库性能检查(系统视图、sql执行计划和WDR报告)
• 故障定位手段

第十一讲 openGauss社区介绍

openGauss社区主体部分采用木兰宽松许可证v2

开源协议:木兰宽松许可证v2(Mulan PSL v2),木兰宽松许可证由中国开源云联盟提出,并于2019年8月在开源云联盟官网上线,这是中国首个官方推出的开源协议。2020年2月12日,木兰宽松许可证v2经过严格审批,正式通过开源促进会(OSI)认证,被正式批准为国际类别开源许可证。

openGauss技术生态全景图
image.png

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论