基于 PostgreSQL 内核的时序数据库厂商 Timescale 发布了一年一度的 State of Postgres 2023 报告。
简单先介绍一下 Timescale 这家公司的历史。它最早是提供了一个 PG 的插件,引入了 Hypertable 这个概念,来高效地处理时序数据,后来提供了托管的云服务。今年又紧跟潮流陆续引入了 Serverless 和 Vector。
Timescale 也在今年做了一次品牌升级,笔者觉得是比较成功的。Logo 有辨识度且含义贴切,整体的风格也契合公司的阶段。在商业能力这块,Timescale 应该是目前 Postgres 阵营里最成熟的。不过 Timescale 本身做的是基于 Postgres 的时序数据库而不是 Postgres 通用数据库,所以它也要面临其他专门做时序数据库的竞争。
Wiki 上显示的发布时间应该是错误的,2017 年笔者在 Google Cloud SQL 负责 Postgres 时, Timescale 团队就接触过我们希望可以引入他们的插件。当时从成熟度的考虑,并没有接纳。不过有点意外的是,现在 Google Cloud SQL 上仍然没有上架 Timescale 插件。
首先这是一份相对有偏向性的报告,本身 Timescale 的立场就使得报告的受众群体会是 Postgres 的使用者。比如说下面这个问题的答案。
Timescale 从 2019 开始做 State of PostgreSQL,今年的调研持续 6 周,报告结果从 888 份问卷中汇总而成。
相比于我们之前做过的谷歌 DORA 以及 JetBrains 开发者报告,Timescale 报告样本数要小许多,一是因为 Timescale 还没有那么大的影响力,二是 PostgreSQL 只是整个开发者群体下的数据库领域下的一个垂直领域。
没有再细分到国家。工作经验分布比较平均,有点意外的,尤其是 10 年以上占了 2/3。
Postgres 基本盘还是后端开发人员。
开源证书是最大的优势。但这里没有说清楚是相比于使用不同开源证书的 MySQL,还是相比于闭源的数据库。丰富的的功能另一个显著的优势。相对来说选择 Extension 的人没有预想的多。这里最有意思的是 15+ 工作经验的,排序是证书 > 稳定性 > 功能 > ACID。大道至简,返璞归真。
平均水平以上,但谈不上很优秀。PostgreSQL 强大功能的另一面就是上手更有门槛。比如说 Database / Schema / Table 三层以及对应的权限系统,适合大型项目,对小型开发就显得臃肿了。
这个插件的问题有点狡猾,把 favorite 和 most frequently 并在了一起,结果东道主的 timescaledb 就力压 pg_stat_statements 了🤔。
DBeaver 在通用数据库客户端里遥遥领先。
pgBouncer 依然是最流行的工具,不用连接池的话,很容易造成连接打满。第二常用的就是可视化查询计划工具 Depesz,这个工具也存在好久了,也是开源的,Bytebase 也在 SQL Editor 中集成了。
版本分布情况。
使用上的挑战。果然是把 VACUUM 单独拎出来吊打了。
部署的方式,这个图没有太看懂,如果大家都跌了,那应该有人大涨才对?不过当年最早做 Postgres 托管的 Heroku 也快要退出历史舞台了。
在 Kubernetes 上部署 PG 的方式,CloudNativePG 和 Helm 并驾齐驱。国内用前者的应该不多。
使用的功能点,这些都算是高级功能,也体现了 PostgreSQL 高级能力的实用性。
JSON 还是很香。
阿里云在全球市场份额和 GCP 比较接近。但这个报告主要面向海外,所以阿里云就相对靠后了。也可以从侧面看出光中国是一个多么巨大的市场。
除了 PG 外使用的其它数据库,也可以侧面反映其他数据库的流行度,和 DB-Engines 排名是有些区别的。
PG 实例数据量大小,相当符合正态分布。
可以给做社区的同行一些参考。
Postgres Weekly Newsletter 比较有影响力。不过它这次也给报告带了货,所以也会造成偏向性。
一些希望社区改进的地方。其中几点笔者也有感触:
今年报告里自然不能免俗的会有 AI 问题。
大多数人还是持观望态度。
让向量处理和关系型数据处理在同一个数据库是 PG 最大的优势。一专多能,传统艺能。
就这些啦,这里只选取了部分报告摘要,也建议去阅读原文。
也欢迎阅读我们之前写的行业报告解读:
以及数据库生态对比:
💡 更多资讯,请关注 Bytebase 公号:Bytebase