朋友们,万众期待的 PostgreSQL 大版本发布又来了!这一次,PostgreSQL 17 带着全新的性能优化和开发者必备的新功能强势登场。与其说这是一场普通的更新,不如说它是一场专为高并发工作负载和海量数据量身打造的技术嘉年华!

在本次的发布说明中,PostgreSQL 全球社区也毫不讳言地直接宣布:“The latest version of the world's most advanced open source database. And has become the preferred open source relational database for organizations of all sizes.” —— 是的,PostgreSQL 现在就是世界上最先进的开源数据库,已经成为各类组织的首选关系数据库。

这个版本不仅进一步巩固了 PostgreSQL 在开源数据库领域的领先地位,也彰显了它在性能和功能方面的持续创新。接下来,将带大家一起深入了解 PostgreSQL 17 的精彩亮点,看看它如何在事务处理、数据分析和 AI 应用中为企业提供强有力的支持。

图片来源于网络

Postgres 17新版亮点

全面提升的性能

PostgreSQL 17 带来了多项系统范围的性能改进。其中,vacuum 进程引入了新的内存管理结构,内存占用减少了 20 倍,这大幅提升了 vacuum 的处理速度,同时降低了其对其他工作负载的影响。此外,I/O 层的性能也有所提升。预写日志(WAL)处理优化使高并发场景下的写入吞吐量提升至 2 倍,流式 I/O 接口加快了顺序扫描和 ANALYZE 统计信息更新的速度。

索引与查询优化

PostgreSQL 17 在查询执行方面的性能大幅提升,特别是B树索引(PostgreSQL 中的默认索引方法)下的 IN 子句查询速度显著加快。此外,BRIN 索引现已支持并行构建。该版本还优化了多项查询规划,包括 NOT NULL 约束的改进和通用表表达式(WITH 查询)的处理性能。新增的 SIMD 支持进一步加速了计算,特别是使用 AVX-512 优化 bit_count 函数的执行。

SQL/JSON 支持增强

作为首个支持 JSON 的关系型数据库(2012年),PostgreSQL 17 进一步完善了 SQL/JSON 标准的实现。新增了 JSON_TABLE 等功能,方便开发人员将 JSON 数据转换为标准 PostgreSQL 表。该版本同时为开发者提供了多种与 JSON 交互的查询和转换方式,让处理 JSON 数据更加灵活高效。

增强的安全与运维管理

PostgreSQL 17 新增了 TLS 选项和角色权限管理,进一步提升了数据库的安全性和管理便捷性。增量备份的支持显著加快了备份和恢复速度,EXPLAIN 现在能显示 I/O 读写时间,提升了系统的可观察性。

版本中还新增了“pg_combinebackup”工具,帮助用户从多个增量备份中快速创建完整备份,极大缩短了大型数据库的备份时间。

在备份上,EnterpriseDB(EDB)为版本17 中的几个新功能做出了贡献,包括对块级增量备份的支持,应该会大大加快备份和恢复速度。在一个案例中,以前需要70分钟的Postgres备份缩短到只有4分钟,减少了95%。

据EDB的数据库服务器和工具高级副总裁Tom Kincaid称,增量备份是此版本中最大的功能。奇怪的是,数据库已经存在了20多年,却没有增量备份功能。它总是通过外部工具来完成的,这些工具可以查看数据库和文件系统,但现在它位于核心系统。

这些新功能不仅大幅提升了 PostgreSQL 的性能,还为开发者提供了更便捷的工具和更强大的数据管理能力,非常适合高并发和大数据场景的应用。

Postgres为什么会受欢迎

近年来,MySQL 一直占据着数据库流行榜的首位,打出了“世界上最流行的开源关系型数据库”旗号。然而,2023 年 PostgreSQL 首次以 45.6% 的使用率超越了 MySQL 的 41.1%,领先 4.5%,成为最受开发者欢迎的数据库。更引人注目的是,PostgreSQL 的使用率是第二名 MySQL 的 1.1 倍。

