开发者如何使用Postgres扩展,包括AI应用?

作者 | Richard macManus
编译 | 言征
一家名为Tembo的公司鼓励开发人员在Postgres之上进行构建,使用越来越多的Postgres扩展 。
PostgreSQL(通常称为Postgres)是一个流行的免费开源关系数据库 。多年来 , 它吸引了许多扩展和第三方工具,这激发了一家名为Tembo的公司构建“Postgres即平台”服务——一种Postgres扩展和其他工具的市场 。目标是使开发人员能够“在Postgres上构建任何应用程序” 。

开发者如何使用Postgres扩展,包括AI应用?

文章插图
为了理解这些问题 , 我采访了微软首席技术官Samay Sharma,他之前在微软管理一个由Postgres提交者和贡献者组成的团队 。
Tembo将自己宣传为“在一个统一的平台内运行Postgres及其整个生态系统的托管云——扩展、应用程序、工具等等 。”但Sharma特别想强调的是扩展 。
他告诉我:“在我看来,现在是扩展占据中心地位并推动在Postgres之上构建的变革性应用程序的时候了 。”
他补充道 , “数据库扩张”对开发人员来说是一个日益严重的问题——一个组织中有多个数据库,但并非所有数据库都兼容 。Sharma认为“大多数这些问题都可以通过Postgres的几个扩展来解决 。”
1、特定应用程序Postgres,包括AI应用程序Sharma承认,Postgres当然不缺乏托管服务提供商 。但Tembo的目标是提供一个“特定于应用程序的Postgres”,其中扩展是服务的重要组成部分 。
“我们还根据您的应用程序需求、工作负载等对Postgres进行了不同的调整,”他继续说道 。
目标是帮助不是数据库专家的应用程序开发人员充分利用Postgres 。考虑到我们正处于生成人工智能的时代,它有自己的数据需求——比如在LLM处理内容之前和之后使用矢量数据库来优化内容——我问Tembo是如何应对人工智能趋势的 。
“Postgres有一个扩展名为pgvector,”Sharma解释道 。
“这样你就可以在现有的表中添加一个简单的数据类型vector 。所以,即使你有现有的数据行,你也可以添加一个vector数据类型——这是一个转换的嵌入 。”他补充道 , 在Tembo,他们已经构建了一个名为pg_vectorize的扩展,他说“可以让你从Postgres中获取OpenAI嵌入 。”
他指出,以前的扩展只能用C编写,但现在它们也可以用Rust编写 。该扩展采用Postgres列“ , 然后查询OpenAI , 生成嵌入,并将其存储在数据库旁边,只需一个函数调用 。”
除了pg_vectorize , Tembo还提供了200多个其他扩展 。受用户欢迎的扩展包括地理空间、数据仓库和“近似聚合算法” 。在数据仓库方面,Sharma指出,使用Postgres扩展的吸引力之一是,它是使用大型提供商的解决方案的一种具有成本效益的替代方案(他提到Snowflake作为一个例子) 。他说:“从历史上看,拥有少量数据的开发人员不得不使用昂贵的技术[…],远远超出了他们目前的需求 。” 。
Sharma说 , Tembo的目标是“瓦解数据堆栈”,这样“你就可以使用一个平台来获得你需要的任何类型的数据库,而不是去找15家供应商,购买15个不同的数据库,然后学习如何将它们拼凑在一起 。”
2、使用AI来生成SQL我提到过 , 一些开发人员正在使用大型语言模型或Copilot产品将他们使用的任何编程语言翻译成SQL 。或者,来使用AI来改进他们的SQL查询 。我问Tembo是否有这种功能 。
【开发者如何使用Postgres扩展,包括AI应用?】他证实道,的确有Postgres扩展可以将自然语言查询转换为SQL查询——pg_human就是一个例子 。他补充说,未来几年,你可能可以使用自然语言直接与数据对话 。
开发者如何使用Postgres扩展,包括AI应用?

文章插图
他说:“你最终想要的实际行为是,你所有的数据都整合在一个平台上 , 你可以问它你想问的问题 。”
“现在,今天,您使用SQL作为一种方法来实现这一点——但随着时间的推移 , 随着自然语言[processing]中新的SQL生成功能,我认为我们有可能达到这一点 。”
3、为什么现在要做一个扩展市?。?/h1>最后,Sharma说,Tembo的目标是为Postgres创建一个“扩展市场” 。他承认Postgres扩展已经存在了一段时间 , 但他认为现在是建立市场的合适时机,因为有越来越多的扩展开发人员,但他们的产品没有得到足够的利用 。


推荐阅读