全面解读《State of PostgreSQL 2023》报告
本文由 Cloudberry Database 社区根据 Timescale 发布的 2023 年最新《State of PostgreSQL》英文版报告整理而成。
《State of PostgreSQL》是由 Timescale 2019 年开始发起的一项 PostgreSQL 社区问卷调查,到今年已经进行了四年,问卷涉及受访者信息如区域、职位/工作状态、贡献经历,以及 PostgreSQL 使用场景与扩展/插件、所用可视化工具等。今年 ChatGPT 引发新一轮 AI 热潮,本次问卷也征集了受访者使用 PostgreSQL 处理 AI 和大模型工作负载的态度与获益。
本问卷调查持续了近两个月,共 888 人参与填写。由问卷整理出炉的报告内容丰富,为我们了解 PostgreSQL 社区提供了数据支撑。
下面就调查结果给大家做完整分享和解读。
一、受访者状况
你来自哪儿?
从 2021 年和 2022 年调查结果来看,EMEA(欧洲、中东、非洲)区域受访者几乎占一半,但今年看到 APAC(亚太地区)受访者增至 20.3%,较去年(11%)上升 9.3 个百分点。
你在技术部门工作多久了?
结果显示,81% 左右的 PostgreSQL 受访用户行业经验都在 6 年以上,从业 20 年以上的占比 32.4%。
你目前的职位是什么?
在 2023 年,软件开发人员/工程师的占比没有发生巨大变化──从去年的 43.3% 到 2023 年的 46.1%。今年的问卷对软件工程师这一笼统概念做了细分,分为前端工程师、后端工程师、全栈工程师和管理人员(包括 CxO、VP、总监和创始人)四类。细分之后发现 28.3% 受访者是后端开发人员,17.8% 是全栈开发人员。2023 年软件架构师参与更少,从 13.2%下降到 6.6%。同时,9.7% 参与者担任公司管理职务。
你所在行业是什么?
受访者所在最多的行业类型,以 IT、SaaS/软件类、金融/金融科技等为主。
你用 PostgreSQL 多久了?
根据 DB engines 排名(https://db-engines.com/en/ranking_trend?ref=cloudberrydb.org),PostgreSQL 的受欢迎程度一直很高。从问卷结果看,使用 PostgreSQL 不到一年的新用户数量连续三年增长──从 2021 年的 6.1% 到 2022 年的 6.4%,再到今年的 8.1%。2023 年 3-5 年用户占比也比 2022 年有所增长。但从数据统计看,具备 6-10 年以上的受访用户占比有所波动。
你是怎么知道 PostgreSQL 的?
今年相比去年结果显示,从工作或同事处得知 PostgreSQL 的受访用户占比从 37.4% 降至 28%,但这仍是大家知道 PostgreSQL 最大的来源。很多人已经忘记从哪儿开始了解到 PostgreSQL 的了,还有少部分是在学校、朋友、技术博客和技术论坛等处了解到 PostgreSQL 的,总之接触途径很多样。
你选择 PostgreSQL 的主要原因是什么?
综合问卷数据发现,人们选择 PostgreSQL 的前三大理由是开源、功能特性、可靠性,其他理由还包括如扩展、性能、SQL、生态、成本、ACID、可用性和社区等。不同年限的用户选择 PostgreSQL 原因也存在差别,接触 PostgreSQL 时间越长越会看重它的可靠性。
PostgreSQL 应用调查
相较于上一年,PostgreSQL 在你的组织中使用量多了还是少了?
51.2% 受访者表示,与前一年比,PostgreSQL 在所在组织中使用的更多了,其中 11-50 人规模的团队使用 PostgreSQL 增量最突出。
PostgreSQL 目前是你当前项目的主要数据库吗?
85.8% 受访者将 PostgreSQL 用作项目的主要生产数据库。
你使用 PostgreSQL 的主要使用场景是什么?
目前受访者主要将 PostgreSQL 用于应用开发、仪表盘、监控、IoT、DevOps 方面,今年新增的场景选项“AI/机器学习”也入选前六大场景。
目前你在使用哪个 PostgreSQL 版本?
在今年的问卷中,引入了一个新的问题就是调查大家正在使用哪个 PostgreSQL 版本,从结果来看,生产环境和开发环境最常用的 PG 版本是最新的 2 个 PG 版本:PostgreSQL 15 和 PostgreSQL 14。
(备注:在问卷期间,PostgreSQL 16 还未正式发布,仅有 PostgreSQL 16 Beta 可选,所以 PG 16 用户较少)。
在使用 PostgreSQL 时面临的最大挑战是什么?
该问题也是在今年问卷中首次引入。受访者反馈“查询优化”是主要难点,其次是维护操作、PostgreSQL 参数调优、运维管理等。同时,暴露出来的挑战还有人员招聘、数据迁移、安全等反馈。
你在生产应用中使用哪些 SQL 功能?
在受访者中,最常用的 SQL 功能包括常见的表格表达式、窗口函数、INSERT... ON CONFLICT
及聚合函数的筛选子句、全文搜索等。
目前 PostgreSQL 数据库部署大小如何?
该问题是今年问卷首次引入。从结果来看,受访者部署的 PostgreSQL 数据库集中在中小规模范围。
生态系统和工具
PostgreSQL 丰富的连接器和工具生态系统是被大家普遍认同的地方。
最喜欢或最常用的 3 个 PostgreSQL 扩展是什么?
该问题为开放式。2023 年在受访者回复中出现了几个新的扩展,如 pg_fdw
,pg_repack
和 pg_cron
,它们是首次上榜。
访问 PostgreSQL 最常用的编程语言
与过去两年问卷结果保持基本一致,访问 PostgreSQL 最常用的五大编程语言是 SQL、Python、Java、JavaScript/TypeScript 和 Go 语言。0-5 年使用年限的 PostgreSQL 用户更偏爱 JavaScript 或 TypeScript 而非 Java。6 年以上的 PostgreSQL 老用户更多使用 Shell 脚本来访问数据库。
连接到 PostgreSQL 最常用的工具是什么?
本问题的答复与 2022 年结果保持一致。大家连接到 PostgreSQL 最常用的方式是 psql
,其他较多回复包括 pgAdmin、DBeaver、Datagrip 和 IntelliJ。
你经常使用哪些第三方工具来搭配 PostgreSQL 进行应用开发?
在 2023 年的受访者中,近一半(43.5%)表示他们不使用其他第三方工具。在使用第三方工具的回复中,pgBouncer、Depesz EXPLAIN 和 pgBackRest 占比较多。
你使用了哪些可视化工具?
虽然 18% 的受访者不使用可视化工具,但大多数受访者依赖 Grafana(38.2%)、pgAdmin(36.6%)和 DBeaver(27.4%)进行数据可视化。这些结果与 2021 年和 2022 年的回应一致。
如何部署 PostgreSQL?
相比 2021 和 2022,反馈“自我管理 PostgreSQL(Self-managing)”的受访者越来越少。但从 2023 年反馈数据来看,AWS RDS 部署方式最靠前,在公共云平台(如 AWS、GCP 或 Azure 等)自建 PG 或使用 Kubernetes 部署排名也很靠前。
在 Kubernetes 上如何运行 PostgreSQL
在使用 Kubernetes 部署 PostgreSQL 的受访者群体中,Helm 用户占比从去年的 44% 降至今年的 28%。相比去年,CloudNativePG 从去年的 6% 提升到今年的 27%。当然,在受访者中选择使用 Kubernetes 方式运行 PostgreSQL 的总人数没那么多,所以该问题中各方式参与人数也相对较少。
你使用哪些自动化故障转移方案?
与 2021、2022 年调查结果一样,大部分受访者仍然反馈未使用相关自动故障转移方案。不过在使用相关方案的受访者中,Patroni(https://patroni.readthedocs.io/en/latest/)是最常用的方案。
PostgreSQL 与人工智能
2023 年,AI 大火。在本问卷中,也有相关问题来调查大家对 AI 方面的倾向。
你目前使用 AI 工具吗?你对它们的态度是什么?
从调查结果看,45% 的受访者对 AI 工具持赞成态度,35. 2% 持中立态度,仅有 19. 7% 持不利意见。同时,63.1% 的人表示他们目前没有在工作流程中使用 AI 工具,36.9% 受访者已经在使用 AI 工具。
您从使用 pgvector 和 PostgreSQL 进行 AI/ LLM 工作负载中主要获益是什么?
在那些对使用 pgvector 和 PostgreSQL 作为 AI/ LLM 工作负载的向量数据库(54 名受访者)回答“是”的人中,略高于三分之一(37.7%)的人表示,主要好处是能够将向量和关系数据保存在同一个数据库中,其次是社区与开源。
PostgreSQL 社区
如何评价你第一次使用 PostgreSQL 的经历?
大家对 PostgreSQL 数据库的友好度评价仍然很高。绝大多数受访者(约 91%)将他们的第一次 PostgreSQL 体验评为积极(包括中等、非常容易),平均体验评分为 3.7(共 5 级)。
你是否为 PostgreSQL 做过贡献?
从报告数据看,每个 PostgreSQL 年限阶段用户都存在贡献者,使用时间越长贡献占比越大,其中 44% 拥有 15 年以上经验的 PostgreSQL 用户至少为 PostgreSQL 做过一次贡献。但总体来看,贡献者毕竟还是少数。
结合我们对 PostgreSQL 社区的参与体验来说,我们再进一步分析下原因:代码贡献需要具备一定的开发能力,且当前 PostgreSQL 代码贡献严谨、流程较复杂(如用邮件互动和提交 Patch,并不可以直接在 GitHub 提交 Pull Request),代码合并进展相比其他开源项目来讲稍慢等,这些都对潜在或新手贡献者造成了一定门槛。当然,每个项目和社区都有自己的传统习惯,但这也是一把双刃剑,传统协作习惯对新生代贡献者来说可能需要长期磨合。
过去一年,你参加过什么 PostgreSQL 活动?
有 67.3% 的受访者表示今年没参加过 PostgreSQL 相关活动。近两三年因为疫情,线下活动有所停滞,但今年数据显示面对面线下会议占比已超过线上虚拟会议。相信在未来的日子,会有越来越多的线下活动,方便社区成员交流互动。
你如何参与或与 PostgreSQL 社区互动
约 13% 左右的受访者使用 PostgreSQL 邮件列表来参与 PostgreSQL 日常互动交流,其他互动渠道也包括 Slack、Stack Overflow、会议和 Twitter 等。
PostgreSQL 社区何以得到大家喜欢?
那 PostgreSQL 到底哪里让大家觉得最喜欢呢?大家比较有共鸣的地方是:
• 致力于开源协作、创新和用户支持
• 博文、教程、文档等资源丰富,让大家更容易上手
• 足够的技术专业度
PostgreSQL 社区还有哪些改进空间?
超过 278 名受访者作了回复,大体总结下来分为 6 个方面:
• 官方文档可增加更多的示例。
• PostgreSQL 需要接受更多新的点子和方法。
• 沟通和协作流程显得过时,只能通过邮件列表是一大障碍。
• 为新手提供更多的空间。
• 允许社区给文档贡献一些示例,将理论和实践结合起来。
• 需要在繁荣应用开发者社区倾斜更多资源。
PostgreSQL 社区如何更好地吸引新人?
超过 300 多位受访者给出了一些吸引新人的建议,如:
• 在不同语言的软件开发论坛中推广 PostgreSQL 社区;
• 提供入门教程和更简单的入门方式,增加 PostgreSQL 内核特性;
• 增加更多教程、视频培训、会议和 Meetup 活动等。
• 鼓励更多开发者参与贡献,召开 PostgreSQL 开发会议等。
结语
PostgreSQL 目前已成为世界上最领先的开源数据库之一,并拥有蓬勃繁荣的周边生态,历经 30 年而不息。作为面向分析和人工智能的下一代统一型开源数据库,Cloudberry Database 很荣幸参与到 PostgreSQL 生态中来,后续我们也将持续分享更多 PostgreSQL 技术原理和动态,敬请期待。
如果你想阅读完整的英文版调查报告,可下方扫码进群获取。
关于 Cloudberry Database
Cloudberry Database(可简称为“CBDB”或“CloudberryDB”)是面向分析和 AI 场景打造的下一代统一型开源数据库,搭载了 PostgreSQL 14.4 内核,兼容 PostgreSQL 和 Greenplum Database 生态,采用 Apache License 2.0 许可协议,目前源码已公开。GitHub 地址:https://github.com/cloudberrydb/cloudberrydb 官网主页:https://cloudberrydb.org/
版权声明: 本文为 InfoQ 作者【HashData】的原创文章。
原文链接:【http://xie.infoq.cn/article/5335d890a016eaf02a118a46d】。文章转载请联系作者。
评论