State of PostgreSQL 2023 报告解读

基于 PostgreSQL 内核的时序数据库厂商 Timescale 发布了一年一度的 State of Postgres 2023 报告。
file

Timescale 介绍

简单先介绍一下 Timescale 这家公司的历史。它最早是提供了一个 PG 的插件,引入了 Hypertable 这个概念,来高效地处理时序数据,后来提供了托管的云服务。今年又紧跟潮流陆续引入了 Serverless 和 Vector。

file

Timescale 也在今年做了一次品牌升级,笔者觉得是比较成功的。Logo 有辨识度且含义贴切,整体的风格也契合公司的阶段。在商业能力这块,Timescale 应该是目前 Postgres 阵营里最成熟的。不过 Timescale 本身做的是基于 Postgres 的时序数据库而不是 Postgres 通用数据库,所以它也要面临其他专门做时序数据库的竞争。

file

Wiki 上显示的发布时间应该是错误的,2017 年笔者在 Google Cloud SQL 负责 Postgres 时, Timescale 团队就接触过我们希望可以引入他们的插件。当时从成熟度的考虑,并没有接纳。不过有点意外的是,现在 Google Cloud SQL 上仍然没有上架 Timescale 插件。

file

报告整体

首先这是一份相对有偏向性的报告,本身 Timescale 的立场就使得报告的受众群体会是 Postgres 的使用者。比如说下面这个问题的答案。

file

Timescale 从 2019 开始做 State of PostgreSQL,今年的调研持续 6 周,报告结果从 888 份问卷中汇总而成。

file

相比于我们之前做过的谷歌 DORA 以及 JetBrains 开发者报告,Timescale 报告样本数要小许多,一是因为 Timescale 还没有那么大的影响力,二是 PostgreSQL 只是整个开发者群体下的数据库领域下的一个垂直领域。

调研人群

file

没有再细分到国家。工作经验分布比较平均,有点意外的,尤其是 10 年以上占了 2/3。

file

Postgres 基本盘还是后端开发人员。

选择 PostgreSQL 的原因

file

开源证书是最大的优势。但这里没有说清楚是相比于使用不同开源证书的 MySQL,还是相比于闭源的数据库。丰富的的功能另一个显著的优势。相对来说选择 Extension 的人没有预想的多。这里最有意思的是 15+ 工作经验的,排序是证书 > 稳定性 > 功能 > ACID。大道至简,返璞归真。

PostgreSQL 的上手体验

file
平均水平以上,但谈不上很优秀。PostgreSQL 强大功能的另一面就是上手更有门槛。比如说 Database / Schema / Table 三层以及对应的权限系统,适合大型项目,对小型开发就显得臃肿了。

生态和工具

file

这个插件的问题有点狡猾,把 favorite 和 most frequently 并在了一起,结果东道主的 timescaledb 就力压 pg_stat_statements 了🤔。

file

DBeaver 在通用数据库客户端里遥遥领先。

file

pgBouncer 依然是最流行的工具,不用连接池的话,很容易造成连接打满。第二常用的就是可视化查询计划工具 Depesz,这个工具也存在好久了,也是开源的,Bytebase 也在 SQL Editor 中集成了。

file

版本分布情况。

file

使用上的挑战。果然是把 VACUUM 单独拎出来吊打了。

file

部署的方式,这个图没有太看懂,如果大家都跌了,那应该有人大涨才对?不过当年最早做 Postgres 托管的 Heroku 也快要退出历史舞台了。

file

在 Kubernetes 上部署 PG 的方式,CloudNativePG 和 Helm 并驾齐驱。国内用前者的应该不多。

file

使用的功能点,这些都算是高级功能,也体现了 PostgreSQL 高级能力的实用性。

file

JSON 还是很香。

file

阿里云在全球市场份额和 GCP 比较接近。但这个报告主要面向海外,所以阿里云就相对靠后了。也可以从侧面看出光中国是一个多么巨大的市场。

file

除了 PG 外使用的其它数据库,也可以侧面反映其他数据库的流行度,和 DB-Engines 排名是有些区别的。

file
file

PG 实例数据量大小,相当符合正态分布。

社区

可以给做社区的同行一些参考。

file
file

Postgres Weekly Newsletter 比较有影响力。不过它这次也给报告带了货,所以也会造成偏向性。

file

一些希望社区改进的地方。其中几点笔者也有感触:

  • PG 的官方文档已经很详尽了,不过如果配些示例图的话,会更容易吸收。
  • 邮件列表的问答形式比较过时,找帖子,翻帖子真的有点累。
  • 需要更多面向应用开发者以及研发流程 DevOps 的内容,而不是仅仅针对 DBA 和数据库内核开发者的内容。

AI

今年报告里自然不能免俗的会有 AI 问题。

file

大多数人还是持观望态度。

file

让向量处理和关系型数据处理在同一个数据库是 PG 最大的优势。一专多能,传统艺能。
就这些啦,这里只选取了部分报告摘要,也建议去阅读原文。

