基于 PostgreSQL 内核的时序数据库厂商 Timescale 发布了一年一度的 State of Postgres 2023 报告。
Timescale 介绍
简单先介绍一下 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。
选择 PostgreSQL 的原因
开源证书是最大的优势。但这里没有说清楚是相比于使用不同开源证书的 MySQL,还是相比于闭源的数据库。丰富的的功能另一个显著的优势。相对来说选择 Extension 的人没有预想的多。这里最有意思的是 15+ 工作经验的,排序是证书 > 稳定性 > 功能 > ACID。大道至简,返璞归真。
PostgreSQL 的上手体验
平均水平以上,但谈不上很优秀。PostgreSQL 强大功能的另一面就是上手更有门槛。比如说 Database / Schema / Table 三层以及对应的权限系统,适合大型项目,对小型开发就显得臃肿了。
生态和工具
这个插件的问题有点狡猾,把 favorite 和 most frequently 并在了一起,结果东道主的 timescaledb 就力压 pg_stat_statements 了🤔。pgBouncer 依然是最流行的工具,不用连接池的话,很容易造成连接打满。第二常用的就是可视化查询计划工具 Depesz,这个工具也存在好久了,也是开源的,Bytebase 也在 SQL Editor 中集成了。使用上的挑战。果然是把 VACUUM 单独拎出来吊打了。部署的方式,这个图没有太看懂,如果大家都跌了,那应该有人大涨才对?不过当年最早做 Postgres 托管的 Heroku 也快要退出历史舞台了。在 Kubernetes 上部署 PG 的方式,CloudNativePG 和 Helm 并驾齐驱。国内用前者的应该不多。使用的功能点,这些都算是高级功能,也体现了 PostgreSQL 高级能力的实用性。阿里云在全球市场份额和 GCP 比较接近。但这个报告主要面向海外,所以阿里云就相对靠后了。也可以从侧面看出光中国是一个多么巨大的市场。除了 PG 外使用的其它数据库,也可以侧面反映其他数据库的流行度,和 DB-Engines 排名是有些区别的。
社区
Postgres Weekly Newsletter 比较有影响力。不过它这次也给报告带了货,所以也会造成偏向性。PG 的官方文档已经很详尽了,不过如果配些示例图的话,会更容易吸收。
邮件列表的问答形式比较过时,找帖子,翻帖子真的有点累。
需要更多面向应用开发者以及研发流程 DevOps 的内容,而不是仅仅针对 DBA 和数据库内核开发者的内容。
AI
让向量处理和关系型数据处理在同一个数据库是 PG 最大的优势。一专多能,传统艺能。
就这些啦,这里只选取了部分报告摘要,也建议去阅读原文 https://www.timescale.com/blog/announcing-the-new-timescale/。
也欢迎阅读我们之前写的行业报告解读:
以及数据库生态对比: