开源数据库 PostgreSQL 寰球开发组近日公布了 PostgreSQL 15,该最新版本强化了数据库操作性能,并进一步改良了包含排序等操作在内的本地和分布式部署的工作负载。
PostgreSQL 15 版本还增加了风行的 MERGE 命令、启用 zstd 和 LZ4 压缩反对,以及更多用于察看、调整数据库状态的性能。
值得一提的是,在此次公布的 PostgreSQL 15 版本中,HashData 研发工程师参加了多项代码奉献,成为推动 PostgreSQL 技术创新的要害力量。
零碎性能继续晋升
Postgre SQL 是一款功能强大的开源关系型数据库系统,其诞生三十余年来,凭借可靠性、可扩展性、弱小的功能集以及继续一直地更新,取得了泛滥开发者的欢送。
在最新版本中,PostgreSQL 优化了内存和磁盘的排序算法,基准测试显示依据排序的材料类型,可取得达 25%~400% 的性能减速。应用 row_number、rank、dense_rank 和 count 作为窗函数,在 PostgreSQL 15 也可取得性能劣势。同时,新版本 PostgreSQL 中也新增了对 SELECT DISTINCT 查问做平行执行的反对。
PostgreSQL 15 性能改良的领域也涵盖了存档和备份,减少了预写日志记录(WAL)文件对 LZ4 和 zstd 压缩反对。这对于特定工作负载来说,能够同时在空间和性能上取得益处,在局部操作系统中,PostgreSQL 15 还减少了 WAL 中援用预截取页面的反对,提供了更快的复原速度。
PostgreSQL 内置的备份指令 pg_basebackup,当初则开始反对服务器端的备份文件压缩,用户能够在 gzip、LZ4 和 zstd 中自由选择压缩计划。
另外,PostgreSQL 15 让用户能够应用自定义模块进行存档,以打消应用 shell 层命令的额定老本。
开发者性能更新方面,PostgreSQL 15 退出 SQL 规范 MERGE 指令,使开发者能够编写条件 SQL 语句。这些语句可在繁多语句中蕴含 INSERT、UPDATE 和 DELETE 操作。最新版本增加了应用正规表达式查看字符串的函数,诸如 regexp_count、regexp_instr、regexp_like 和 regexp_substr,为开发者进行检查和测试提供了更便当的环境。
PostgreSQL 减少了逻辑复写性能的灵活性,为发布者提供了列过滤和行列表性能,使用户能够抉择从表格中所要复制的材料子集。PostgreSQL 15 为用户提供了更多解决抵触的伎俩,例如跳过重播抵触交易,以及在侦测到谬误时,主动停用订阅性能等形式。
HashData 奉献要害力量
PostgreSQL 性能继续一直地改良和晋升,得益于其寰球开发者社区用户源源不断的奉献。
HashData 作为基于云原生架构的数据仓库,100% 兼容开源数据库 PostgreSQL 生态。同时,HashData 研发工程师长期沉闷于 PostgreSQL 社区,以各种模式积极参与社区的奉献中。
2022 年以来,HashData 数据库内核研发工程师张明礼 (Zhang Mingli) 参加奉献 PostgreSQL 代码达 16 次,包含 7 个 Author Commits,8 个 Review Commits,1 个 Report Commits。
其中不乏对一些 PostgreSQL15 中要害函数的修复。例如 The Internals of PostgreSQL(https://www.interdb.jp/pg/pgs…) 提到的 ExecChooseHashTableSize()。做 Hash Join 的时候,须要预估表空间的大小,在一些极其状况下,会导致程序解体。张明礼在 HashData 产品中发现了这个潜在的问题,并且胜利在 PostgreSQL 上进行了复现和修复。
HashData 数据库内核研发工程师张明礼奉献信息
始于开源,回馈开源。HashData 将立足于云原生数据仓库的研发和翻新,以当先的技术推动开源技术倒退,从开源使用者转向贡献者、引领者,打造出以云原生、分布式、剖析型为外围高性能数据计算平台,助力大数据产业蓬勃发展。