更重要的是趋势变化:在长期排名的十几款主要数据库中,只有 PostgreSQL 的流行度在持续上升,而其他数据库的使用率则呈下滑态势。随着时间推移,PostgreSQL 与其他数据库的差距只会进一步拉大。在 2023 年,PostgreSQL 也连续蝉联了“最受开发者喜爱的数据库”称号,之前这一殊荣一直由 Redis 夺得。

PostgreSQL 之所以备受青睐,源于它的多功能性和灵活性。作为一款开源关系型数据库管理系统(RDBMS),PostgreSQL 不仅提供了强大的开源社区支持,还能够在数据库与数据仓库之间自由切换,满足不同场景下的需求。以下是 PostgreSQL 受欢迎的几个主要原因:

免费与开放

PostgreSQL 是免费的,同时由于其遵循 SQL 标准,与现有系统的无缝集成得到了广泛认可,成为众多企业信赖的选择。

适应性与可扩展性

PostgreSQL 在适应不同的工作负载和扩展性方面表现出色,能够轻松处理复杂的事务性和分析性任务。

变更数据捕获

内置的变更数据捕获功能让用户可以轻松跟踪并捕捉数据库变更,提供了一种高效的实时数据管理机制。

ACID 标准

PostgreSQL 符合 ACID 标准,具有高度的安全性和故障处理能力,能够确保数据的一致性和可靠性。

支持 JSON 和 SQL 查询

PostgreSQL 同时支持关系型 SQL 查询和非关系型 JSON 数据,使其在处理混合数据格式的应用场景中具备独特优势。

数据组织灵活

作为关系型数据库,PostgreSQL 以表的形式存储数据,每个数据行(元组)都有唯一键来标识,并支持复杂的列属性定义。

PostgreSQL 的多功能性、强大的性能和灵活性,使其逐渐超越其他数据库,成为各类开发者和企业的首选工具,并继续保持增长的势头。

