PG数据库目前曾经成为最抢手的开源数据库之一,特意是由于其开源协定十分适宜商业化,因此少量的商用数据库,包含少量的国产数据库也都基于PG的开源代码启动研发。作为一个曾经的Oracle DBA,假设在现阶段要转型的话,学习一下PG数据库的运维,也算是防患未然了。我搞了差不多30年Oracle数据库,不过我预计在我退休前的这几年里,Oracle方面的活会有所缩小,而开源和国产数据库方面的运维提升需求会大大参与。于是从2017年开局,我和我团队的小同伴们就开局对PG数据库启动系统的学习了。Oracle DBA转而学习PG数据库,实践上还是比拟容易的,由于大型相关型数据库的基本概念是相通的,而且PG数据库由于没有了共享池和全局共享CURSOR这个超级复杂的机制,也要便捷得多。
假设依照上方的维度把Oracle数据库与PG数据库的运维做个比对。PG是开源数据库,无原厂允许,第三方服务水平较低,代码BUG可经过阅读源码定位,须要经过社区修复。在这里,第三方服务厂商就可以为客户提供很多服务,比如数据库的装置和初步伐优,以及活期的补丁与安保破绽审核,打补丁更新,处置日常遇到的BUG等。与领有原厂规范化补丁和服务的Oracle相比,PG数据库这方面相对较弱,须要第三方服务来加以允许。
关于运维监控与提升而言,PG数据库提供了雷同丰盛的监控接口和目的体系,不过局部监控接口须要装置插件,包含一些十分关键的监控采集内容,比如TOP SQL,都须要装置插件来成功。PG的第三方服务商应该协助用户提供这方面的装置部署服务。
另外一方面,PG数据库和操作系统联合得十分严密,运维上班与OS关联严密,相对便捷,没有复杂的共享池,运维关注点较为集中。在我团体的觉得里,PG数据库的运维更像是Oracle 9i时代的数据库运维。
与Oracle数据库不同的是,PG数据库的大版本更新对运维细节影响较大,甚至很多运维细节都是推翻性的。因此须要PG的运维人员始终地更新版本消息,否则很容易出现认知失误。
最后一方面,PG开源的第三方工具和第三方生态产品较多,而且这些工具与Oracle的第三方工具、生态产品不同,假设不能很好地把握这些工具和生态产品,会对PG数据库的运维发生比拟大的影响。假设你去运维Oracle数据库,那么只需把Oracle自身玩好就行了,Oracle数据库自身造成了一个十分完善的体系,周边工具与Oracle RDBMS之间是严密集成,而且从底层是贯串的。而PG数据库则不同,PG社区仅仅提供了一个RDBMS和一些必要的中心工具,剩下的运行所须要的性能都是其余的开源名目提供的。因此PG周边的生态工具数量宏大,性能也存在差异,与PG数据库的集成也是运行级的,没有在RDBMS底层启动买通。最大的疑问是用户在决定这些产品的时刻也比拟轻易,你去服务的不同客户或许会决定不同的高可用途理打算,决定不同的读写分别集群打算,经常使用不同的第三方插件来处置一些数据库的性能疑问。因此作为PG数据库的DBA或许运维服务人员,你须要片面地把握这些第三方生态工具,才干够真正把PG数据库的运维服务做好。
在PG数据库的运维中,从一个ORACLE DBA的角度,我也总结了一些日常运维与提升的上班内容。由于当天下午我还要赶到东莞去参与华为的鲲鹏昇腾开发者峰会,所以今早的事件比拟多,我就不开展引见了,假设大家有兴味,明先天我会把上方这个片子具体地引见一下。大家有兴味的话,就在上方留言吧。
关于留言,我便捷说几句,由于怕费事,我没有开启留言探讨的群众阅读性能,因此你们给我的留言我都是可以看见的,不过其余好友或许看不见。年岁大了,只想静静地写点物品,没有精神去就某些观念争执与答辩,大家请包涵。