PostgreSQL 17 发布,改进了清理进程并提高了性能

科技   2024-11-04 13:30   辽宁  

作者 | Renato Losio
译者 | 刘雅梦
策划 | 丁晓昀

PostgreSQL 全球开发小组最近宣布PostgreSQL 17 正式发布,PostgreSQL 17 是该流行开源数据库的最新版本。该版本侧重于性能改进,包括用于清理(Vacuum)的新内存管理实现、存储访问优化以及对高并发工作负载的增强。

虽然最新的 GA 版本对查询性能进行了总体改进,并为分区管理增加了更多的灵活性,但许多数据库管理员都强调了其对清理的更新,这些更新减少了内存使用,缩短了清理时间,并显示了清理索引的进度。清理(Vacuuming)是一种旨在回收不再需要的数据所占用的存储空间的操作。PostgreSQL 17 中更高效的 VACUUM 操作是由新的数据结构 TidStore 实现的,该结构在 VACUUM 操作期间存储元组 ID。该团队解释说:

PostgreSQL 的清理进程对于健康操作至关重要,需要服务器实例资源才能运行。PostgreSQL 17 为清理引入了一种新的内部内存结构,内存消耗减少了 20 倍。这提高了清理速度,也减少了共享资源的使用,为我们的工作负载提供了更多的可用资源。

PostgreSQL 17 引入了对逻辑复制的增强,通过消除删除逻辑复制槽的需要,简化了高可用性工作负载的管理和主要引擎版本的升级。最近的其他改进还包括增强了读取多个连续块的工作负载的 I/O 性能,改进了 EXPLAIN 支持,以及更好地处理 IS [NOT] NULL 条件。

虽然改进列表很长,但该版本可能缺少一个突出的新特性。CYBERTEC 的高级顾问和支持工程师 Laurenz Albe 写道:

这并不是因为 PostgreSQL 已经失去了发展势头:事实上,今天的贡献者比以往任何时候都多 (......) 多年来,许多聪明人做出了许多伟大的贡献。大多数简单、明显的改进(以及一些困难的改进!)已经完成了。剩下的缺失功能是真正困难的功能。

新版本支持 JSON_TABLE 选项,该选项允许同时处理 JSON 数据和常规 SQL 数据。与 MySQL 类似,JSON_TABLE() 是一个 SQL/JSON 函数,用于查询 JSON 数据并将结果显示为关系视图。

SELECT *FROM json_table(  '[ {"name": "Alice", "salary": 50000}, {"name": "Bob", "salary": 60000}   ]',  '$[*]'  COLUMNS ( name TEXT PATH '$.name', salary INT PATH '$.salary'  )) AS employee;

来源:谷歌博客

Percona 的技术布道者、《MySQL & JSON》一书的作者 Dave Stokes写道:

JSON_TABLE() 是 PostgreSQL 17 的一个重要新增功能。我们中那些处理大量 JSON 格式数据的人会大量使用它。

MotherDuck 的数据工程师兼开发人员倡导者 Mehdi Ouazza指出:

PostgreSQL 17 的最新版本悄无声息地淘汰了 NoSQL,也就是文档存储数据库。几年前,随着 Web 应用程序和 API 的爆炸式的增长(受益于 REST)以及 JSON 格式的使用,文档存储数据库很受欢迎。

MERGE 命令是另一个新增功能,它使开发人员能够在单个 SQL 语句中执行条件更新、插入或删除。这简化了数据操作,并通过减少查询次数来提高性能。在 Reddit 的一个热门帖子 中,用户 Goodie 评论道:

Postgres 成功地跨越了“每件事都只做一点点”的界限,并且不知何故,它总是站在做得很好的一边,这是极其罕见的。

云提供商已经开始支持该流行开源关系数据库的最新版本了。Amazon RDS 自去年 5 月以来一直 在预览环境中提供该版本,而谷歌云上的托管服务 Cloud SQL 最近也宣布 完全支持 PostgreSQL 17 的所有功能。

PostgreSQL 17 中的所有缺陷修复和改进都可以在 发布说明 中找到详细的说明。

作者介绍

Renato Losio 作为云架构师、技术主管和云服务专家拥有丰富的经验。目前,他住在柏林和的里雅斯特之间,作为首席云架构师远程工作。他的主要兴趣领域包括云服务和关系数据库。他是 InfoQ 的编辑,也是公认的 AWS 数据英雄。你可以在 LinkedIn 上与他联系。

原文链接:

https://www.infoq.com/news/2024/11/postgresql-17/

声明:本文由 InfoQ 翻译,未经许可禁止转载。

今日好文推荐

“前端”架构真的有必要存在吗?

C/C++ 大限将至?美政府给出最强硬要求:2026 年前关键软件必须开始全面去 C

受软件拖累,大众血亏155亿元:直接把奥迪、宾利、杜卡迪和兰博基尼等豪车利润抹平了

低级失误导致 Elasticsearch 仓库 404,7万多 star 一夜清空,网友:只是手滑了?!

活动推荐

2024 年收官之作:12 月 13 日 -14 日,AICon 全球人工智能开发与应用大会将在北京举办。从 RAG、Agent、多模态模型、AI Native 开发、具身智能,到 AI 智驾、性能优化与资源统筹等大热的 AI 大模型话题,60+ 资深专家共聚一堂,深度剖析相关落地实践案例,共话前沿技术趋势。大会火热报名中,详情可联系票务经理 13269078023 咨询。

InfoQ
为一线互联网公司核心技术人员提供优质内容。科技圈的观察者,前沿技术的传播者。
 最新文章