PostgreSQL 17重磅登场——世界上最成功的数据库的更多相关文章

  1. 专注做好一件事(转) focus---这个世界上最成功的人,他们在某一领域获得成功之后,可通过经营杠杆进入任何他们想要涉足的领域。而这都得依赖于他们曾极致的专注在做好一件事情上。

  2. 为什么我会认为SAP是世界上最好用最牛逼的ERP系统,没有之一?

    为什么我认为SAP是世界上最好用最牛逼的ERP系统,没有之一?玩过QAD.Tiptop.用友等产品,深深觉得SAP是贵的有道理! 一套好的ERP系统,不仅能够最大程度承接适配企业的管理和业务流程,在技 ...

  3. Git是目前世界上最先进的分布式版本控制系统

    一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以 ...

  4. JavaScript: 世界上最被误解的语言|Douglas Crockford

    JavaScript: 世界上最被误解的语言 JavaScript: The Wrrrld's Most Misunderstood Programming Language Douglas Croc ...

  5. 世界上最好的语言搭建短链接及统计功能(附API代码)

    前言 在这个营销的时代,短链接和二维码是企业进行营销中非常重要的工具,不仅仅是缩短了链接,而且还可以通过扩展获得更多的数据,诸如点击数.下载量.来源以及时间等等. 网上搜寻了一下比较有名有U.NU和0 ...

  6. 用Visual Studio Code Debug世界上最好的语言(Mac篇)

    用Visual Studio Code Debug世界上最好的语言(Mac篇) 首先,你要有台Macbook Pro,接着才继续看这个教程. PS:Windows用户看这里用Visual Studio ...

  7. Spark 灰度发布在十万级节点上的成功实践 CI CD

    原创文章,转载请务必将下面这段话置于文章开头处. 本文转发自技术世界,原文链接 http://www.jasongj.com/spark/ci_cd/ 本文所述内容基于某顶级互联网公司数万节点下 Sp ...

  8. 世界上最好的Sed教程

    这是一份世界上最好的sed教程,sed是unix系统下流编辑里的超人.最初我写这份说明是为了我的 第二本电子书,然而随后我决定把这份说明变成一本免费电子书预览的同时再次做为文章发布到这里. Sed说明 ...

  9. 软件公司的两种管理方式 总体来说,这个世界上存在两种不同的软件公司的组织结构。我把他们叫做 Widget Factory(小商品工厂) 和 Film Crews(电影工作组

    软件公司的两种管理方式 一个简单的回答应该是——“因为在我们的社会里,我们总是会认为薪水和会和职位的层次绑在一起”.但是,这个答案同时也折射出一个事实——我们的薪资是基于我们的所理解的价值,但这并没有 ...

  10. hdu4515小Q系列故事——世界上最遥远的距离

    Problem Description 世界上最遥远的距离 不是生与死 而是我就站在你面前 你却不知道我爱你 世界上最遥远的距离 不是我就站在你面前你却不知道我爱你 而是明明知道彼此相爱 却不能在一起 ...

随机推荐

  1. 强化学习是否可以AI4Science呢?

    最近,华为和Google都推出了AI的天气预报系统(发表了nature.science论文,但是没开放公众使用),可以说这个传统的Science问题已经被AI算法解决,这也说明了传统Science问题 ...

  2. css手撕奥运五环

    巴黎奥运会正如火如荼地进行,本文来使用 CSS 来画一个奥运五环.奥运五环是相互连接的,因此在视觉上会产生重叠效果,这也是实现五环最有挑战性的部分.接下来,将利用 CSS 的伪元素,巧妙地实现环环相扣 ...

  3. 清除 Nuxt 状态缓存:clearNuxtState

    title: 清除 Nuxt 状态缓存:clearNuxtState date: 2024/8/7 updated: 2024/8/7 author: cmdragon excerpt: 摘要:本文介 ...

  4. 用户案例 | Apache DolphinScheduler 离线调度在自如多业务场景下的应用与实践

    用户案例 | 自如 随着自如业务的快速发展,不断增长的调度任务和历史逾万的存量任务对平台稳定性提出了更高的要求.同时,众多非专业开发人员也需要一种更为"亲民"的调度平台使用体验. ...

  5. 用一杯星巴克的钱,训练自己私有化的ChatGPT

    文章摘要:用一杯星巴克的钱,自己动手2小时的时间,就可以拥有自己训练的开源大模型,并可以根据不同的训练数据方向加强各种不同的技能,医疗.编程.炒股.恋爱,让你的大模型更"懂"你-. ...

  6. jenkins集成findBugs并生成报告 转

    公司使用jenkins来作为持续构建工具,由于要进行自动化构建.编译.代码走查.打包.今天介绍下 jenkins集成findbugs的经验. 1.首先进入jenkins插件管理页面,下载途中的find ...

  7. shell脚本中$0 $1 $# $@ $* $? $$ 的各种符号意义详解

    一.概述 shell中有两类字符:普通字符.元字符. 1. 普通字符 在Shell中除了本身的字面意思外没有其他特殊意义,即普通纯文本: 2. 元字符 是Shell的保留字符,在Shell中有着特殊的 ...

  8. 基于donetcore/CAP实现分布式事务一致性

    官网:https://cap.dotnetcore.xyz 相关介绍 CAP 是一个EventBus,同时也是一个在微服务或者SOA系统中解决分布式事务问题的一个框架.它有助于创建可扩展,可靠并且易于 ...

  9. .NET Core学习笔记(6)——UWP略过SSL证书调用SignalR服务

    在前一篇<.NET Core学习笔记(5)--WebAPI从Server端push消息到Client>中,我们简单学习了.NET Core版本SignalR的使用.Sample工程里我们创 ...

  10. Element ui 动态自定义表格单元格样式

    最终实现效果 在Element UI 的文档中提到了用cell-style 方法来自定义单元格样式: 具体使用方法: 1. 在el-table 标签中添加 cell-style 绑定的自定义方法 2. ...