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


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

大家好,我是崔鹏,自取得计算机博士学位后,一直从事与数据库相关的工作,目前任职海能达通讯股份有限公司数据库团队负责人。平时喜欢技术分享、PostgreSQL源码研究,除了技术工作以外的最大爱好就是跑步,参加过6次马拉松,每次都感觉是身心双重挑战与自我超越的非凡体验。我的家乡在冰城哈尔滨,圣索菲亚的优雅,松花江的宁静,都是哈尔滨的独特韵味。
哈尔滨以其独特的冰雪文化、俄罗斯风情和东北民俗而著称,拥有冰雪大世界、中央大街和圣索菲亚教堂等著名旅游景点。当地美食如锅包肉、马迭尔冰棍和红肠,深受大家喜爱。这座城市融合了历史与现代、自然与文化的魅力,是四季皆宜的旅游胜地。

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

圣索菲亚教堂(图片来自网络)
欢迎大家关注我的个人公众号,整理分享了很多PG技术文章,大家也可以添加我的微信,交流沟通PG技术。


《postgresql_internals-14》这本书不仅加深了我对PostgreSQL的核心原理的理解,也为我在实际项目中应用PostgreSQL数据库提供了宝贵原理参考。
我记得是在2014年因为工作需要开始使用PostgreSQL,选择PostgreSQL主要以为以下几个有点:
1) 强大的功能:PostgreSQL支持复杂查询、事务处理和多种数据类型,非常适合处理复杂的数据需求。
2) 开源社区:作为一个开源项目,PostgreSQL拥有活跃的社区支持,这让我能够获得丰富的资源和帮助。
3) 可扩展性:其扩展机制让我能够根据具体需求定制功能,灵活适应不同的应用场景。
4) 高性能和可靠性:PostgreSQL在性能和数据一致性方面表现优异,适合各种规模的应用。
这些特点让我对PostgreSQL产生了浓厚的兴趣,并最终选择它作为我的数据库解决方案。
在毕业设计和撰写毕业论文时,会选择数据库相关的课题,数据仓库、数据挖掘、数据分析。在这些课题的研究过程中,我需要使用PostgreSQL等数据库系统来存储、管理和分析数据。
大学中所学知识带来的帮助主要有以下几点:
1) 理论知识:了解关系数据库的基本概念和设计原则,使我更容易理解PostgreSQL的架构和功能。
2) 实践经验:在课程项目中使用SQL进行数据操作,帮助我熟悉PostgreSQL的查询语法和最佳实践。
3) 问题解决能力:通过学习如何调试和优化数据库查询,提高了我的分析和解决问题的能力。
这些知识和经验在我职业生涯中发挥了重要作用,使我能够更有效地使用PostgreSQL来满足实际需求。
目前,我从事的与PostgreSQL相关的工作和项目主要包括:
1) 数据库设计与优化:负责设计和优化数据库架构,以确保高效的数据存储和快速查询响应。
2) 数据迁移:进行数据迁移项目,将旧系统的数据转移到PostgreSQL中,确保数据完整性和一致性。
3) 性能监测与调优:使用各种工具监测数据库性能,并根据查询日志和统计信息进行调整,以提高整体效率。
4) 开发支持:协助开发团队,在应用程序中集成PostgreSQL,提供相关的SQL查询支持和性能建议。
5) 备份与恢复策略:制定和实施数据库备份和恢复策略,确保数据安全和可恢复性。
6) 数据库自动化智能化运维系统构建。
我最开始使用的PostgreSQL版本是9.x系列。这个版本让我印象深刻的地方主要有以下几点:
1) 丰富的功能:当时我惊讶于PostgreSQL支持的多种数据类型和扩展功能,比如JSON支持,能够处理非结构化数据。
2) 性能优化:在对比其他数据库时,我发现PostgreSQL在查询性能和并发处理方面表现出色,尤其是在复杂查询中。
3) 社区支持:我很快融入了PostgreSQL的社区,发现有很多资源和文档可供学习,帮助我快速掌握相关知识。
这些初步体验为我后续深入学习和使用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帮助文档。
主要喜欢以下几个功能,对工作上的帮助很大:
1) 丰富的数据类型:PostgreSQL支持多种数据类型,如JSONB、数组和自定义类型,使得处理复杂数据结构更加灵活。
2) 窗口函数:窗口函数使得对数据进行高级分析变得简单,可以轻松实现排名、累计和移动平均等操作。
3) 事务处理和一致性:它提供了强大的事务处理能力,确保数据的一致性和完整性,特别是在并发环境下表现优异。
扩展功能方面,关注和研究了PostGIS、TimescaleDB 。
块级别增量备份与恢复功能。
结合我个人的学习和工作经验,总结一下几条供大家参考:
1) 基础知识学习:了解关系数据库的基本概念,如表、索引、关系、事务等。这为后续深入学习打下坚实基础。
2) 官方文档:认真阅读PostgreSQL的官方文档,这是最权威的资料,涵盖了所有功能和最佳实践。
3) 实践操作:安装PostgreSQL并从简单的项目开始,进行实际操作。可以创建数据库、编写查询和进行数据操作,逐步熟悉其语法和特性。
4) 使用图形工具:尝试使用pgAdmin或DBeaver等图形化工具,帮助你更直观地管理数据库和执行查询。
5) 参与社区:加入PostgreSQL的用户社区,如论坛、邮件列表或社交媒体群组,向其他开发者请教问题,分享经验。
6) 学习SQL:掌握SQL语言是关键,了解如何编写高效的查询,以及如何使用窗口函数、聚合函数等高级特性。
7) 扩展探索:了解PostgreSQL的扩展功能,例如PostGIS、全文搜索等,根据自己的需求选择合适的扩展进行学习。
8) 关注性能优化:学习一些基本的性能优化技巧,包括索引的使用、查询计划分析和分区策略。
2019年-2024年的PostgreSQL亚洲区峰会、中国区大会、以及技术沙龙均发表过,关于PostgreSQL高可用、内部原理、行业案例等方面的分享内容。后续也会持续关注参与分享。
首先会组织技术讨论小组,进行讨论。针对不容易诊断的问题,会通过阅读源码,进行问题点深度分析。
对PostgreSQL学习与使用怀有热情,乐于参与社区分享,积极与大家交流探讨技术话题。






