AI News HubLIVE
站内改写2 分鐘閱讀

BlitzGraph:為LLM代理構建的圖資料庫,Supabase的圖替代方案

BlitzGraph 是一個專為 AI 代理設計的圖資料庫,支援多型別實體、雙向關係和型別化 JSON 查詢語言 BQL。它主張用實體和關係建模現實,而非表格,並提供了全文搜尋、引用完整性、智慧事務等內建功能,旨在成為 Supabase 的圖版本。

來源Hacker News AI作者: lveillard

BlitzGraph 是一款專為大型語言模型代理設計的圖資料庫,其核心理念是用實體和關係來建模現實,而非傳統的表格。它提供了多型別實體、雙向關係、型別化 JSON 查詢語言(BQL)等一系列特性,旨在解決現有資料庫在代理場景下的痛點。

核心特性

  • 多型別實體:一個實體可以同時擁有多種型別,比如一個使用者既可以是一般使用者,也可以是管理員和版主。實體隨時間的推移透過獲得和失去型別來演化,無需修改表結構或進行遷移。
  • 雙向關係:關係在儲存時同時維護兩個方向,因此查詢“誰寫了這篇文章”和“這個使用者寫了什麼”具有相同的成本和索引效率(O(1)),無需反向查詢表或額外查詢。
  • BQL 查詢語言:BlitzGraph 的查詢語言 BQL 基於型別化 JSON,代理和程式碼構建的是結構化資料物件,而非 SQL 字串。BQL 支援過濾器、巢狀展開、投影和全文搜尋,在一個請求中完成,避免了 N+1 問題。
  • 豐富的內容型別:支援 EMAIL、URL、DATE、JSON、FLEX 等型別,而非單一的 varchar,資料庫層面內建驗證,讓模式更準確地描述資料。
  • 引用完整性:引擎層面強制執行基數約束和 onDelete 策略(級聯、限制、取消連結),保持圖的預設一致性。
  • 內建全文搜尋:原生的 BM25 搜尋引擎,支援自動補全、字首、精確和全詞幹模式,無需 Elasticsearch 等外部服務,且可在圖遍歷中使用。
  • 智慧事務:變更操作經過拓撲排序,並在最終結果上驗證,而非逐行執行。業務規則檢查整個事務的最終狀態,確保複雜多實體操作要麼全部成功,要麼全部回滾,始終一致。
  • 資料庫中的業務邏輯:驗證、計算欄位、轉換和效果都在模式中定義,業務規則與資料共存,而非分散在中介軟體和應用程式碼中。

與其他資料庫的對比

BlitzGraph 與 Supabase、Convex、MongoDB、Firebase 和 Neo4j 進行了對比。它在多型別組合、雙向 O(1) 反向查詢、代理沙箱等方面具有獨特性。在資料模型上,它在一個引擎中融合了圖、文件和關係特性,支援巢狀圖讀取($expand)、引用完整性、內建全文搜尋、內容型別驗證以及檔案原生值。開發者體驗方面,BQL 是代理可組合的結構化查詢,業務邏輯可直接嵌入模式,智慧事務確保拓撲一致。

然而,在即時/直播查詢、生產年限和社群生態方面,Supabase、Convex、Firebase 等目前更具優勢。BlitzGraph 坦誠地指出了這些差距。

適用場景

BlitzGraph 特別適合需要複雜實體關係建模的應用,尤其是 AI 代理需要自主查詢和運算元據的場景。其設計目標包括:減少代理生成錯誤查詢的機率、消除實體演化時的遷移痛苦、以及提供與真實世界關係一致的資料模型。對於需要頻繁變更模式或處理多型實體的團隊,BlitzGraph 提供了一個有力的替代方案。