深度剖析《State of PostgreSQL 2023》报告

发表时间: 2023-12-22 18:53

本文由 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_fdwpg_repackpg_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/