暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PostgreSQL ACE 深度访谈 | 第十期 崔鹏


导语

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



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



正文





01

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


大家好,我是崔鹏,自取得计算机博士学位后,一直从事与数据库相关的工作,目前任职海能达通讯股份有限公司数据库团队负责人。平时喜欢技术分享、PostgreSQL源码研究,除了技术工作以外的最大爱好就是跑步,参加过6次马拉松,每次都感觉是身心双重挑战与自我超越的非凡体验。我的家乡在冰城哈尔滨,圣索菲亚的优雅,松花江的宁静,都是哈尔滨的独特韵味。


哈尔滨以其独特的冰雪文化、俄罗斯风情和东北民俗而著称,拥有冰雪大世界、中央大街和圣索菲亚教堂等著名旅游景点。当地美食如锅包肉、马迭尔冰棍和红肠,深受大家喜爱。这座城市融合了历史与现代、自然与文化的魅力,是四季皆宜的旅游胜地。


冰雪大世界(图片来自网络)


圣索菲亚教堂(图片来自网络)


02

我们能从哪些渠道了解到您?


欢迎大家关注我的个人公众号,整理分享了很多PG技术文章,大家也可以添加我的微信,交流沟通PG技术。


03

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


《postgresql_internals-14》这本书不仅加深了我对PostgreSQL的核心原理的理解,也为我在实际项目中应用PostgreSQL数据库提供了宝贵原理参考。



04

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


我记得是在2014年因为工作需要开始使用PostgreSQL,选择PostgreSQL主要以为以下几个有点:


1) 强大的功能:PostgreSQL支持复杂查询、事务处理和多种数据类型,非常适合处理复杂的数据需求。


2) 开源社区:作为一个开源项目,PostgreSQL拥有活跃的社区支持,这让我能够获得丰富的资源和帮助。


3) 可扩展性:其扩展机制让我能够根据具体需求定制功能,灵活适应不同的应用场景。


4) 高性能和可靠性:PostgreSQL在性能和数据一致性方面表现优异,适合各种规模的应用。


这些特点让我对PostgreSQL产生了浓厚的兴趣,并最终选择它作为我的数据库解决方案。


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


在毕业设计和撰写毕业论文时,会选择数据库相关的课题,数据仓库、数据挖掘、数据分析。在这些课题的研究过程中,我需要使用PostgreSQL等数据库系统来存储、管理和分析数据。


大学中所学知识带来的帮助主要有以下几点:


1) 理论知识:了解关系数据库的基本概念和设计原则,使我更容易理解PostgreSQL的架构和功能。


2) 实践经验:在课程项目中使用SQL进行数据操作,帮助我熟悉PostgreSQL的查询语法和最佳实践。


3) 问题解决能力:通过学习如何调试和优化数据库查询,提高了我的分析和解决问题的能力。


这些知识和经验在我职业生涯中发挥了重要作用,使我能够更有效地使用PostgreSQL来满足实际需求。


06

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


目前,我从事的与PostgreSQL相关的工作和项目主要包括:

1) 数据库设计与优化:负责设计和优化数据库架构,以确保高效的数据存储和快速查询响应。

2) 数据迁移:进行数据迁移项目,将旧系统的数据转移到PostgreSQL中,确保数据完整性和一致性。

3) 性能监测与调优:使用各种工具监测数据库性能,并根据查询日志和统计信息进行调整,以提高整体效率。

4) 开发支持:协助开发团队,在应用程序中集成PostgreSQL,提供相关的SQL查询支持和性能建议。

5) 备份与恢复策略:制定和实施数据库备份和恢复策略,确保数据安全和可恢复性。

6) 数据库自动化智能化运维系统构建。


07

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


我最开始使用的PostgreSQL版本是9.x系列。这个版本让我印象深刻的地方主要有以下几点:


1) 丰富的功能:当时我惊讶于PostgreSQL支持的多种数据类型和扩展功能,比如JSON支持,能够处理非结构化数据。


2) 性能优化:在对比其他数据库时,我发现PostgreSQL在查询性能和并发处理方面表现出色,尤其是在复杂查询中。


3) 社区支持:我很快融入了PostgreSQL的社区,发现有很多资源和文档可供学习,帮助我快速掌握相关知识。


这些初步体验为我后续深入学习和使用PostgreSQL奠定了基础。


08

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


经常在国内数据库大会或技术社区做主题分享,相关主题简单整理如下:


1) 2023DTCC《PostgreSQL的高可用架构设计与实践》


2) 《PostgreSQL运维经验谈之降龙十八掌》


3) ITPUB技术分享《开源中国 MySQL vs. PostgreSQL,谁是世界第一》


4) Postgres.Live技术沙龙《PostgreSQL与物联网数据处理》


5) 墨天轮《Oralce数据库国产化替换行业案例分享》


6) 《阿里云 PolarDB-PG架构简介及日常运维浅析》


7) 2023年度中国PG生态大会《PostgreSQL16新特性解析》


平时会通过“CP的PostgreSQL厨房”公众号,发表PG相关技术文章,翻译了英文版Patroni帮助文档。


09

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


主要喜欢以下几个功能,对工作上的帮助很大:


1) 丰富的数据类型:PostgreSQL支持多种数据类型,如JSONB、数组和自定义类型,使得处理复杂数据结构更加灵活。


2) 窗口函数:窗口函数使得对数据进行高级分析变得简单,可以轻松实现排名、累计和移动平均等操作。


3) 事务处理和一致性:它提供了强大的事务处理能力,确保数据的一致性和完整性,特别是在并发环境下表现优异。


扩展功能方面,关注和研究了PostGIS、TimescaleDB 。



10

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


块级别增量备份与恢复功能。


11

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


结合我个人的学习和工作经验,总结一下几条供大家参考:


1) 基础知识学习:了解关系数据库的基本概念,如表、索引、关系、事务等。这为后续深入学习打下坚实基础。


2) 官方文档:认真阅读PostgreSQL的官方文档,这是最权威的资料,涵盖了所有功能和最佳实践。


3) 实践操作:安装PostgreSQL并从简单的项目开始,进行实际操作。可以创建数据库、编写查询和进行数据操作,逐步熟悉其语法和特性。


4) 使用图形工具:尝试使用pgAdmin或DBeaver等图形化工具,帮助你更直观地管理数据库和执行查询。


5) 参与社区:加入PostgreSQL的用户社区,如论坛、邮件列表或社交媒体群组,向其他开发者请教问题,分享经验。


6) 学习SQL:掌握SQL语言是关键,了解如何编写高效的查询,以及如何使用窗口函数、聚合函数等高级特性。


7) 扩展探索:了解PostgreSQL的扩展功能,例如PostGIS、全文搜索等,根据自己的需求选择合适的扩展进行学习。


8) 关注性能优化:学习一些基本的性能优化技巧,包括索引的使用、查询计划分析和分区策略。


12

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


2019年-2024年的PostgreSQL亚洲区峰会、中国区大会、以及技术沙龙均发表过,关于PostgreSQL高可用、内部原理、行业案例等方面的分享内容。后续也会持续关注参与分享。

13

在工作中是否遇到了有关PostgreSQL的难题,都是如何解决的?


首先会组织技术讨论小组,进行讨论。针对不容易诊断的问题,会通过阅读源码,进行问题点深度分析。


14

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


对PostgreSQL学习与使用怀有热情,乐于参与社区分享,积极与大家交流探讨技术话题。




文章转载自开源软件联盟PostgreSQL分会,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论