布鲁斯·莫姆吉安:全新演讲

布鲁斯·莫姆吉安:全新演讲

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

内容提要

作者博文主要讨论Postgres:介绍AI写SQL、MCP服务器等演讲;回顾持久内存技术的失败;记录AWS为Postgres核心团队举办AI工作坊;完成Postgres 19发布说明初稿;强调数据库注释对AI理解模式的价值;并分析MySQL因公司控制开发而衰落,而Postgres社区强大难以被控制。

🔎

延伸解读

持久内存的失败与数据库架构的惯性

文章回顾了持久内存技术(PCM、3D XPoint、Optane、非易失CXL)二十多年的尝试最终被美光、英特尔放弃。作者指出,尽管该技术能让CPU直接访问持久内存,简化Postgres依赖WAL和OS存储的持久性设计,但新硬件架构的采用复杂性,加上DRAM和NAND性能提升与价格下降,最终使尝试失败。这提醒读者,数据库底层架构的变革不仅取决于技术先进性,还受制于生态成本和替代方案的进步。

AI工具在Postgres开发流程中的实际角色

AWS为Postgres核心团队举办的AI工作坊展示了Claude Code在命令行下的应用:分析文件、自动化工作流、测试、基准测试、生成概念验证补丁,以及改进邮件线程分析和补丁审查。作者认为命令行版本比网页版更强大,并实际用于检查博客和幻灯片的语法、排版错误及网站不一致。这表明AI正被嵌入开源数据库的日常维护环节,而非仅作为演示工具。

数据库注释:AI理解模式的新价值

文章强调,Postgres的COMMENT命令过去被视为锦上添花,但在AI时代,MCP客户端等新消费者需要理解数据库模式。没有注释时,AI只能依赖模式、对象名和约束;有了注释,用户可以提供额外信息,帮助AI更准确地将模式对象匹配到用户请求,从而生成更好的SQL。作者还提出,如果用户不愿添加注释,生成式AI或许能通过分析表数据自动生成。这为DBA提供了低成本提升AI查询质量的切入点。

MySQL衰落与Postgres社区力量的对比

作者认为MySQL的衰落根源在于从一开始就由MySQL AB公司控制开发,外部补丁被重写以支持非GPL版本商业化,大客户驱动路线图。这种公司控制模式短期可靠营销和资金掩盖问题,但长期无法与开源社区竞争。相反,Postgres社区规模大、活力强,公司无论“分叉并运行”还是“分叉并跟随”,最终都因与社区差距过大而不得不合并社区变更。这解释了为何Postgres难以被单一公司控制,也预示MySQL复兴可能性低。

❓

Q&A

AI写SQL的效果如何?有什么方法能帮助AI写出更好的SQL查询?

布鲁斯·莫姆吉安在Foss4g North America的演讲《Can AI Write Sql?》中探讨了AI编写SQL查询的能力以及如何帮助AI更有效地编写SQL。该演讲是《Building an Mcp Server Using Postgres》的后续,具体效果未在文中详细说明,但强调了帮助AI提升SQL编写效果的方向。

持久内存技术(如Optane、3D XPoint)为什么最终失败了?

持久内存技术旨在让CPU可访问的内存具备持久性,以简化数据库的持久性实现。但采用新硬件架构的复杂性,加上DRAM和NAND(SSD所用)性能和价格的改善,最终导致该尝试失败。Micron和Intel放弃了该技术,尽管CXL仍被Linux内核支持,但持久内存选项能否普及尚不确定。

AWS为Postgres核心团队举办的AI工作坊内容是什么?

AWS在匹兹堡为员工和Postgres提交者及核心团队举办了为期三天的AI工作坊。第一天介绍Claude的基础设置及如何从命令行使用它分析文件和自动化工作流,并讨论AI自动化工作流如何用于测试、基准测试和创建概念验证补丁。第二天动手设置Claude Code,讨论如何修改源码树以改进AI使用,以及改进分析邮件线程和审查补丁的工作流。第三天选取各种bug报告,用AI改进邮件线程分析和补丁审查。

数据库注释对AI理解数据库模式有什么价值?

在AI时代,MCP客户端等新工具需要理解数据库模式。没有数据库对象注释时,MCP客户端只能使用模式、对象名称和约束。有了注释,数据库用户可以提供有价值的信息,帮助MCP客户端更有效地将模式对象与用户请求匹配,并可能生成更好的SQL查询。如果用户不想添加注释,生成式AI或许可以通过分析表中的数据来创建合适的注释。

MySQL为什么衰落?与Postgres的社区模式有何对比?

MySQL衰落根源在于其从一开始就由公司控制开发(先MySQL AB,后Sun和Oracle),外部提交的补丁被重写以便 monetize 非GPL版本,大客户驱动路线图。公司控制的开发无法长期与开源社区竞争,短期支出可掩盖问题但难以持续。而Postgres社区庞大、强大且充满活力,许多公司试图通过fork控制它(fork and run或fork and follow)都失败了,因为社区与公司开发之间的差距最终会过大,迫使公司合并社区变更,从而保持与Postgres生态的紧密联系。

Postgres 19的发布说明初稿包含哪些信息?

布鲁斯·莫姆吉安已完成Postgres 19发布说明的初稿,包含最少的开发者社区反馈,仍需更多XML标记和链接。今年他创建了一个维基页面解释所用流程。发布说明的功能数量为212个,包括强大的管理和监控功能列表。Postgres 19 Beta 1预计几个月后发布,最终版本计划在今年9月/10月发布。

🏷️

标签

➡️

继续阅读