PostgreSQL 17重磅登场——世界上最成功的数据库
朋友们,万众期待的 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重磅登场——世界上最成功的数据库的更多相关文章
- 专注做好一件事(转) focus---这个世界上最成功的人,他们在某一领域获得成功之后,可通过经营杠杆进入任何他们想要涉足的领域。而这都得依赖于他们曾极致的专注在做好一件事情上。
- 为什么我会认为SAP是世界上最好用最牛逼的ERP系统,没有之一?
为什么我认为SAP是世界上最好用最牛逼的ERP系统,没有之一?玩过QAD.Tiptop.用友等产品,深深觉得SAP是贵的有道理! 一套好的ERP系统,不仅能够最大程度承接适配企业的管理和业务流程,在技 ...
- Git是目前世界上最先进的分布式版本控制系统
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以 ...
- JavaScript: 世界上最被误解的语言|Douglas Crockford
JavaScript: 世界上最被误解的语言 JavaScript: The Wrrrld's Most Misunderstood Programming Language Douglas Croc ...
- 世界上最好的语言搭建短链接及统计功能(附API代码)
前言 在这个营销的时代,短链接和二维码是企业进行营销中非常重要的工具,不仅仅是缩短了链接,而且还可以通过扩展获得更多的数据,诸如点击数.下载量.来源以及时间等等. 网上搜寻了一下比较有名有U.NU和0 ...
- 用Visual Studio Code Debug世界上最好的语言(Mac篇)
用Visual Studio Code Debug世界上最好的语言(Mac篇) 首先,你要有台Macbook Pro,接着才继续看这个教程. PS:Windows用户看这里用Visual Studio ...
- Spark 灰度发布在十万级节点上的成功实践 CI CD
原创文章,转载请务必将下面这段话置于文章开头处. 本文转发自技术世界,原文链接 http://www.jasongj.com/spark/ci_cd/ 本文所述内容基于某顶级互联网公司数万节点下 Sp ...
- 世界上最好的Sed教程
这是一份世界上最好的sed教程,sed是unix系统下流编辑里的超人.最初我写这份说明是为了我的 第二本电子书,然而随后我决定把这份说明变成一本免费电子书预览的同时再次做为文章发布到这里. Sed说明 ...
- 软件公司的两种管理方式 总体来说,这个世界上存在两种不同的软件公司的组织结构。我把他们叫做 Widget Factory(小商品工厂) 和 Film Crews(电影工作组
软件公司的两种管理方式 一个简单的回答应该是——“因为在我们的社会里,我们总是会认为薪水和会和职位的层次绑在一起”.但是,这个答案同时也折射出一个事实——我们的薪资是基于我们的所理解的价值,但这并没有 ...
- hdu4515小Q系列故事——世界上最遥远的距离
Problem Description 世界上最遥远的距离 不是生与死 而是我就站在你面前 你却不知道我爱你 世界上最遥远的距离 不是我就站在你面前你却不知道我爱你 而是明明知道彼此相爱 却不能在一起 ...
随机推荐
- pip install --user 使用方法和注意事项——python中安装module库到用户packages路径中
pip install --user 是python中安装module库到用户packages路径中的方法. 参考: https://blog.csdn.net/The_Time_Runner/a ...
- mendeley存储是有限的吗
用了mendeley好多年,总是有一个疑问,那就是这东西的云存储空间是不是有限的,如果是有限的话那么上限是多少?这东西不论是app还是桌面端都没有这个空间信息的大小,但是这东西必然是有上限的,那么这个 ...
- 02-canvas注意点
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...
- 瑞芯微rk356x板子快速上手
@ 目录 rk3568 CPU GPU NPU VPU 一.编译环境要求 二.编译前准备 0)开发板型号 1)安装第三方编译工具 2)设置adb路径 3)安装USB驱动DriverAssitant_v ...
- C程序起点main函数
C程序起点main函数 main c语言中main函数接收两个参数int argc, char* argv[] int main(int argc, char* argv[]); int main(i ...
- Mac 右键菜单中出现多个 Edge 版本解决方法
cd "/Applications/Microsoft Edge.app/Contents/Frameworks/Microsoft Edge Framework.framework/Ver ...
- python pyqt6 QMainWindow 使用QComboBox 窗口移位
QMainWindow 可拖拽移动,但是点击QComboBox 时,窗口有时会误识别为拖拽移动,导致窗口自动移动位置 在QMainWindow中,新增事件筛选器 # 避免点击QComboBox时,窗 ...
- C语言指针进阶
目录 字符指针 指针数组 数组指针 数组指针的定义 &数组名VS数组名 数组指针的使用 数组参数.指针参数 一维数组传参 二维数组传参 一级指针传参 二级指针传参 一级指针 二级指针 数组指针 ...
- 【YashanDB知识库】23.1.3.101版本创建物化视图coredump
[标题]23.1.3.101版本创建物化视图coredump [问题分类]数据库错误 [关键词]YashanDB, 物化视图, coredump, dblink [问题描述]在23.1.3.101版本 ...
- 游戏AI行为决策——GOAP(目标导向型行动规划)
游戏AI行为决策--GOAP(附代码与项目) 新的一年即将到来,感觉还剩一种常见的游戏AI决策方法不讲的话,有些过意不去.就在这年的尾巴与大家一起交流下「目标导向型行为规划(GOAP)」吧! 另外,我 ...