it编程 > 数据库 > PostgreSQL

PostgreSQL ACE 深度访谈 | 第五期 郭一军

167人参与 2024-08-04 PostgreSQL

导语

由pg分会发起的“postgresql ace深度访谈”栏目,旨在挖掘ace们对数据库行业的深度洞察,分享他们对行业发展的思考和个人感悟,对广大pger们具有实际借鉴意义。


以下正文,转载请注明出处,并获得作者允许。



正文





01

请简单介绍一下自己,您的爱好或您的家乡。

从业20+年it老兵,创办了云贝教育,是中国postgresql分会认证讲师,oracle认证讲师、mysql认证讲师、腾讯云tdsql认证讲师,oceanbase认证讲师、阿里云云计算认证讲师、阿里云大数据认证讲师,北京吉利大学企业导师,itpub论坛社区资深版主。有10+年的数据库授课经验,曾给中国人民银行、中国银行、中国农行、中国建行、中国银联、中国邮政、交通银行、平安银行、招商银行等企业开展内训。


我的家乡衢州,位于浙江西部,钱塘江上游,是一座具有1800多年历史的江南文化名城,素有“四省通衢、五路总头”之称。旅游资源丰富多样,包括江郎山、龙游石窟、水亭门历史文化街等著名景点。美食同样丰富多采,有“三头一掌”、烤饼、麻饼、发糕、汽糕、油炸馃、肉圆等特色小吃。


02

请介绍下您的自媒体平台以及创作背景


1)云贝教育网站:知识库-》数据库-》postgresql


网址:

https://www.yunbee.net/home/index/repository/subid/5/cid/44.html


2)tdpub数+社区:文章-》postgresql


网址:http://www.tdpub.cn/blog/lists.html


3)微信公众号“云贝教育”:技术文章-》pg


后继续会把更多的pg技术文章发到网站、社区、公众号。


03

您最近读过的一本书是什么?或者您想推荐给读者的一本书是什么?


最近几年我很少去读it技术类的书籍,更喜欢看一些心理学类的书籍。最近我读了一本书《非暴力沟通》,在阅读《非暴力沟通》之前,我一直认为自己在沟通中是客观和平和的。然而,书中指出,许多我们认为平和的谈话方式其实是“暴力”的。这种“暴力”并不是指身体上的攻击,而是语言和态度上的攻击。我们常常站在自己的立场上说话,带有导向性和目的性,无法区分评价和事实。这种方式会无形中引发自己和他人的痛苦。《非暴力沟通》不仅让我重新审视了自己的沟通方式,还教会了我如何更有效地表达自己的需求和理解他人。这本书强调的是关爱自己,关爱他人,理解自己,理解他人,从心底认同这个看法,才能真正做到非暴力沟通。我打算继续深入领悟这本书,并利用其指导我的生活和实践。通过这本书,我学到了很多关于如何更好地与人沟通的方法,也希望这些方法能帮助到更多的人。


04

您是什么时候开始接触postgresql,为什么会选择使用它?


我是在2017年开始接触postgresql数据库,当时在吉利汽车研究院负责云计算和大数据10亿级的自动驾驶adas 道路试验信息服务平台项目,实现全自动泊车、最后一公里od(origin-destination)无人驾驶这两个场景的远程实时监控、数据分析和智能化支持。在数据库技术选型过程中选择了postgresql作来管理库存放元数据,主要考虑了几个关键因素:postgresql功能全面性、高性能和可靠性、扩展性和灵活性、开源和成本效益、数据一致性和恢复能力以及强大的社区支持和生态系统。


05

您的学生时代接触过postgresql吗?您大学中所学的知识是否帮助到了现在的工作?


我大学生时代没接触过postgresql,那时侯学接触了oracle数据库和思科网络,为现在的工作dba/讲师职业生涯打下坚实的理论基础。


06

您还记得您最开始使用的postgresql版本吗?有没有令您印象深刻的地方?


