167人参与 • 2024-08-04 • PostgreSQL
由pg分会发起的“postgresql ace深度访谈”栏目,旨在挖掘ace们对数据库行业的深度洞察,分享他们对行业发展的思考和个人感悟,对广大pger们具有实际借鉴意义。
以下正文,转载请注明出处,并获得作者允许。
从业20+年it老兵,创办了云贝教育,是中国postgresql分会认证讲师,oracle认证讲师、mysql认证讲师、腾讯云tdsql认证讲师,oceanbase认证讲师、阿里云云计算认证讲师、阿里云大数据认证讲师,北京吉利大学企业导师,itpub论坛社区资深版主。有10+年的数据库授课经验,曾给中国人民银行、中国银行、中国农行、中国建行、中国银联、中国邮政、交通银行、平安银行、招商银行等企业开展内训。
我的家乡衢州,位于浙江西部,钱塘江上游,是一座具有1800多年历史的江南文化名城,素有“四省通衢、五路总头”之称。旅游资源丰富多样,包括江郎山、龙游石窟、水亭门历史文化街等著名景点。美食同样丰富多采,有“三头一掌”、烤饼、麻饼、发糕、汽糕、油炸馃、肉圆等特色小吃。
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技术文章发到网站、社区、公众号。
最近几年我很少去读it技术类的书籍,更喜欢看一些心理学类的书籍。最近我读了一本书《非暴力沟通》,在阅读《非暴力沟通》之前,我一直认为自己在沟通中是客观和平和的。然而,书中指出,许多我们认为平和的谈话方式其实是“暴力”的。这种“暴力”并不是指身体上的攻击,而是语言和态度上的攻击。我们常常站在自己的立场上说话,带有导向性和目的性,无法区分评价和事实。这种方式会无形中引发自己和他人的痛苦。《非暴力沟通》不仅让我重新审视了自己的沟通方式,还教会了我如何更有效地表达自己的需求和理解他人。这本书强调的是关爱自己,关爱他人,理解自己,理解他人,从心底认同这个看法,才能真正做到非暴力沟通。我打算继续深入领悟这本书,并利用其指导我的生活和实践。通过这本书,我学到了很多关于如何更好地与人沟通的方法,也希望这些方法能帮助到更多的人。
我是在2017年开始接触postgresql数据库,当时在吉利汽车研究院负责云计算和大数据10亿级的自动驾驶adas 道路试验信息服务平台项目,实现全自动泊车、最后一公里od(origin-destination)无人驾驶这两个场景的远程实时监控、数据分析和智能化支持。在数据库技术选型过程中选择了postgresql作来管理库存放元数据,主要考虑了几个关键因素:postgresql功能全面性、高性能和可靠性、扩展性和灵活性、开源和成本效益、数据一致性和恢复能力以及强大的社区支持和生态系统。
我大学生时代没接触过postgresql,那时侯学接触了oracle数据库和思科网络,为现在的工作dba/讲师职业生涯打下坚实的理论基础。
我最开始使用的版本是postgresql 10,在这个版本中确实有许多令人印象深刻的特性和改进。引入了原生的分区表支持,这使得管理和查询大规模数据集变得更加高效;对并行查询功能进行了增强,包括并行索引扫描和并行合并连接,充分利用了多核处理器的优势,提高了数据的整体性能。逻辑复制是postgresql 10的一大亮点,它允许用户在不同数据库实例之间复制数据。postgresql10增强了身份验证机制,引入了scram-sha-256 身份验证方法,还改进了对ssl/tls的支持,进一步提升了数据传输的安全性。postgresql10对json和jsonb进行了进一步改进,包括新的函数和操作符,使得处理json数据更加高效和便捷。
创建了云贝教育,目前主要从事it认证培训和就业培训相关工作。对金融行业top 70%的银行做过数据库培训包括tdsql,postgresql等。
针对postgresql培训设计了一套学习技术路线,从认证考试到工作就业整个闭环,对postgresql技术培训课件、实验手册,从理论到实战的设计、研发。
目前培养了pgca/pgce认证人数300+,pgcm认证人数50+,pgch认证人数100+,tdsql(pg)认证人数200+。
致力于推广和普及postgresql数据库技术,推动postgresql人才培养,助力国产数据库产业的发展(课程建设、人才培训、认证推广)。
postgresql 作为一个功能强大的开源关系型数据库,拥有许多令人喜爱的功能和扩展。以下是我最喜欢的几个功能和扩展:
1)jsonb 数据类型
postgresql 支持 jsonb 数据类型,这使得它能够高效地存储和查询 json 数据。jsonb 提供了二进制存储格式,支持索引和快速访问,适用于需要处理大量非结构化数据的应用,如日志分析、配置管理和实时数据流处理。
2)postgis 扩展
postgis 是 postgresql 的地理空间扩展,使其能够处理地理信息系统(gis)数据。postgis 提供了丰富的地理空间函数和操作,支持复杂的地理空间查询和分析。这对于需要处理地理位置数据的应用,如地图服务、物流管理和环境监测系统,具有重要意义。
3)丰富的数据类型支持
postgresql 支持广泛的数据类型,包括数组、json、xml 等,以及用户自定义的数据类型。这使得开发者可以更灵活地建模和存储数据,满足各种复杂数据结构的存储和查询需求。例如,在科学研究中,复杂的数据类型支持可以帮助研究人员更好地管理实验数据。
pg17新增的vacuum进程优化:vacuum进程采用了新的数据结构,内存使用量最高减少20倍,同时减少了完成任务的总时间。vaccum进程能够使用的内存不再限制为1gb,而是由系统变量maintenance_work_mem进行配置。
我希望在postgresql 中有传统意义上的undo模块。postgresql与oracle和mysql不同,postgresql将undo功能深藏在每个表内。事务修改的数据可以通过mvcc(多版本并发控制)机制进行回滚。mvcc允许数据库在不锁定数据的情况下进行并发操作,从而实现数据的一致性和隔离性。没有传统意义上的undo在高并发低延迟的oltp环境中很容易导致表膨胀问题,对性能的影响还是比较大的。
从事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环境,进行数据建模、查询优化等实际操作。
开源贡献:参与开源项目或社区活动,不仅可以提升技术水平,还能结识更多同行,拓展人脉。
通过安装和配置postgresql开始,掌握基本的数据库操作,然后利用在线教程、官方文档、社区支持以及在线课程和书籍来深入学习。通过不断实践和交流,可以逐步掌握postgresql的高级功能和优化技巧。当然也可以参加一些专业的postgresql认证培训,获得讲师的帮助。
1)2022-2023年中国postgresql分会pg.live线上沙龙-发表演讲《postgresql国产分布式数据库sql tuning应用案例分析》
2)2023年pg分会走进杭州-技术沙龙-发表演讲《postgresql国产分分布式核心技术解析》
3)第13届postgresql中国技术大会-发表演讲《数据冷热分离在金融行业的实践》
1)仔细分析错误信息、日志、性能指标等,确定问题的症状和根源。
2)通过问题重现方式,对问题进行测试验证,找到最终解决方案。
3)善用postgresql官方文档、社区论坛等资源,寻找相似问题的解决方案。
4)可以寻求专业技术支持,与postgresql专家进行深入沟通和交流。
5)在必要的情况下,阅读和分析postgresql的源码是解决问题的有效手段。
身为一名pg ace不仅需要深厚的技术功底,还需要持续学习、乐于分享、积极参与社区活动,并具备创新能力和解决问题的能力。这些技能和品质不仅能帮助个人成长,也能推动整个postgresql社区的发展。
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论