朋友们,万众期待的 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 的多功能性、强大的性能和灵活性,使其逐渐超越其他数据库,成为各类开发者和企业的首选工具,并继续保持增长的势头。