我最开始使用的版本是postgresql 10,在这个版本中确实有许多令人印象深刻的特性和改进。引入了原生的分区表支持,这使得管理和查询大规模数据集变得更加高效;对并行查询功能进行了增强,包括并行索引扫描和并行合并连接,充分利用了多核处理器的优势,提高了数据的整体性能。逻辑复制是postgresql 10的一大亮点,它允许用户在不同数据库实例之间复制数据。postgresql10增强了身份验证机制,引入了scram-sha-256 身份验证方法,还改进了对ssl/tls的支持,进一步提升了数据传输的安全性。postgresql10对json和jsonb进行了进一步改进,包括新的函数和操作符,使得处理json数据更加高效和便捷。


07

您目前正在从事哪些与 postgresql 相关的工作或项目?


创建了云贝教育,目前主要从事it认证培训和就业培训相关工作。对金融行业top 70%的银行做过数据库培训包括tdsql,postgresql等。


针对postgresql培训设计了一套学习技术路线,从认证考试到工作就业整个闭环,对postgresql技术培训课件、实验手册,从理论到实战的设计、研发。


目前培养了pgca/pgce认证人数300+,pgcm认证人数50+,pgch认证人数100+,tdsql(pg)认证人数200+。


08
您如何为 postgresql 做出贡献(主题分享、发表文章、文档贡献、代码贡献等)?


致力于推广和普及postgresql数据库技术,推动postgresql人才培养,助力国产数据库产业的发展(课程建设、人才培训、认证推广)。


09

您最喜欢postgresql的功能或扩展是什么?

postgresql 作为一个功能强大的开源关系型数据库,拥有许多令人喜爱的功能和扩展。以下是我最喜欢的几个功能和扩展:


1)jsonb 数据类型


postgresql 支持 jsonb 数据类型,这使得它能够高效地存储和查询 json 数据。jsonb 提供了二进制存储格式,支持索引和快速访问,适用于需要处理大量非结构化数据的应用,如日志分析、配置管理和实时数据流处理。


2)postgis 扩展


postgis 是 postgresql 的地理空间扩展,使其能够处理地理信息系统(gis)数据。postgis 提供了丰富的地理空间函数和操作,支持复杂的地理空间查询和分析。这对于需要处理地理位置数据的应用,如地图服务、物流管理和环境监测系统,具有重要意义。


3)丰富的数据类型支持


postgresql 支持广泛的数据类型,包括数组、json、xml 等,以及用户自定义的数据类型。这使得开发者可以更灵活地建模和存储数据,满足各种复杂数据结构的存储和查询需求。例如,在科学研究中,复杂的数据类型支持可以帮助研究人员更好地管理实验数据。


10

postgresql 最新版本中您最喜欢哪个功能?


pg17新增的vacuum进程优化:vacuum进程采用了新的数据结构,内存使用量最高减少20倍,同时减少了完成任务的总时间。vaccum进程能够使用的内存不再限制为1gb,而是由系统变量maintenance_work_mem进行配置。


11

除此之外,你希望在 postgresql 中看到什么功能/机制?为什么?


我希望在postgresql 中有传统意义上的undo模块。postgresql与oracle和mysql不同,postgresql将undo功能深藏在每个表内。事务修改的数据可以通过mvcc(多版本并发控制)机制进行回滚。mvcc允许数据库在不锁定数据的情况下进行并发操作,从而实现数据的一致性和隔离性。没有传统意义上的undo在高并发低延迟的oltp环境中很容易导致表膨胀问题,对性能的影响还是比较大的。


12
您认为从事postgresql 技术工作的门槛高吗?需要做哪些准备,具备什么样的知识储备呢?


从事postgresql技术工作的门槛并不高,但需要具备一定的基础知识和专业技能。通过系统学习和实践,可以逐步提升自己的能力,胜任相关岗位。具体的要求和准备工作会因岗位的不同而有所差异。以下是详细的分析和建议:


