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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Flappy Bird游戏python完整源码

通过pygame实现当年风靡一时的flappy bird小游戏。 当前只设定了同样长度的管道,图片和声音文件自行导入。 效果如下: # -*- coding:utf-8 -*- """ 通过pygame实现曾风靡一时的flappybird游戏。 小鸟x坐标不变,画布左移实现…

mac上使用 Downie 下载网页视频

在今天的数字时代,视频内容在互联网上的传播变得更加普遍和便捷。然而,有时我们可能希望将网页上的视频保存在本地,以便离线观看或与他人分享。Downie 是一款强大而简便的工具,专门设计用于下载网页上的视频内容。本文将介绍 Down…

阿里巴巴虚拟试衣间:在模特身上尝试任何服装 | 开源日报 No.122

HumanAIGC/OutfitAnyone Stars: 1.8k License: NOASSERTION Outfit Anyone 由阿里巴巴集团的智能计算研究院开发。它提供了超高质量的虚拟试衣功能,用户可以在模特身上尝试任何服装,并且保证安全和隐私。主要功能包括: 提供超高质量的虚拟试…

Qt通用属性工具:随心定义,随时可见(一)

一、开胃菜&#xff0c;没图我说个DIAO 先不BB&#xff0c;给大家上个效果图展示下&#xff1a; 上图我们也没干啥&#xff0c;几行代码&#xff1a; #include "widget.h" #include <QApplication> #include <QObject> #include "QtPropertyEdit…

基于单片机设计的指纹锁(读取、录入、验证指纹)

一、前言 指纹识别技术是一种常见的生物识别技术&#xff0c;利用每个人指纹的唯一性进行身份认证。相比于传统的密码锁或者钥匙锁&#xff0c;指纹锁具有更高的安全性和便利性&#xff0c;以及防止钥匙丢失或密码泄露的优势。 基于单片机设计的指纹锁项目是利用STC89C52作为…

基于Spring自动注入快速实现策略模式+工厂模式优化过多的if..else

一、策略模式 1.1策略模式定义 在策略模式&#xff08;Strategy Pattern&#xff09;中一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式定义了一系列算法或策略&#xff0c;并将每个算法封装在独立的类中&#xff0c;使得它们可以互相…

cleanmymac和柠檬清理哪个好 cleanmymac有必要买吗

大家好&#xff0c;不定期分享正版软件激活安装、使用帮助&#xff0c;售后等知识。 在我们的日常使用中&#xff0c;电脑常常会出现卡顿、运行缓慢的情况。这时候&#xff0c;我们通常会想到清理电脑&#xff0c;以期望恢复电脑的正常运行状态。而在清理电脑时&#xff0c;有两…

Service详解【六】

文章目录 6. Service详解6.1 Service介绍6.2 Service类型6.3 Service使用6.3.1 实验环境准备6.3.2 ClusterIP类型的Service6.3.3 HeadLiness类型的Service6.3.4 NodePort类型的Service6.3.5 LoadBalancer类型的Service6.3.6 ExternalName类型的Service 6.4 Ingress介绍6.5 Ingr…

多个bean获取同一个Service,获取的内存地址是同一块;引用bean地址存储在一个map中

public class UserService {public void test() {System.out.println("---test----");} } Testpublic void doesNotContain1(){// 创建Spring容器AnnotationConfigApplicationContext applicationContext new AnnotationConfigApplicationContext();// 向容器中注册…

3 pandas之dataframe

定义 DataFrame是一个二维数据结构&#xff0c;即数据以行和列的方式以表格形式对齐。 DataFrame特点&#xff1a; 存在不同类型的列大小可变带有标签的轴可对列和行进行算数运算 构造函数 pandas.DataFrame( data, index, columns, dtype, copy)参数解释&#xff1a; 序号…

【SpringBoot快速入门】(1)SpringBoot的开发步骤、工程构建方法以及工程的快速启动详细讲解

目录 SpringBoot简介1 SpringBoot快速入门1.1 开发步骤1.1.1 创建新模块1.1.2 创建 Controller1.1.3 启动服务器1.1.4 进行测试 2 对比3 官网构建工程3.1 进入SpringBoot官网3.2 选择依赖3.3 生成工程 4 SpringBoot工程快速启动4.1 问题导入4.2 打包4.3 启动 之前我们已经学习的…

浅谈Redis分布式锁(上)

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 不论面试还是实际工作中…

Netty 与 RPC(一)

Netty 与 RPC Netty 原理 Netty 是一个高性能、异步事件驱动的 NIO 框架&#xff0c;基于 JAVA NIO 提供的 API 实现。它提供了对TCP、UDP 和文件传输的支持&#xff0c;作为一个异步 NIO 框架&#xff0c;Netty 的所有 IO 操作都是异步非阻塞的&#xff0c;通过 Future-List…

算法练习Day19 (Leetcode/Python-二叉树)

108. Convert Sorted Array to Binary Search Tree Given an integer array nums where the elements are sorted in ascending order, convert it to a height-balanced binary search tree. 思路&#xff1a; 一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的…

开启虚拟与现实的融合时代

数字人直播&#xff0c;作为一项新兴技术&#xff0c;正逐渐改变着我们的生活方式和沟通方式。它通过利用最先进的人工智能技术&#xff0c;使得虚拟形象得以与现实世界实时互动&#xff0c;为用户带来了全新的体验。本文将探讨数字人直播的意义、应用场景以及可能带来的影响。…

利用MultCloud在线复制传输不同网盘之间的数据:支持谷歌Drive、百度网盘等

本文介绍通过MultCloud平台&#xff0c;在国内实现谷歌Drive、OneDrive、百度网盘等不同云盘之间数据的传输、共享等操作的免费方法。 有的时候&#xff0c;我们希望对自己不同网盘之间的数据加以传输、共享&#xff1b;例如&#xff0c;我们可以将自己谷歌Drive中的数据&#…

Deep learning-based small object detection: A survey(2023)

文章目录 AbstractIntroductionContribution Generic SOD algorithms提高输入特征的分辨率&#xff08;Most Important&#xff09;Methods 尺度感知训练Methods 融合上下文信息Methods 数据增强Methods 其他策略Methods 关键的SOD任务小人脸检测Methods 小型行人检测Methods 航…

在线考试系统-软件与环境

一. 软件 1.Navicat、phpstudy、Idea、Vsode 参考 网盘链接 二.配置文件 1.NodeJS、JDK、Mysql 参考 网盘链接 注意点&#xff1a; 1.Mysql 切记需要环境变量配置 2.数据库密码要好记点的&#xff0c;别乱设 3.环境变量配置的路径要能找到 三.安装运行 1.下载网盘内的软件&am…

【ps】常见工具说明

1&#xff1a;污点修复工具 》内容识别 去除脸部珍珠 》创建纹理 2&#xff1a;修复画笔工具 按住ALT选择一处你想移动的地方 3&#xff1a;修补工具 》内容识别 选择一个区域 将区域内的东西移动到 另一处皮肤上

【Linux笔记】系统信息

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;Linux学习 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 命令 1. uname - 显示系统信息 2. hostname - 显示或设置系统主机名 3. top - 显示系统资源使用情况 4. df - 显示磁盘空间使用情…