张小白OpenGauss训练营日记2——openGauss训练营学习心得
接上一篇:张小白OpenGauss训练营日记1——openGauss训练营学习心得 https://www.modb.pro/db/108366
今天下午是训练营的最后4个小时,张小白如约来到直播间。
第六讲:openGauss实践总结 由彭冲老师主讲
彭老师介绍了在使用openGauss的时候常见的一些坑:
包含以下内容:
首先是Python版本问题,由于Python3.6可能存在较多的问题,建议使用Python3.7以上,这对熟悉源码安装Python 3.7.5的张小白而言可能不算什么问题了:
如果在某些有内网堡垒机的场所,不能配置互信,可以按照以下的方式进行安装:
如果修改过MTU的参数,可能会遇到以下的坑:
使用openGauss进行源码编译安装时,记住以下几点:
如果要让openGauss访问外部表(如外部的mysql或者oracle),需要安装相关的插件:
安装postgis插件时需要注意以下几点:
使用客户端连接服务器的时候,需要考虑以下几个方面:
openGauss默认是返回小写的列名,如果需要返回大写的列名,可以去下载老师做好的jar包:
openGause支持多种表分区方式:建个分区,哈希分区,列表分区和范围分区。需要注意,有些分区操作的语句需要在分区外加括号,有些语句不需要:
需要注意用户自定义函数的写法和调用方法:
如果没有public schema,在创建自定义函数时,可能会因为没有有效的“search path”而造成错误:
引用其他schema下的对象需指定schema名称:
有三种方式指定数据库兼容性,建议使用后两种方式:
遇到从Oracle的SYSDATE类型的数据迁移时,可以考虑以下的方式:
openGauss设置了不同的权限体系:
处理openGauss的备份恢复时,需注意以下内容:
可以使用SSL证书实现免密验证:
openGauss的官方客户端工具是Data Studio,openGauss也支持其他客户端工具,如pgAdmin等:
下面是以上经验的相关文档链接:
第七讲:openGauss最佳参数实践 由高云龙老师主讲
接着高云龙老师介绍了openGauss常用参数的含义和推荐值:
首先,高老师介绍了参数的3种查看方式:
参数分好多种,有些需要重启数据库方可生效,有些可以直接生效,具体的重启和加载命令如下:
可以使用gs_guc修改相关参数:
下面是一些高老师推荐的参数:
可以写好设置的脚本,然后执行使得系统参数生效:
也可以通过命令查看相关参数:
第八讲:openGauss和postgreSQL的差异 由高云龙老师主讲
高老师接着讲解了源于postgreSQL的openGauss与postgreSQL的异同:
体系结构上,一个是进程方式,一个是线程方式,还有以下区别:
运维工具上,openGauss及其相关产品MogDB有自己特定的运维工具BRM等等。在其他工具的名称上,与PostgreSQL能找到相对应的名字:
在特性上,openGauss更加强大:
在数据库对象的一些限制上,openGauss貌似支持的比PostgreSQL要略差一些:
在checkpoint机制上,PostgreSQL与openGauss有一定的区别:openGauss采用了类似MySQL的double write机制:
事务ID,openGauss是64位,PostgreSQL是32位。原则上openGauss不会有循环使用的问题:
但是PostgreSQL使用时需要小心:
第九讲:openGauss运维监控工具 由高云龙老师主讲
高老师意犹未尽,接着讲了openGuass的运维监控的相关问题:
首先介绍了运维监控的原理:
一般来说,常用的监控框架是: Prometheu+Grafana,它们的基本原理是采集相关监控信息,进行分析、展示和报警:
高老师所在的"云和恩墨"特意基于上述框架,开发了 opengauss_exporter:
安装配置 opengauss_exporter时,需注意以下问题:
监控指标文件:
opengauss_exporter可按照以下方式启动:
这是启动后的示例:
典型的采集指标的语句有:
采集数据库信息:
采集连接状态:
查看主备延迟情况:
查看复制slot和锁信息:
查看锁阻塞信息:
高老师还提了2个问题:
从本人的数据库使用经历来看,要关注数据库包括但不限于以下指标:
1.表空间、分区的使用情况;
2.碎片情况;
3.连接池信息;
4.慢SQL信息;
5.死锁信息;
6.主备延迟状态;
7.读写负载信息,读写分离压力分担情况;
8.单表记录超限预警
9.敏感操作审计和预警
10.。。。
第十讲:openGauss高可用搭建与问题解决 由刘伟老师主讲
高可用首先是架构问题:
高老师介绍了主备方式的架构原理:首先介绍的就是物理复制,一般来说,主备都是物理复制方式,逻辑复制指的一般是异构数据库同步。同步有4种级别。openGauss提供了最大可用模式,这样可以保证在备库故障时,不会导致主库的不可用。
openGauss的同步跟PostgreSQL同步方式相比多了2个方面,一个是使用了缓存接收,而不是直接刷日志文件,另一个是刷库的线程支持并行处理。这部分代码非常庞大,但是却能提高系统性能:
同步的规则如下:
讲到这个时候,直播发生了一点小插曲,刘老师的ppt意外退出了:
真是让人眼前一亮。
刘老师接着推荐了本地、同城、异地三中心的7库模式:
具体构建主备同步的操作如下:
其中主库的设置如下:
备库的操作如下:
查看同步状态的方式如下:
从不同的视角来看,主库和备库有以下几种状态:
主库宕机可以使用以下方式切换:
对于有时候会出现备库need repair的问题:可能是因为配置错误(比如节点名称写错),或者误操作导致(比如把备库启动成主库)
这时候,可以使用重新build备库的方式进行修复:
刘老师趁着时间有空,还通过实操对以上内容作了一些验证:
查看主库和备库状态:
验证 synchronous_standby_names配置错误时是否有问题:
当时发现没有生效,是因为配置文件关闭了synchronous_commit(off),将其打开:
重启数据库后,恢复成sync状态:
通过配置文件,强行改个错误的名字,再重启数据库后查看:
进行主备切换:
如果不小心将备库启动成主库:
再重新build进行修复:
刘老师通过实操让张小白加深了主备同步的印象。张小白感觉这块风险还是有点大的,还是操作时千万要小心才行。
第十一讲:openGauss社区介绍 由向新勇老师主讲
向老师首先介绍了全球的几大开源社区:
以及相关的开源文化:
介绍了开源带来的好处balabala。。。
现在,中国已经成为开源的重要贡献者:
华为深度参与了很多开源社区:
形成了硬件开放,软件开源的良好的生态:
从openGauss的发展来说:它已经是支持企业核心业务的开源数据库:
openGauss秉持以下的战略:
实现了高性能、高安全、高可用和易运维等技术创新:
openGauss具备以下治理架构:
技术委员会阵容强大,还会吸引更多优秀的技术领袖加入:
也形成了用户组:
企业可以通过签署企业CLA加入社区:
个人也可以签署个人CLA加入社区:(这个张小白好像在MindSpore社区做过)
社区有很多兴趣小组:
近期还在举办捉虫活动,奖品丰厚,看的张小白心痒痒的:
用户可以通过注册Gitee账号和提交issue和PR为openGauss社区做贡献,这点张小白在做MindSpore的时候好像写过一个博客:
张小白带你学习如何提交MindSpore Python API文档的issue和PR https://bbs.huaweicloud.cn/blogs/249868
向老师还实操了一下提交的过程:
具体跟踪操作PR的命令如下:
向老师说道:没有盈利的社区是没有价值的。。。
华为openGauss社区建立起来了产学研用的人才培养体系:
还有培训认证计划:
已经有250+通过了培训和考试:
向老师介绍了培训的流程:
包括目前出现的优惠活动:通过本次培训的人,只需要200元就可以参加考试了。。。
向老师最后做了总结:
最后,布道师朱金伟老师针对我们昨天和今天提出的问题做了解答:
其中我提出的问题,朱老师好像只回答了一个,就是关于openGauss和MindSpore的关系问题。其实张小白关注的是既然openGauss使用了DB4AI或者AI4DB的技术,可能会优先考虑华为自己的AI框架来实现这些功能吧。张小白可能想错了。朱老师回答是:在内部联系(个人的感觉那就是没有。。。)
张小白还提了几个问题,一个是主备同步的问题,一个是单表支持能力和分库分表支持能力的问题,这几个是张小白在工作中遇到的一些棘手的问题,,,,可惜因为时间太紧,朱老师好像都没有回答。。。
上完课之后,张小白就去参加考试了,在做了一些不会做的题目之后,张小白得到了这个:
感觉有资格去获取这次训练营的礼物,也有资格去参加后面的省钱培训了。。
好开心。。。
(全文完,谢谢阅读)
- 点赞
- 收藏
- 关注作者
评论(0)