作者 | Richard MacManus
編譯 | 言征
出品 | 51CTO技術棧(微信號:blog51cto)
一家名為Tembo的公司鼓勵開發人員在Postgres之上進行構建,使用越來越多的Postgres擴展。
PostgreSQL(通常稱為Postgres)是一個流行的免費開源關系數據庫。多年來,它吸引了許多擴展和第三方工具,這激發了一家名為Tembo的公司構建“Postgres即平臺”服務——一種Postgres擴展和其他工具的市場。目標是使開發人員能夠“在Postgres上構建任何應用程序”。
圖片
為了理解這些問題,我采訪了微軟首席技術官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擴展可以將自然語言查詢轉換為SQL查詢——pg_human就是一個例子。他補充說,未來幾年,你可能可以使用自然語言直接與數據對話。
圖片
他說:“你最終想要的實際行為是,你所有的數據都整合在一個平臺上,你可以問它你想問的問題。”
“現在,今天,您使用SQL作為一種方法來實現這一點——但隨著時間的推移,隨著自然語言[processing]中新的SQL生成功能,我認為我們有可能達到這一點。”
3、為什么現在要做一個擴展市場?
最后,Sharma說,Tembo的目標是為Postgres創建一個“擴展市場”。他承認Postgres擴展已經存在了一段時間,但他認為現在是建立市場的合適時機,因為有越來越多的擴展開發人員,但他們的產品沒有得到足夠的利用。
他說:“很難為擴展找到文檔,很難找到擴展本身,很難判斷它們的成熟度。”
“因此,就生態系統的成熟而言,供應商承擔起這一責任是很重要的。”Tembo似乎想成為Postgres擴展的默認供應商。
原文鏈接:https://thenewstack.io/how-devs-can-use-postgres-extensions-including-for-ai-apps/