布鲁斯·蒙健:非易失性内存的承诺

布鲁斯·蒙健:非易失性内存的承诺

💡 原文英文,约1900词,阅读约需7分钟。
📝

内容提要

本文讨论Postgres数据库,认为持久性内存技术(如Optane)因DRAM和SSD进步而失败;MySQL因公司控制开发而衰落,无法与开源社区驱动的Postgres竞争;Postgres 19发布说明已完成初稿,含212项功能;AI工具可辅助代码审查和补全数据库注释。

🔎

延伸解读

持久性内存为何未能普及

文章指出,持久性内存技术(如PCM、3D XPoint、Optane)旨在让CPU可直接访问的内存具备持久性,从而简化数据库的持久性实现。然而,由于采用新硬件架构的复杂性,以及DRAM和NAND闪存在性能和价格上的持续改进,该技术最终被美光、英特尔放弃。尽管Linux内核仍支持CXL,但持久内存选项能否普及尚不明确。

MySQL衰落与Postgres崛起的关键

作者认为,MySQL的衰落源于其从一开始就由公司控制开发,而非社区驱动。尽管以开源形式分发,但开发是闭源的,外部补丁被重写以支持商业版本,大客户主导路线图。这种模式短期可借助公司资源推广,但长期无法与开源社区竞争。Postgres则因庞大活跃的社区,使任何公司试图控制或分叉都难以成功,最终必须跟随社区发展。

AI如何改变Postgres开发与使用

文章提到,AWS为Postgres提交者和核心团队组织了AI研讨会,使用Claude Code命令行工具进行代码分析、测试、基准测试和补丁审查。作者发现命令行版比网页版更强大,能发现博客和幻灯片中的语法错误。此外,在AI时代,数据库对象注释对MCP客户端理解模式至关重要,缺乏注释时,生成式AI可分析表数据自动生成注释,以帮助生成更优SQL查询。

Postgres 19发布进展与功能重点

作者已完成Postgres 19发布说明的初稿,包含212项功能,其中管理和监控功能尤为突出。目前初稿缺乏开发者社区反馈,仍需补充XML标记和链接。Beta 1计划在几个月内发布,最终版本预计在9月或10月。这表明Postgres 19在运维和可观测性方面有显著增强,值得数据库管理员关注。

Q&A

非易失性内存技术为什么最终失败了?

非易失性内存技术(如PCM、3D XPoint、Optane)旨在让CPU可访问的内存具备持久性,但最终失败。原因包括:采用新硬件架构的复杂性,以及DRAM和NAND(用于SSD)性能和价格的持续改进,使得该技术失去竞争力。Micron和Intel最终放弃了该努力。

MySQL为什么衰落,而Postgres却成功?

MySQL衰落源于其从一开始就由公司控制开发(MySQL AB),外部补丁被重写以货币化非GPL版本,大客户驱动路线图。这种公司控制的开发模式无法与开源社区驱动的Postgres竞争。Postgres拥有庞大、强大且动态的社区,公司难以控制,最终必须跟随社区。

Postgres 19的发布说明包含哪些内容?

Postgres 19发布说明已完成初稿,包含212项功能,其中有许多管理和监控功能。初稿缺乏开发者社区反馈,仍需更多XML标记和链接。Beta 1预计几个月后发布,最终版本计划在9月或10月。

AI如何帮助改进Postgres的代码审查和注释?

AI工具(如Claude Code)可以辅助代码审查、分析邮件线程、测试和基准测试。对于数据库注释,AI可以生成适当的注释,帮助MCP客户端更有效地匹配模式对象与用户请求,从而生成更好的SQL查询。

Postgres的WAL(预写日志)有什么作用?

WAL用于提供持久性,存储在操作系统可访问的持久存储上。它支持崩溃恢复和基于时间点恢复(PITR)等功能。理解崩溃恢复是理解PITR的基础。

Postgres目前缺少哪些功能?

根据演讲《What's Missing in Postgres?》,Postgres缺少的功能大多是性能相关的,而非功能相关的。

🏷️

标签

➡️

继续阅读