这开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题,有需求都可以加群群内,可以解决你的问题。加群请微信联系 liuaustin3 ,(共1970人左右 1 + 2 + 3 + 4 +5) 4群(420+ 关闭自由申请,新入群的将默认分配达到5群),另欢迎 OpenGauss 的技术人员加入。

年前参加了PG大会,我在台上提到的vacuum的问题以及如何整治,也就是说一个专门应对PG表膨胀管理的工具,我们已经上线测试了,下面给大家简单介绍一下,感谢同事在此的付出。
首先这套软件主要的目的就是为没有专业的PG的管理人员准备的,当然你有管理人员有这个工具你会将工作变得更简单。这里简单的说说工作的大致流程。
1 将需要管理的实例添加到系统中,并进行验证
2 在具有相关的权限的情况下,系统将针对系统表中的每个表的状态进行扫描,获得表状态的数据。
3 获得表状态数据后,直接将需要操作的表,送到自动vacuum的列表,并根据设定的时间,去运行你选择的多种vacuum的方式
4 系统将自动根据规则,将最需要进行vacuum的表排到执行的计划最前面,对于列表中的表进行ONE BY ONE 的表的vaucum ,当发现到了自动计划时间窗口下限的时候,会自动停止下发vacuum 指令。
5 没有执行完的表会在下一个维护窗口在进行 vacuum,或者你手动选择这些表,强制在规定时间范围外进行vacuum操作。
其他的功能,可以手动选择表,进行多种vacuum方式的操作选择,也可以针对表直接只进行 analyze 的操作。
当然还有更多的功能,在添加,争取做到尽善尽美。
下面是一些功能模块的说明
1 实例添加,本来我们有自己的CMDB的平台,设计是从CMDB平台将数据库的基础数据直接写入这个部分,但基于后面想如果作为一个通用型的工具,那么最好还是有自己独立的数据库加入的接口。

直接从添加实例的按钮中,点击并添加实例。


数据采集这部分实际就是针对当前一些DBA中关心的表进行整体状态的展示,这些数据也不光是展示,他会参与对于PG中每个表的状态评定,什么样规格的表,会使用不同的规则来进行vacuum 的处理,在不同的时间段内等。这部分暂时是写死的,后期可能改成可调整的。

通过调整日期可以发现表这一段时期的状态,当然后面会为这些做更智能的分析,甚至可以前摄的在非业务时间做vacuum 避免autovacuum的发生。
现在在分析完毕后,根据设定的维护窗口,会逐一将需要进行整理的表排列到系统中,在运行完毕后,会将操作的日志放到查看日志的连接中。


上图为点击了链接后的vacuum操作的日志,以便查询工作情况。
当前这些功能仅仅是非常简单的基础功能,后续我们会根据企业的要求,添加对于表更细致的参数设置,并满足一些情况下,对于某些表关闭开启autovacuum功能的需求,为什么要做这个软件,主要还是基于当前需求对于PG数据库的运行中autovacuum 被触发后,对于系统的影响需要进行控制和管理,让vacuum 和 autovacuum更加的图形化和界面化的方式进行展现,同时也会加入对于autovacuum的工作情况的统计与历史数据的记录,方便后续更好的前摄的管理PG数据库,比如有些项目细问在白天一些核心的表尽量不触发autovacuum的操作,到底autovacuum对于系统是否有影响,在有影响的情况下,怎么减少影响,使我们做这个系统最终希望达到的结果。
在这个部分可以添加的搞功能还有很多,相对于MYSQL PG的管理会需要更细致,与更注重细节,相信随着工具的加入,我们的PG运行会越来越稳定,提供持久且平稳的服务输出,截止当前我们已经此时1个月了,并未产生不良的后果,后续我们会在生产系统开始使用,并持续开发新的功能。

1447

被折叠的 条评论
为什么被折叠?