也欢迎阅读我们之前写的行业报告解读:

  • 一份谷歌写给 CTO 们的报告 - DORA 2023 版全面解读
  • 关于数据库,JetBrains 最新的开发者报告里说了些什么

以及数据库生态对比:

  • 全方位对比 Postgres 和 MySQL (2023 版)
  • 为何在中国 MySQL 远比 PostgreSQL 流行
  • 为何在中国 Navicat 远比 DBeaver 流行
  • Bytebase vs Flyway
  • Bytebase vs Liquibase

💡 更多资讯,请关注 Bytebase 公号:Bytebase

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/293504.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Amazon 实验②】Amazon WAF功能增强之使用Cloudfront、Lambda@Edge阻挡攻击

文章目录 一、方案介绍二、架构图三、部署方案1. 进入Cloud9 编辑器,新打开一个teminal2. 克隆代码3. 解绑上一个实验中Cloudfront 分配绑定的防火墙4. 使用CDK部署方案5. CDK部署完成6. 关联LambdaEdge函数 四、方案效果 一、方案介绍 采用 LambdaEdge DynamoDB 架…

Zookeeper的学习笔记

Zookeeper概念 Zookeeper是一个树形目录服务,简称zk。 Zookeeper是一个分布式的、开源的分布式应用程序的协调服务 Zookeeper提供主要的功能包括:配置管理,分布式锁,集群管理 Zookeeper命令操作 zk数据模型 zk中的每一个节点…

【网络安全】学习Web安全必须知道的一本书

【文末送书】今天推荐一本网络安全领域优质书籍。 目录 正文实战案例1:使用Docker搭建LAMP环境实战案例2:使用Docker搭建LAMP环境文末送书 正文 学习Web安全离不开Web,那么,需要先来学习网站的搭建。搭建网站是每一个Web安全学习…

深入理解依赖反转原则(DIP)

依赖反转原则是一个比较重要的架构原则,从定义上看是要依赖于抽象,不要依赖于细节, 这个听起来很简单,好像加个接口就完事了,大家的service都是一个接口配一个实现类,是不是依赖倒置呢?很显然不…

【原理图PCB专题】原理图图纸锁定/解锁与PCB文件加密方式

在工作中我们会遇到需要冻结原理图进行评审和加密图纸防止被他人盗用的需求。那么在OrCAD Capture中如何对图纸进行锁定与解锁,如何在Allegro中对PCB工程进行加密呢? 原理图锁定与解锁 打开原理图,在图纸中单击右键,选择lock/unlock就可以进行锁定与解锁。 锁定时图纸图…

第一部分 数理逻辑

目录 什么是命题 注意: 例1 下列句子中那些是命题? 联结词 例2 将下列命题符号化. 注意: 例4 设 p:天冷,q:小王穿羽绒服,将下列命题符号化 例5 求下列复合命题的真值 例如 真值表: 例&#xff1…

k8s集群核心概念 Pod进阶

k8s集群核心概念 Pod进阶 一、场景 Pod在kubernetes集群中是核心资源对象之一,前期我们已经在《kubernetes极速入门》课程中讲解了Pod创建及Pod删除方法,但是实际企业应用中,Pod使用远比我们想像复杂,本次课程我们接着为大家讲解…

代码随想录第三十八天(一刷C语言)|零钱兑换II组合总数和 IV

创作目的:为了方便自己后续复习重点,以及养成写博客的习惯。 一、零钱兑换II 思路:参考carl文档 1、确定dp数组以及下标的含义:凑成总金额j的货币组合数为dp[j]。 2、确定递推公式:dp[j] 就是所有的dp[j - coins[i…

第11章 GUI Page400~402 步骤二 画直线

运行效果: 源代码: /**************************************************************** Name: wxMyPainterApp.h* Purpose: Defines Application Class* Author: yanzhenxi (3065598272qq.com)* Created: 2023-12-21* Copyright: yanzhen…

设计模式:循序渐进走入工厂模式

文章目录 前言一、引入二、简单工厂模式1.实现2.优缺点3.扩展 三、工厂方法模式1.实现2.优缺点 四、抽象工厂模式1.实现2.优缺点3.使用场景 五、模式扩展六、JDK源码解析总结 前言 软件设计模式之工厂模式。 一、引入 需求:设计一个咖啡店点餐系统。 设计一个咖啡类…

两种方法解决win10开机慢,经验分享

方法一: 1、按快捷键“winR”打开 运行窗口。 2、这时候输入“msconfig”后 ,点击“确定”或者按“ENTER”键。 3、这时候会打开一个名为“系统配置”的窗口, 在“常规”选项框下 勾选“有选择的启动”下的“加载系统服务”和“加载启动项”。…

腾讯云服务器上传文件 :Permission denied (os error 13) ,由于权限无法上传

根据网上的修改云服务器上传文件目录的权限,或是用root权限上传本地文件,均失败。 正解办法: ubuntu:/home/wwwroot# sudo passwd root Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully首先修…