作者 | Richard MacManus
編譯 | 言征
出品 | 51CTO技術棧(微信號:blog51cto)
一家名為Tembo的公司鼓勵開發(fā)人員在Postgres之上進行構建,使用越來越多的Postgres擴展。
PostgreSQL(通常稱為Postgres)是一個流行的免費開源關系數(shù)據(jù)庫。多年來,它吸引了許多擴展和第三方工具,這激發(fā)了一家名為Tembo的公司構建“Postgres即平臺”服務——一種Postgres擴展和其他工具的市場。目標是使開發(fā)人員能夠“在Postgres上構建任何應用程序”。
圖片
為了理解這些問題,我采訪了微軟首席技術官Samay Sharma,他之前在微軟管理一個由Postgres提交者和貢獻者組成的團隊。
Tembo將自己宣傳為“在一個統(tǒng)一的平臺內運行Postgres及其整個生態(tài)系統(tǒng)的托管云——擴展、應用程序、工具等等?!钡玈harma特別想強調的是擴展。
他告訴我:“在我看來,現(xiàn)在是擴展占據(jù)中心地位并推動在Postgres之上構建的變革性應用程序的時候了?!?/p>
他補充道,“數(shù)據(jù)庫擴張”對開發(fā)人員來說是一個日益嚴重的問題——一個組織中有多個數(shù)據(jù)庫,但并非所有數(shù)據(jù)庫都兼容。Sharma認為“大多數(shù)這些問題都可以通過Postgres的幾個擴展來解決?!?/p>
1、特定應用程序Postgres,包括AI應用程序
Sharma承認,Postgres當然不缺乏托管服務提供商。但Tembo的目標是提供一個“特定于應用程序的Postgres”,其中擴展是服務的重要組成部分。
“我們還根據(jù)您的應用程序需求、工作負載等對Postgres進行了不同的調整,”他繼續(xù)說道。
目標是幫助不是數(shù)據(jù)庫專家的應用程序開發(fā)人員充分利用Postgres??紤]到我們正處于生成人工智能的時代,它有自己的數(shù)據(jù)需求——比如在LLM處理內容之前和之后使用矢量數(shù)據(jù)庫來優(yōu)化內容——我問Tembo是如何應對人工智能趨勢的。
“Postgres有一個擴展名為pgvector,”Sharma解釋道。
“這樣你就可以在現(xiàn)有的表中添加一個簡單的數(shù)據(jù)類型vector。所以,即使你有現(xiàn)有的數(shù)據(jù)行,你也可以添加一個vector數(shù)據(jù)類型——這是一個轉換的嵌入?!彼a充道,在Tembo,他們已經(jīng)構建了一個名為pg_vectorize的擴展,他說“可以讓你從Postgres中獲取OpenAI嵌入?!?/p>
他指出,以前的擴展只能用C編寫,但現(xiàn)在它們也可以用Rust編寫。該擴展采用Postgres列“,然后查詢OpenAI,生成嵌入,并將其存儲在數(shù)據(jù)庫旁邊,只需一個函數(shù)調用?!?/p>
除了pg_vectorize,Tembo還提供了200多個其他擴展。受用戶歡迎的擴展包括地理空間、數(shù)據(jù)倉庫和“近似聚合算法”。在數(shù)據(jù)倉庫方面,Sharma指出,使用Postgres擴展的吸引力之一是,它是使用大型提供商的解決方案的一種具有成本效益的替代方案(他提到Snowflake作為一個例子)。他說:“從歷史上看,擁有少量數(shù)據(jù)的開發(fā)人員不得不使用昂貴的技術[…],遠遠超出了他們目前的需求。”。
Sharma說,Tembo的目標是“瓦解數(shù)據(jù)堆?!?,這樣“你就可以使用一個平臺來獲得你需要的任何類型的數(shù)據(jù)庫,而不是去找15家供應商,購買15個不同的數(shù)據(jù)庫,然后學習如何將它們拼湊在一起?!?/p>
2、使用AI來生成SQL
我提到過,一些開發(fā)人員正在使用大型語言模型或Copilot產品將他們使用的任何編程語言翻譯成SQL。或者,來使用AI來改進他們的SQL查詢。我問Tembo是否有這種功能。
他證實道,的確有Postgres擴展可以將自然語言查詢轉換為SQL查詢——pg_human就是一個例子。他補充說,未來幾年,你可能可以使用自然語言直接與數(shù)據(jù)對話。
圖片
他說:“你最終想要的實際行為是,你所有的數(shù)據(jù)都整合在一個平臺上,你可以問它你想問的問題?!?/p>
“現(xiàn)在,今天,您使用SQL作為一種方法來實現(xiàn)這一點——但隨著時間的推移,隨著自然語言[processing]中新的SQL生成功能,我認為我們有可能達到這一點?!?/p>
3、為什么現(xiàn)在要做一個擴展市場?
最后,Sharma說,Tembo的目標是為Postgres創(chuàng)建一個“擴展市場”。他承認Postgres擴展已經(jīng)存在了一段時間,但他認為現(xiàn)在是建立市場的合適時機,因為有越來越多的擴展開發(fā)人員,但他們的產品沒有得到足夠的利用。
他說:“很難為擴展找到文檔,很難找到擴展本身,很難判斷它們的成熟度。”
“因此,就生態(tài)系統(tǒng)的成熟而言,供應商承擔起這一責任是很重要的?!盩embo似乎想成為Postgres擴展的默認供應商。
原文鏈接:https://thenewstack.io/how-devs-can-use-postgres-extensions-including-for-ai-apps/