1)基础知识


数据库基础:了解关系型数据库的基本概念,如表、索引、视图、事务等。


sql语言:熟练掌握sql语言,包括数据查询、更新、删除和插入操作。


操作系统知识:熟悉linux操作系统,因为postgresql通常运行在linux环境中。需要掌握基本的命令行操作和系统管理技能。


2)专业技能


postgresql特性:深入了解postgresql的特性,如多版本并发控制(mvcc)、表分区、索引类型(b-tree, hash, gin, gist等)、存储过程和触发器等。


性能优化:掌握性能优化技巧,包括查询优化、索引优化、配置参数调整等。了解如何使用explain命令分析查询计划。


备份与恢复:熟悉postgresql的备份与恢复机制,如逻辑备份(pg_dump)和物理备份(pg_basebackup)。


3)开发与运维


开发技能:如果从事开发工作,需要掌握至少一种编程语言(如python、java、c++),并了解如何与postgresql进行交互。


运维技能:如果从事运维工作,需要具备数据库安装、配置、监控和故障排除的能力。了解常用的监控工具(如prometheus, grafana)和日志分析工具。


4)学习资源


官方文档:postgresql官方文档是最权威的学习资源,涵盖了从基础到高级的所有内容。


社区与论坛:参与postgresql社区,阅读和参与讨论,可以获取最新的信息和解决实际问题的经验。


书籍与课程:推荐阅读一些经典书籍,如《postgresql: up and running》和《mastering postgresql》。参加在线课程或培训班也是不错的选择。


5)实践经验


项目实践:通过实际项目积累经验,尝试搭建自己的postgresql环境,进行数据建模、查询优化等实际操作。


开源贡献:参与开源项目或社区活动,不仅可以提升技术水平,还能结识更多同行,拓展人脉。


13

对于那些想要开始从事postgresql 的人,您有什么建议?


通过安装和配置postgresql开始,掌握基本的数据库操作,然后利用在线教程、官方文档、社区支持以及在线课程和书籍来深入学习。通过不断实践和交流,可以逐步掌握postgresql的高级功能和优化技巧。当然也可以参加一些专业的postgresql认证培训,获得讲师的帮助。


14

您参加过那些关于postgresql的会议,是否在会议上发表演讲?


1)2022-2023年中国postgresql分会pg.live线上沙龙-发表演讲《postgresql国产分布式数据库sql tuning应用案例分析》


2)2023年pg分会走进杭州-技术沙龙-发表演讲《postgresql国产分分布式核心技术解析》


3)第13届postgresql中国技术大会-发表演讲《数据冷热分离在金融行业的实践》


15

对于即将发布的postgresql 新版本,您期待它有什么样的的新特性吗?


1)仔细分析错误信息、日志、性能指标等,确定问题的症状和根源。


2)通过问题重现方式,对问题进行测试验证,找到最终解决方案。


3)善用postgresql官方文档、社区论坛等资源,寻找相似问题的解决方案。


4)可以寻求专业技术支持,与postgresql专家进行深入沟通和交流。


5)在必要的情况下,阅读和分析postgresql的源码是解决问题的有效手段。


16

您认为身为pg ace,应该具备那些技能或品质?


身为一名pg ace不仅需要深厚的技术功底,还需要持续学习、乐于分享、积极参与社区活动,并具备创新能力和解决问题的能力。这些技能和品质不仅能帮助个人成长,也能推动整个postgresql社区的发展。



(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

国际新闻:PostgreSQL 16 RC1 发布!

08-04

PostgreSQL优化:Autovacuum 调优基础知识

08-04

IvorySQL3.0:基于PG16.0最新内核,实现兼容Oracle数据库再升级

08-04

PostgreSQL初/中/高级认证考试(7.20)通过考生公示

08-04

State of PostgreSQL 2023 报告解读

08-04

Stackoverflow年度报告:PostgreSQL蝉联“最受欢迎数据库” !

08-04

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论